UniversalPana::UniversalPana(KInstance *inst,QObject *parent,QWidget *widgetParent, QString &desktopName, const char* name): KonqSidebarPlugin(inst,parent,widgetParent,desktopName,name) { KGlobal::iconLoader()->addAppDir( "pana" ); widget = new panaWidget( widgetParent ); // widgetParent->resize(580,300); KToolBar *topBar = new KToolBar( widget, "Topbar" ); topBar->setIconSize(16); topBar->insertButton( "today", 0, SIGNAL( clicked() ), this, SLOT( currentTrack() ) ); topBar->insertButton( "document", 0, SIGNAL( clicked() ), this, SLOT( lyrics() ) ); topBar->insertButton( "personal", 0, SIGNAL( clicked() ), this, SLOT( wiki() ) ); browser = new KHTMLPart(widget, "widget-browser"); //browser=new KHTMLPart(widget); kdDebug() << "parentPart() << " << browser->parentPart() << endl; browser->setDNDEnabled( true ); browser->setEncoding( "utf8", true ); updateBrowser( HTML_FILE ); browser->view()->installEventFilter( widget ); panaDCOP = new DCOPClient(); panaDCOP->attach(); playerStub = new PanaPlayerInterface_stub( panaDCOP, "pana", "player"); playlistStub = new PanaPlaylistInterface_stub( panaDCOP, "pana", "playlist"); contextStub = new PanaContextBrowserInterface_stub (panaDCOP, "pana", "contextbrowser"); KToolBar* toolBar=new KToolBar(widget, "PlayerControls"); toolBar->setIconSize(16); toolBar->insertButton( "player_start",0, SIGNAL( clicked() ), this, SLOT( sendPrev() ) ); toolBar->insertButton( "player_play", 0, SIGNAL( clicked() ), this, SLOT( sendPlay() ) ); toolBar->insertButton( "player_pause",0, SIGNAL( clicked() ), this, SLOT( sendPause() ) ); toolBar->insertButton( "player_stop", 0, SIGNAL( clicked() ), this, SLOT( sendStop() ) ); toolBar->insertButton( "player_end", 0, SIGNAL( clicked() ), this, SLOT( sendNext() ) ); toolBar->insertSeparator(); toolBar->insertButton( "arts", 0, SIGNAL( clicked() ), this, SLOT( sendMute() ) ); vol_slider = new QSlider(0,100,1,0,Qt::Horizontal, toolBar,"volume"); vol_slider->setLineStep(2); connect(vol_slider, SIGNAL( valueChanged(int) ), this, SLOT(volChanged(int ) ) ); toolBar->insertWidget(1,2, vol_slider); fileInfo = new QFileInfo(HTML_FILE); QTimer *t = new QTimer( this ); connect( t, SIGNAL(timeout()), SLOT(updateStatus() ) ); t->start( 2000, false ); kdDebug() << "Connecting widget signal" << endl; connect( widget, SIGNAL( emitURL( const KURL &)), this, SLOT( openURLRequest( const KURL &) ) ); connect( browser->browserExtension(), SIGNAL( openURLRequest( const KURL &, const KParts::URLArgs & ) ), this, SLOT( openURLRequest( const KURL & ) ) ); widget->show(); }
void KHelpMain::createToolbar() { QPixmap pixmap; QString pmpath; KToolBar *tb = new KToolBar( this ); pixmap = kapp->getIconLoader()->loadIcon( "back.xpm" ); tb->insertButton(pixmap, 0, SIGNAL( clicked() ), helpwin, SLOT( slotBack() ), FALSE, klocale->translate("Previous Document")); pixmap = kapp->getIconLoader()->loadIcon( "forward.xpm" ); tb->insertButton(pixmap, 1, SIGNAL( clicked() ), helpwin, SLOT( slotForward() ), FALSE, klocale->translate("Next Document")); tb->insertSeparator(); pixmap = kapp->getIconLoader()->loadIcon( "prev.xpm" ); tb->insertButton(pixmap, 2, SIGNAL( clicked() ), helpwin, SLOT( slotPrev() ), FALSE, klocale->translate("Previous Node")); pixmap = kapp->getIconLoader()->loadIcon( "next.xpm" ); tb->insertButton(pixmap, 3, SIGNAL( clicked() ), helpwin, SLOT( slotNext() ), FALSE, klocale->translate("Next Node")); pixmap = kapp->getIconLoader()->loadIcon( "up.xpm" ); tb->insertButton(pixmap, 4, SIGNAL( clicked() ), helpwin, SLOT( slotUp() ), FALSE,klocale->translate( "Up one Node")); pixmap = kapp->getIconLoader()->loadIcon( "top.xpm" ); tb->insertButton(pixmap, 5, SIGNAL( clicked() ), helpwin, SLOT( slotTop() ), FALSE, klocale->translate("Top Node")); tb->insertSeparator(); pixmap = kapp->getIconLoader()->loadIcon( "contents.xpm" ); tb->insertButton(pixmap, 6, SIGNAL( clicked() ), helpwin, SLOT( slotDir() ), FALSE, klocale->translate("Help Contents")); pixmap = kapp->getIconLoader()->loadIcon( "reload.xpm" ); tb->insertButton(pixmap, 7, SIGNAL( clicked() ), helpwin, SLOT( slotReload() ), TRUE, klocale->translate( "Reload current document" ) ); pixmap = kapp->getIconLoader()->loadIcon( "stop.xpm" ); tb->insertButton(pixmap, 8, SIGNAL( clicked() ), helpwin, SLOT( slotStopProcessing() ), FALSE, klocale->translate("Stop")); tb->setBarPos( KToolBar::Top ); toolbar = tb; }
MainWindow::MainWindow( QWidget* parent, const char *name, WFlags f ) : KMainWindow( parent, name, f ) { KToolBar *toolBar = new KToolBar( this ); toolBar->insertButton("fileopen", Add, true, i18n("Add") ); toolBar->insertButton("no", Remove, true, i18n("Remove") ); toolBar->insertButton("reload", Refresh, true, i18n("Refresh") ); connect( toolBar, SIGNAL(clicked(int)), this, SLOT(toolButton(int)) ); m_list = new KListBox( this ); setCentralWidget(m_list); m_pluginManager = new PluginManager; m_list->insertStringList(m_pluginManager->items()); }
int MenuAction::plug( QWidget *w, int index ) { KToolBar *bar = dynamic_cast<KToolBar*>(w); if( bar && kapp->authorizeKAction( name() ) ) { const int id = KAction::getToolButtonID(); addContainer( bar, id ); connect( bar, SIGNAL( destroyed() ), SLOT( slotDestroyed() ) ); //TODO create menu on demand //TODO create menu above and aligned within window //TODO make the arrow point upwards! bar->insertButton( QString::null, id, true, i18n( "Menu" ), index ); bar->alignItemRight( id ); KToolBarButton* button = bar->getButton( id ); button->setPopup( Amarok::Menu::instance() ); button->setName( "toolbutton_amarok_menu" ); button->setIcon( "amarok" ); return containerCount() - 1; } else return -1; }
int StopAction::plug( QWidget *w, int index ) { KToolBar *bar = dynamic_cast<KToolBar*>(w); if( bar && kapp->authorizeKAction( name() ) ) { const int id = KAction::getToolButtonID(); addContainer( bar, id ); connect( bar, SIGNAL( destroyed() ), SLOT( slotDestroyed() ) ); bar->insertButton( QString::null, id, SIGNAL( clicked() ), EngineController::instance(), SLOT( stop() ), true, i18n( "Stop" ), index ); KToolBarButton* button = bar->getButton( id ); button->setDelayedPopup( Amarok::StopMenu::instance() ); button->setName( "toolbutton_stop_menu" ); button->setIcon( Amarok::icon( "stop" ) ); button->setEnabled( EngineController::instance()->engine()->loaded() ); // Disable button at startup return containerCount() - 1; } else return KAction::plug( w, index ); }
int BurnMenuAction::plug( QWidget *w, int index ) { KToolBar *bar = dynamic_cast<KToolBar*>(w); if( bar && kapp->authorizeKAction( name() ) ) { const int id = KAction::getToolButtonID(); addContainer( bar, id ); connect( bar, SIGNAL( destroyed() ), SLOT( slotDestroyed() ) ); bar->insertButton( QString::null, id, true, i18n( "Burn" ), index ); KToolBarButton* button = bar->getButton( id ); button->setPopup( Amarok::BurnMenu::instance() ); button->setName( "toolbutton_burn_menu" ); button->setIcon( "k3b" ); return containerCount() - 1; } else return -1; }
CoverManager::CoverManager() : QSplitter( 0, "TheCoverManager" ) , m_timer( new QTimer( this ) ) //search filter timer , m_fetchCounter( 0 ) , m_fetchingCovers( 0 ) , m_coversFetched( 0 ) , m_coverErrors( 0 ) { DEBUG_BLOCK s_instance = this; // Sets caption and icon correctly (needed e.g. for GNOME) kapp->setTopWidget( this ); setCaption( kapp->makeStdCaption( i18n("Cover Manager") ) ); setWFlags( WDestructiveClose ); setMargin( 4 ); //artist listview m_artistView = new KListView( this ); m_artistView->addColumn(i18n( "Albums By" )); m_artistView->setFullWidth( true ); m_artistView->setSorting( -1 ); //no sort m_artistView->setMinimumWidth( 180 ); KListViewItem *item = new KListViewItem( m_artistView, i18n( "All Albums" ) ); item->setPixmap( 0, SmallIcon("cdrom_unmount") ); //load artists from the collection db const QStringList artists = CollectionDB::instance()->artistList( false, false ); foreach( artists ) { item = new KListViewItem( m_artistView, item, *it ); item->setPixmap( 0, SmallIcon("personal") ); } QueryBuilder qb; qb.addReturnValue( QueryBuilder::tabAlbum, QueryBuilder::valName ); qb.setOptions( QueryBuilder::optOnlyCompilations | QueryBuilder::optRemoveDuplicates ); qb.setLimit( 0, 1 ); if ( qb.run().count() ) { item = new KListViewItem( m_artistView, item, i18n( "Various Artists" ) ); item->setPixmap( 0, SmallIcon("personal") ); } QVBox *vbox = new QVBox( this ); QHBox *hbox = new QHBox( vbox ); vbox->setSpacing( 4 ); hbox->setSpacing( 4 ); { //<Search LineEdit> QHBox *searchBox = new QHBox( hbox ); KToolBar* searchToolBar = new Browser::ToolBar( searchBox ); KToolBarButton *button = new KToolBarButton( "locationbar_erase", 0, searchToolBar ); m_searchEdit = new ClickLineEdit( i18n( "Filter here..." ), searchToolBar ); m_searchEdit->setFrame( QFrame::Sunken ); searchToolBar->setStretchableWidget( m_searchEdit ); connect( button, SIGNAL(clicked()), m_searchEdit, SLOT(clear()) ); QToolTip::add( button, i18n( "Clear filter" ) ); QToolTip::add( m_searchEdit, i18n( "Enter space-separated terms to filter albums" ) ); hbox->setStretchFactor( searchBox, 1 ); } //</Search LineEdit> // view menu m_viewMenu = new KPopupMenu( this ); m_viewMenu->insertItem( i18n("All Albums"), AllAlbums ); m_viewMenu->insertItem( i18n("Albums With Cover"), AlbumsWithCover ); m_viewMenu->insertItem( i18n("Albums Without Cover"), AlbumsWithoutCover ); m_viewMenu->setItemChecked( AllAlbums, true ); connect( m_viewMenu, SIGNAL( activated(int) ), SLOT( changeView(int) ) ); #ifdef AMAZON_SUPPORT // amazon locale menu m_amazonLocaleMenu = new KPopupMenu( this ); m_amazonLocaleMenu->insertItem( i18n("International"), International ); m_amazonLocaleMenu->insertItem( i18n("Canada"), Canada ); m_amazonLocaleMenu->insertItem( i18n("France"), France ); m_amazonLocaleMenu->insertItem( i18n("Germany"), Germany ); m_amazonLocaleMenu->insertItem( i18n("Japan"), Japan); m_amazonLocaleMenu->insertItem( i18n("United Kingdom"), UK ); connect( m_amazonLocaleMenu, SIGNAL( activated(int) ), SLOT( changeLocale(int) ) ); #endif KToolBar* toolBar = new KToolBar( hbox ); toolBar->setIconText( KToolBar::IconTextRight ); toolBar->setFrameShape( QFrame::NoFrame ); toolBar->insertButton( "view_choose", 1, m_viewMenu, true, i18n( "View" ) ); #ifdef AMAZON_SUPPORT const QString babelfish = locate( "data", QString( "amarok/images/babelfish.png" ) ); toolBar->insertButton( babelfish, 2, m_amazonLocaleMenu, true, i18n( "Amazon Locale" ) ); QString locale = AmarokConfig::amazonLocale(); if( locale == "fr" ) m_currentLocale = France; else if( locale == "de" ) m_currentLocale = Germany; else if( locale == "jp" ) m_currentLocale = Japan; else if( locale == "uk" ) m_currentLocale = UK; else if( locale == "ca" ) m_currentLocale = Canada; else { // make sure we handle old config files correctly locale = "us"; m_currentLocale = International; } m_amazonLocaleMenu->setItemChecked( m_currentLocale, true ); //fetch missing covers button m_fetchButton = new KPushButton( KGuiItem( i18n("Fetch Missing Covers"), "cdrom_unmount" ), hbox ); connect( m_fetchButton, SIGNAL(clicked()), SLOT(fetchMissingCovers()) ); #endif //cover view m_coverView = new CoverView( vbox ); //status bar KStatusBar *m_statusBar = new KStatusBar( vbox ); m_statusBar->addWidget( m_statusLabel = new KSqueezedTextLabel( m_statusBar ), 4 ); m_statusLabel->setIndent( 3 ); m_statusBar->addWidget( m_progressBox = new QHBox( m_statusBar ), 1, true ); KPushButton *stopButton = new KPushButton( KGuiItem(i18n("Abort"), "stop"), m_progressBox ); connect( stopButton, SIGNAL(clicked()), SLOT(stopFetching()) ); m_progress = new KProgress( m_progressBox ); m_progress->setCenterIndicator( true ); const int h = m_statusLabel->height() + 3; m_statusLabel->setFixedHeight( h ); m_progressBox->setFixedHeight( h ); m_progressBox->hide(); // signals and slots connections connect( m_artistView, SIGNAL(selectionChanged( QListViewItem* ) ), SLOT(slotArtistSelected( QListViewItem* )) ); connect( m_coverView, SIGNAL(rightButtonPressed( QIconViewItem*, const QPoint& )), SLOT(showCoverMenu( QIconViewItem*, const QPoint& )) ); connect( m_coverView, SIGNAL(executed( QIconViewItem* )), SLOT(coverItemExecuted( QIconViewItem* )) ); connect( m_timer, SIGNAL(timeout()), SLOT(slotSetFilter()) ); connect( m_searchEdit, SIGNAL(textChanged( const QString& )), SLOT(slotSetFilterTimeout()) ); #ifdef AMAZON_SUPPORT connect( CollectionDB::instance(), SIGNAL(coverFetched( const QString&, const QString& )), SLOT(coverFetched( const QString&, const QString& )) ); connect( CollectionDB::instance(), SIGNAL(coverRemoved( const QString&, const QString& )), SLOT(coverRemoved( const QString&, const QString& )) ); connect( CollectionDB::instance(), SIGNAL(coverFetcherError( const QString& )), SLOT(coverFetcherError()) ); #endif m_currentView = AllAlbums; QSize size = QApplication::desktop()->screenGeometry( this ).size() / 1.5; resize( amaroK::config( "Cover Manager" )->readSizeEntry( "Window Size", &size ) ); show(); QTimer::singleShot( 0, this, SLOT(init()) ); }