KGet_plug_in::KGet_plug_in( QObject* parent, const char* name )
    : Plugin( parent, name )
{
    QPixmap pix = KGlobal::iconLoader()->loadIcon("kget",
                                                  KIcon::MainToolbar);
    KActionMenu *menu = new KActionMenu( i18n("Download Manager"), pix,
                                         actionCollection(), "kget_menu" );
    menu->setDelayed( false );
    connect( menu->popupMenu(), SIGNAL( aboutToShow() ), SLOT( showPopup() ));

    m_paToggleDropTarget=new KToggleAction(i18n("Show Drop Target"),
                                           KShortcut(),
                                           this, SLOT(slotShowDrop()),
                                           actionCollection(), "show_drop" );

    menu->insert( m_paToggleDropTarget );

    KAction *action = new KAction(i18n("List All Links"), KShortcut(),
                                  this, SLOT( slotShowLinks() ),
                                  actionCollection(), "show_links");
    menu->insert( action );

    p_dcopServer= new DCOPClient();
    p_dcopServer->attach ();
}
KActionMenu* WPAccount::actionMenu()
{
	kdDebug(14170) <<  "WPAccount::actionMenu()" << endl;

	/// How to remove an action from Kopete::Account::actionMenu()? GF

	KActionMenu *theActionMenu = new KActionMenu(accountId() , myself()->onlineStatus().iconFor(this), this);
	theActionMenu->popupMenu()->insertTitle(myself()->onlineStatus().iconFor(this), i18n("WinPopup (%1)").arg(accountId()));

	if (mProtocol)
	{
		KAction *goOnline = new KAction("Online", QIconSet(mProtocol->WPOnline.iconFor(this)), 0,
										 this, SLOT(connect()), theActionMenu, "actionGoAvailable");
		goOnline->setEnabled(isConnected() && isAway());
		theActionMenu->insert(goOnline);

		KAction *goAway = new KAction("Away", QIconSet(mProtocol->WPAway.iconFor(this)), 0,
									  this, SLOT(goAway()), theActionMenu, "actionGoAway");
		goAway->setEnabled(isConnected() && !isAway());
		theActionMenu->insert(goAway);

		/// One can not really go offline manually - appears online as long as samba server is running. GF

		theActionMenu->popupMenu()->insertSeparator();
		theActionMenu->insert(new KAction(i18n("Properties"),  0,
							  this, SLOT(editAccount()), theActionMenu, "actionAccountProperties"));

	}

	return theActionMenu;
}
KActionMenu * Account::actionMenu()
{
	//default implementation
	KActionMenu *menu = new KActionMenu( accountId(), myself()->onlineStatus().iconFor( this ),  this );
	QString nick = myself()->property( Kopete::Global::Properties::self()->nickName()).value().toString();

	menu->popupMenu()->insertTitle( myself()->onlineStatus().iconFor( myself() ),
		nick.isNull() ? accountLabel() : i18n( "%2 <%1>" ).arg( accountLabel(), nick )
	);

	OnlineStatusManager::self()->createAccountStatusActions(this, menu);
	menu->popupMenu()->insertSeparator();
	menu->insert( new KAction ( i18n( "Properties" ),  0, this, SLOT( editAccount() ), menu, "actionAccountProperties" ) );

	return menu;
}
Exemple #4
0
TemplatesInsertCommand::TemplatesInsertCommand( QWidget *parent,
                                                const char *name )
  : QPushButton( parent, name )
{
  setText( i18n( "&Insert Command..." ) );
  connect( this, SIGNAL( clicked() ),
           this, SLOT( slotClicked() ) );

  KAction *action;
  KActionMenu *menu;

  QSignalMapper *mapper = new QSignalMapper( this );
  connect( mapper, SIGNAL( mapped(int) ),
           this, SLOT( slotMapped(int) ) );

  mMenu = new KActionMenu( i18n( "Insert Command..." ), this );

  // ******************************************************
  menu = new KActionMenu( i18n( "Original Message" ), mMenu );
  mMenu->insert( menu );

  action = new KAction( i18n("Quoted Message"),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CQuote );
  menu->insert( action );
  action = new KAction( i18n("Message Text as Is"),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CText );
  menu->insert( action );
  action = new KAction( i18n("Message Id"),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COMsgId );
  menu->insert( action );
  action = new KAction( i18n("Date"),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CODate );
  menu->insert( action );
  action = new KAction( i18n("Date in Short Format"),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CODateShort );
  menu->insert( action );
  action = new KAction( i18n("Date in C Locale"),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CODateEn );
  menu->insert( action );
  action = new KAction( i18n("Day of Week"),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CODow );
  menu->insert( action );
  action = new KAction( i18n("Time"),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COTime );
  menu->insert( action );
  action = new KAction( i18n("Time in Long Format"),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COTimeLong );
  menu->insert( action );
  action = new KAction( i18n("Time in C Locale"),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COTimeLongEn );
  menu->insert( action );
  action = new KAction( i18n("To Field Address"),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COToAddr );
  menu->insert( action );
  action = new KAction( i18n("To Field Name"),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COToName );
  menu->insert( action );
  action = new KAction( i18n("To Field First Name"),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COToFName );
  menu->insert( action );
  action = new KAction( i18n("To Field Last Name"),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COToLName );
  menu->insert( action );
  action = new KAction( i18n( "CC Field Address" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COCCAddr );
  menu->insert( action );
  action = new KAction( i18n( "CC Field Name" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COCCName );
  menu->insert( action );
  action = new KAction( i18n( "CC Field First Name" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COCCFName );
  menu->insert( action );
  action = new KAction( i18n( "CC Field Last Name" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COCCLName );
  menu->insert( action );
  action = new KAction( i18n( "From Field Address" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COFromAddr );
  menu->insert( action );
  action = new KAction( i18n( "From Field Name" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COFromName );
  menu->insert( action );
  action = new KAction( i18n( "From Field First Name" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COFromFName );
  menu->insert( action );
  action = new KAction( i18n( "From Field Last Name" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COFromLName );
  menu->insert( action );
  action = new KAction( i18n( "Subject" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COFullSubject );
  menu->insert( action );
  action = new KAction( i18n( "Quoted Headers" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CQHeaders );
  menu->insert( action );
  action = new KAction( i18n( "Headers as Is" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CHeaders );
  menu->insert( action );
  action = new KAction( i18n( "Header Content" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, COHeader );
  menu->insert( action );

  // ******************************************************
  menu = new KActionMenu( i18n( "Current Message" ), mMenu );
  mMenu->insert( menu );

  action = new KAction( i18n( "Message Id" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CMsgId );
  menu->insert( action );
  action = new KAction( i18n( "Date" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CDate );
  menu->insert( action );
  action = new KAction( i18n( "Date in Short Format" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CDateShort );
  menu->insert( action );
  action = new KAction( i18n( "Date in C Locale" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CDateEn );
  menu->insert( action );
  action = new KAction( i18n( "Day of Week" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CDow );
  menu->insert( action );
  action = new KAction( i18n( "Time" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CTime );
  menu->insert( action );
  action = new KAction( i18n( "Time in Long Format" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CTimeLong );
  menu->insert( action );
  action = new KAction( i18n( "Time in C Locale" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CTimeLongEn );
  menu->insert( action );
  action = new KAction( i18n( "To Field Address" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CToAddr );
  menu->insert( action );
  action = new KAction( i18n( "To Field Name" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CToName );
  menu->insert( action );
  action = new KAction( i18n( "To Field First Name" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CToFName );
  menu->insert( action );
  action = new KAction( i18n( "To Field Last Name" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CToLName );
  menu->insert( action );
  action = new KAction( i18n( "CC Field Address" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CCCAddr );
  menu->insert( action );
  action = new KAction( i18n( "CC Field Name" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CCCName );
  menu->insert( action );
  action = new KAction( i18n( "CC Field First Name" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CCCFName );
  menu->insert( action );
  action = new KAction( i18n( "CC Field Last Name" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CCCLName );
  menu->insert( action );
  action = new KAction( i18n( "From Field Address" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CFromAddr );
  menu->insert( action );
  action = new KAction( i18n( "From Field Name" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CFromName );
  menu->insert( action );
  action = new KAction( i18n( "From Field First Name" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CFromFName );
  menu->insert( action );
  action = new KAction( i18n( "From Field Last Name" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CFromLName );
  menu->insert( action );
  action = new KAction( i18n( "Subject" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CFullSubject );
  menu->insert( action );
  action = new KAction( i18n( "Header Content" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CHeader );
  menu->insert( action );

  // ******************************************************
  menu = new KActionMenu( i18n( "Process With External Programs" ), mMenu );
  mMenu->insert( menu );

  action = new KAction( i18n( "Insert Result of Command" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CSystem );
  menu->insert( action );
  action = new KAction( i18n( "Pipe Original Message Body and Insert Result as Quoted Text" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CQuotePipe );
  menu->insert( action );
  action = new KAction( i18n( "Pipe Original Message Body and Insert Result as Is" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CTextPipe );
  menu->insert( action );
  action = new KAction( i18n( "Pipe Original Message with Headers and Insert Result as Is" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CMsgPipe );
  menu->insert( action );
  action = new KAction( i18n( "Pipe Current Message Body and Insert Result as Is" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CBodyPipe );
  menu->insert( action );
  action = new KAction( i18n( "Pipe Current Message Body and Replace with Result" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CClearPipe );
  menu->insert( action );

  // ******************************************************
  menu = new KActionMenu( i18n( "Miscellaneous" ), mMenu );
  mMenu->insert( menu );

  action = new KAction( i18n( "Set Cursor Position" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CCursor );
  menu->insert( action );
  action = new KAction( i18n( "Insert File Content" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CInsert );
  menu->insert( action );
  action = new KAction( i18n( "DNL" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CDnl );
  menu->insert( action );
  action = new KAction( i18n( "Template Comment" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CRem );
  menu->insert( action );
  action = new KAction( i18n( "No Operation" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CNop );
  menu->insert( action );
  action = new KAction( i18n( "Clear Generated Message" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CClear );
  menu->insert( action );
  action = new KAction( i18n( "Turn Debug On" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CDebug );
  menu->insert( action );
  action = new KAction( i18n( "Turn Debug Off" ),
                        0, mapper, SLOT( map() ), menu );
  mapper->setMapping( action, CDebugOff );
  menu->insert( action );
}
Exemple #5
0
void KMMainView::initActions()
{
    KIconSelectAction *vact = new KIconSelectAction(i18n("&View"), 0, m_actions, "view_change");
    QStringList iconlst;
    iconlst << "view_icon"
            << "view_detailed"
            << "view_tree";
    vact->setItems(QStringList::split(',', i18n("&Icons,&List,&Tree"), false), iconlst);
    vact->setCurrentItem(0);
    connect(vact, SIGNAL(activated(int)), SLOT(slotChangeView(int)));

    KActionMenu *stateAct = new KActionMenu(i18n("Start/Stop Printer"), "kdeprint_printstate", m_actions, "printer_state_change");
    stateAct->setDelayed(false);
    stateAct->insert(
        new KAction(i18n("&Start Printer"), "kdeprint_enableprinter", 0, this, SLOT(slotChangePrinterState()), m_actions, "printer_start"));
    stateAct->insert(new KAction(i18n("Sto&p Printer"), "kdeprint_stopprinter", 0, this, SLOT(slotChangePrinterState()), m_actions, "printer_stop"));

    stateAct = new KActionMenu(i18n("Enable/Disable Job Spooling"), "kdeprint_queuestate", m_actions, "printer_spool_change");
    stateAct->setDelayed(false);
    stateAct->insert(
        new KAction(i18n("&Enable Job Spooling"), "kdeprint_enableprinter", 0, this, SLOT(slotChangePrinterState()), m_actions, "printer_enable"));
    stateAct->insert(
        new KAction(i18n("&Disable Job Spooling"), "kdeprint_stopprinter", 0, this, SLOT(slotChangePrinterState()), m_actions, "printer_disable"));

    new KAction(i18n("&Remove"), "edittrash", 0, this, SLOT(slotRemove()), m_actions, "printer_remove");
    new KAction(i18n("&Configure..."), "configure", 0, this, SLOT(slotConfigure()), m_actions, "printer_configure");
    new KAction(i18n("Add &Printer/Class..."), "kdeprint_addprinter", 0, this, SLOT(slotAdd()), m_actions, "printer_add");
    new KAction(i18n("Add &Special (pseudo) Printer..."), "kdeprint_addpseudo", 0, this, SLOT(slotAddSpecial()), m_actions, "printer_add_special");
    new KAction(i18n("Set as &Local Default"), "kdeprint_defaulthard", 0, this, SLOT(slotHardDefault()), m_actions, "printer_hard_default");
    new KAction(i18n("Set as &User Default"), "kdeprint_defaultsoft", 0, this, SLOT(slotSoftDefault()), m_actions, "printer_soft_default");
    new KAction(i18n("&Test Printer..."), "kdeprint_testprinter", 0, this, SLOT(slotTest()), m_actions, "printer_test");
    new KAction(i18n("Configure &Manager..."), "kdeprint_configmgr", 0, this, SLOT(slotManagerConfigure()), m_actions, "manager_configure");
    new KAction(i18n("Initialize Manager/&View"), "reload", 0, this, SLOT(slotInit()), m_actions, "view_refresh");

    KIconSelectAction *dact = new KIconSelectAction(i18n("&Orientation"), 0, m_actions, "orientation_change");
    iconlst.clear();
    iconlst << "view_top_bottom"
            << "view_left_right";
    dact->setItems(QStringList::split(',', i18n("&Vertical,&Horizontal"), false), iconlst);
    dact->setCurrentItem(0);
    connect(dact, SIGNAL(activated(int)), SLOT(slotChangeDirection(int)));

    new KAction(i18n("R&estart Server"), "kdeprint_restartsrv", 0, this, SLOT(slotServerRestart()), m_actions, "server_restart");
    new KAction(i18n("Configure &Server..."), "kdeprint_configsrv", 0, this, SLOT(slotServerConfigure()), m_actions, "server_configure");

    KToggleAction *tact = new KToggleAction(i18n("Show &Toolbar"), 0, m_actions, "view_toolbar");
    tact->setCheckedState(i18n("Hide &Toolbar"));
    connect(tact, SIGNAL(toggled(bool)), SLOT(slotToggleToolBar(bool)));
    tact = new KToggleAction(i18n("Show Me&nu Toolbar"), 0, m_actions, "view_menubar");
    tact->setCheckedState(i18n("Hide Me&nu Toolbar"));
    connect(tact, SIGNAL(toggled(bool)), SLOT(slotToggleMenuBar(bool)));
    tact = new KToggleAction(i18n("Show Pr&inter Details"), "kdeprint_printer_infos", 0, m_actions, "view_printerinfos");
    tact->setCheckedState(KGuiItem(i18n("Hide Pr&inter Details"), "kdeprint_printer_infos"));
    tact->setChecked(true);
    connect(tact, SIGNAL(toggled(bool)), SLOT(slotShowPrinterInfos(bool)));

    tact = new KToggleAction(i18n("Toggle Printer &Filtering"), "filter", 0, m_actions, "view_pfilter");
    tact->setChecked(KMManager::self()->isFilterEnabled());
    connect(tact, SIGNAL(toggled(bool)), SLOT(slotToggleFilter(bool)));

    new KAction(i18n("%1 &Handbook").arg("KDEPrint"), "contents", 0, this, SLOT(slotHelp()), m_actions, "invoke_help");
    new KAction(i18n("%1 &Web Site").arg("KDEPrint"), "network", 0, this, SLOT(slotHelp()), m_actions, "invoke_web");

    KActionMenu *mact = new KActionMenu(i18n("Pri&nter Tools"), "package_utilities", m_actions, "printer_tool");
    mact->setDelayed(false);
    connect(mact->popupMenu(), SIGNAL(activated(int)), SLOT(slotToolSelected(int)));
    QStringList files = KGlobal::dirs()->findAllResources("data", "kdeprint/tools/*.desktop");
    for(QStringList::ConstIterator it = files.begin(); it != files.end(); ++it)
    {
        KSimpleConfig conf(*it);
        conf.setGroup("Desktop Entry");
        mact->popupMenu()->insertItem(conf.readEntry("Name", "Unnamed"), mact->popupMenu()->count());
        m_toollist << conf.readEntry("X-KDE-Library");
    }

    // add actions to the toolbar
    m_actions->action("printer_add")->plug(m_toolbar);
    m_actions->action("printer_add_special")->plug(m_toolbar);
    m_toolbar->insertLineSeparator();
    m_actions->action("printer_state_change")->plug(m_toolbar);
    m_actions->action("printer_spool_change")->plug(m_toolbar);
    m_toolbar->insertSeparator();
    m_actions->action("printer_hard_default")->plug(m_toolbar);
    m_actions->action("printer_soft_default")->plug(m_toolbar);
    m_actions->action("printer_remove")->plug(m_toolbar);
    m_toolbar->insertSeparator();
    m_actions->action("printer_configure")->plug(m_toolbar);
    m_actions->action("printer_test")->plug(m_toolbar);
    m_actions->action("printer_tool")->plug(m_toolbar);
    m_pactionsindex = m_toolbar->insertSeparator();
    m_toolbar->insertLineSeparator();
    m_actions->action("server_restart")->plug(m_toolbar);
    m_actions->action("server_configure")->plug(m_toolbar);
    m_toolbar->insertLineSeparator();
    m_actions->action("manager_configure")->plug(m_toolbar);
    m_actions->action("view_refresh")->plug(m_toolbar);
    m_toolbar->insertLineSeparator();
    m_actions->action("view_printerinfos")->plug(m_toolbar);
    m_actions->action("view_change")->plug(m_toolbar);
    m_actions->action("orientation_change")->plug(m_toolbar);
    m_actions->action("view_pfilter")->plug(m_toolbar);

    // add actions to the menu bar
    QPopupMenu *menu = new QPopupMenu(this);
    m_actions->action("printer_add")->plug(menu);
    m_actions->action("printer_add_special")->plug(menu);
    // m_menubar->insertItem( i18n( "Add" ), menu );
    m_menubar->insertButton("wizard", 0, true, i18n("Add"));
    m_menubar->getButton(0)->setPopup(menu, true);
    menu = new QPopupMenu(this);
    m_actions->action("printer_state_change")->plug(menu);
    m_actions->action("printer_spool_change")->plug(menu);
    menu->insertSeparator();
    m_actions->action("printer_hard_default")->plug(menu);
    m_actions->action("printer_soft_default")->plug(menu);
    m_actions->action("printer_remove")->plug(menu);
    menu->insertSeparator();
    m_actions->action("printer_configure")->plug(menu);
    m_actions->action("printer_test")->plug(menu);
    m_actions->action("printer_tool")->plug(menu);
    menu->insertSeparator();
    // m_menubar->insertItem( i18n( "Printer" ), menu );
    m_menubar->insertButton("printer1", 1, true, i18n("Printer"));
    m_menubar->getButton(1)->setPopup(menu, true);
    menu = new QPopupMenu(this);
    m_actions->action("server_restart")->plug(menu);
    m_actions->action("server_configure")->plug(menu);
    // m_menubar->insertItem( i18n( "Server" ), menu );
    m_menubar->insertButton("misc", 2, true, i18n("Print Server"));
    m_menubar->getButton(2)->setPopup(menu, true);
    menu = new QPopupMenu(this);
    m_actions->action("manager_configure")->plug(menu);
    m_actions->action("view_refresh")->plug(menu);
    // m_menubar->insertItem( i18n( "Manager" ), menu );
    m_menubar->insertButton("kdeprint_configmgr", 3, true, i18n("Print Manager"));
    m_menubar->getButton(3)->setPopup(menu, true);
    menu = new QPopupMenu(this);
    m_actions->action("view_printerinfos")->plug(menu);
    m_actions->action("view_change")->plug(menu);
    m_actions->action("orientation_change")->plug(menu);
    m_actions->action("view_toolbar")->plug(menu);
    m_actions->action("view_menubar")->plug(menu);
    menu->insertSeparator();
    m_actions->action("view_pfilter")->plug(menu);
    // m_menubar->insertItem( i18n( "View" ), menu );
    m_menubar->insertButton("view_remove", 4, true, i18n("View"));
    m_menubar->getButton(4)->setPopup(menu, true);
    // m_menubar->setMinimumHeight( m_menubar->heightForWidth( 1000 ) );
    menu = new QPopupMenu(this);
    m_actions->action("invoke_help")->plug(menu);
    m_actions->action("invoke_web")->plug(menu);
    m_menubar->insertButton("help", 5, true, i18n("Documentation"));
    m_menubar->getButton(5)->setPopup(menu, true);

    loadPluginActions();
    slotPrinterSelected(QString::null);
}
Exemple #6
0
void JuK::setupActions()
{
    ActionCollection::actions()->setWidget(this);

    KStdAction::quit(this, SLOT(slotQuit()), actions());
    KStdAction::undo(this, SLOT(slotUndo()), actions());
    KStdAction::cut(kapp,   SLOT(cut()),   actions());
    KStdAction::copy(kapp,  SLOT(copy()),  actions());
    KStdAction::paste(kapp, SLOT(paste()), actions());
    KStdAction::clear(kapp, SLOT(clear()), actions());
    KStdAction::selectAll(kapp, SLOT(selectAll()), actions());

    new KAction(i18n("Remove From Playlist"), "edit_remove", 0, kapp, SLOT(clear()), actions(), "removeFromPlaylist");

    KActionMenu *actionMenu = new KActionMenu(i18n("&Random Play"), "roll", actions(), "actionMenu");
    actionMenu->setDelayed(false);

    KRadioAction *ka = new KRadioAction(i18n("&Disable Random Play"), "player_playlist", 0, actions(), "disableRandomPlay");
    ka->setExclusiveGroup("randomPlayGroup");
    actionMenu->insert(ka);

    m_randomPlayAction = new KRadioAction(i18n("Use &Random Play"), "roll", 0, actions(), "randomPlay");
    m_randomPlayAction->setExclusiveGroup("randomPlayGroup");
    actionMenu->insert(m_randomPlayAction);

    ka = new KRadioAction(i18n("Use &Album Random Play"), "roll", 0, actions(), "albumRandomPlay");
    ka->setExclusiveGroup("randomPlayGroup");
    connect(ka, SIGNAL(toggled(bool)), SLOT(slotCheckAlbumNextAction(bool)));
    actionMenu->insert(ka);

    new KAction(i18n("&Play"),  "player_play",  0, m_player, SLOT(play()),  actions(), "play");
    new KAction(i18n("P&ause"), "player_pause", 0, m_player, SLOT(pause()), actions(), "pause");
    new KAction(i18n("&Stop"),  "player_stop",  0, m_player, SLOT(stop()),  actions(), "stop");

    new KToolBarPopupAction(i18n("previous track", "Previous"), "player_start", KShortcut(), m_player, SLOT(back()), actions(), "back");
    new KAction(i18n("next track", "&Next"), "player_end", KShortcut(), m_player, SLOT(forward()), actions(), "forward");
    new KToggleAction(i18n("&Loop Playlist"), 0, KShortcut(), actions(), "loopPlaylist");
    KToggleAction *resizeColumnAction =
        new KToggleAction(i18n("&Resize Playlist Columns Manually"),
	                  KShortcut(), actions(), "resizeColumnsManually");
    resizeColumnAction->setCheckedState(i18n("&Resize Column Headers Automatically"));

    // the following are not visible by default

    new KAction(i18n("Mute"),         "mute",        0, m_player, SLOT(mute()),        actions(), "mute");
    new KAction(i18n("Volume Up"),    "volumeUp",    0, m_player, SLOT(volumeUp()),    actions(), "volumeUp");
    new KAction(i18n("Volume Down"),  "volumeDown",  0, m_player, SLOT(volumeDown()),  actions(), "volumeDown");
    new KAction(i18n("Play / Pause"), "playPause",   0, m_player, SLOT(playPause()),   actions(), "playPause");
    new KAction(i18n("Seek Forward"), "seekForward", 0, m_player, SLOT(seekForward()), actions(), "seekForward");
    new KAction(i18n("Seek Back"),    "seekBack",    0, m_player, SLOT(seekBack()),    actions(), "seekBack");

    //////////////////////////////////////////////////
    // settings menu
    //////////////////////////////////////////////////

    m_toggleSplashAction =
	new KToggleAction(i18n("Show Splash Screen on Startup"),
			  KShortcut(), actions(), "showSplashScreen");
    m_toggleSplashAction->setCheckedState(i18n("Hide Splash Screen on Startup"));
    m_toggleSystemTrayAction =
	new KToggleAction(i18n("&Dock in System Tray"),
			  KShortcut(), actions(), "toggleSystemTray");
    m_toggleDockOnCloseAction =
	new KToggleAction(i18n("&Stay in System Tray on Close"),
			  KShortcut(), actions(), "dockOnClose");
    m_togglePopupsAction =
	new KToggleAction(i18n("Popup &Track Announcement"),
			  KShortcut(), this, 0, actions(), "togglePopups");
    new KToggleAction(i18n("Save &Play Queue on Exit"),
                      KShortcut(), this, 0, actions(), "saveUpcomingTracks");

    connect(m_toggleSystemTrayAction, SIGNAL(toggled(bool)),
	    this, SLOT(slotToggleSystemTray(bool)));


    m_outputSelectAction = PlayerManager::playerSelectAction(actions());

    if(m_outputSelectAction)
        m_outputSelectAction->setCurrentItem(0);

    new KAction(i18n("&Tag Guesser..."), 0, 0, this, SLOT(slotConfigureTagGuesser()),
		actions(), "tagGuesserConfig");

    new KAction(i18n("&File Renamer..."), 0, 0, this, SLOT(slotConfigureFileRenamer()),
		actions(), "fileRenamerConfig");

    KStdAction::keyBindings(this, SLOT(slotEditKeys()), actions());

    //////////////////////////////////////////////////
    // just in the toolbar
    //////////////////////////////////////////////////

    m_sliderAction = new SliderAction(i18n("Track Position"), actions(),
				      "trackPositionAction");
}
KAction *XMLActionHandler::createAction( KActionCollection *parent )
{
//    kdDebug(80001) << "Creating Action, type is " << type << endl;
//    kdDebug(80001) << "text=" << text << ", icons=" << icons << endl;
//    kdDebug(80001) << "keys=" << keys << ", name=" << name << endl;

    if ( !parent ) {
	kdWarning() << "Create action called but no parent set" << endl;
	return 0;
    }

    KAction *act=0;

    if ( ad.type.isEmpty() || (ad.type == "KAction") ) {
	act = new KAction( ad.text, ad.icons, ad.keys, 0, 0, parent, ad.name.latin1() );
    }
    else if ( ad.type == "KToggleAction" ) {
	act = new KToggleAction( ad.text, ad.icons, ad.keys, 0, 0, parent, ad.name.latin1() );
    }
    else if ( ad.type == "KRadioAction" ) {
	KRadioAction *ra = new KRadioAction( ad.text, ad.icons, ad.keys, 0, 0, parent, ad.name.latin1() );
	if ( ad.exclusive )
	    ra->setExclusiveGroup( ad.group );

	act = ra;
    }
    else if ( ad.type == "KStdAction" ) {
	for ( int i = KStdAction::ActionNone ; i < KStdAction::ConfigureNotifications ; i++ ) {
	    if ( KStdAction::stdName(static_cast<KStdAction::StdAction>(i)) == ad.name )
		act = KStdAction::create( (KStdAction::StdAction)i, 0, 0, parent );
	}
    }
    else if ( ad.type == "KListAction" ) {
	KListAction *la = new KListAction( ad.text, ad.icons, ad.keys, 0, 0, parent, ad.name.latin1() );
	la->setItems( ad.items );
	ad.items.clear();
	act = la;
    }
    else if ( ad.type == "KActionMenu" ) {
	KActionMenu *am = new KActionMenu( ad.text, ad.icons, parent, ad.name.latin1() );

	for ( QStringList::Iterator it = ad.items.begin() ; it != ad.items.end() ; ++it ) {
	    KAction *a = parent->action( (*it).latin1() );
	    if ( a )
		am->insert( a );
	}
	ad.items.clear();
	act = am;
    }
    else {
	kdWarning() << "Unknown ActionType " << ad.type << endl;
	return 0;
    }

    if ( !act ) {
	kdWarning() << "Unable to create action" << endl;
	return act;
    }

    if ( !ad.group.isEmpty() )
	act->setGroup( ad.group );

    act->setStatusText( ad.status );
    act->setWhatsThis( ad.whatsthis );

    QObject::connect( actclient, SIGNAL( destroyed() ), act, SLOT( deleteLater() ) );

    return act;
}