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 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 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; }