CreatorController::CreatorController( ModelCodecManager* modelCodecManager, AbstractDocumentStrategy* documentStrategy, KXMLGUIClient* guiClient ) : AbstractXmlGuiController(), mModelCodecManager( modelCodecManager ), mDocumentStrategy( documentStrategy ) { KActionCollection* actionCollection = guiClient->actionCollection(); KActionMenu* newMenuAction = actionCollection->add<KActionMenu>( QLatin1String("file_new"), this, SLOT(onNewActionTriggered()) ); newMenuAction->setText( i18nc("@title:menu create new byte arrays from different sources", "New" ) ); newMenuAction->setIcon( KIcon( QLatin1String("document-new") ) ); newMenuAction->setShortcut( KStandardShortcut::openNew() ); QAction* newEmptyDocumentAction = new QAction( KIcon( QLatin1String("document-new") ), i18nc("@title:menu create a new empty document", "Empty" ), this ); // newEmptyDocumentAction->setToolTip( factory-toolTip() ); // i18nc( "@info:tooltip", "Create an empty document" ) ); // newEmptyDocumentAction->setHelpText( factory->helpText() ); // i18nc( "@info:status", "Create an new, empty document" ) ); // newEmptyDocumentAction->setWhatsThis( factory->whatsThis() ); // i18nc( "@info:whatsthis", "." ) ); connect( newEmptyDocumentAction, SIGNAL(triggered(bool)), SLOT(onNewActionTriggered()) ); QAction* newFromClipboardDocumentAction = new QAction( KIcon( QLatin1String("edit-paste") ), i18nc("@title:menu create a new document from data in the clipboard", "From Clipboard" ), this ); connect( newFromClipboardDocumentAction, SIGNAL(triggered(bool)), SLOT(onNewFromClipboardActionTriggered()) ); newMenuAction->addAction( newEmptyDocumentAction ); newMenuAction->addSeparator(); newMenuAction->addAction( newFromClipboardDocumentAction ); // generators const QList<AbstractModelDataGenerator*> generatorList = mModelCodecManager->generatorList(); const bool hasGenerators = ( generatorList.size() > 0 ); if( hasGenerators ) { newMenuAction->addSeparator(); // TODO: ask factory which mimetypes it can read // AbstractDocumentFactory->canCreateFromData( QMimeData() ) needs already data foreach( AbstractModelDataGenerator* generator, generatorList ) { const QString title = generator->typeName(); const QString iconName = QString::fromLatin1( "document-new" );//generator->iconName(); QAction* action = new QAction( KIcon(iconName), title, this ); action->setData( QVariant::fromValue(generator) ); connect( action, SIGNAL(triggered(bool)), SLOT(onNewFromGeneratorActionTriggered()) ); newMenuAction->addAction( action ); } } }
void FileBrowserWidget::setupToolbar() { KActionCollection *coll = m_dirOperator->actionCollection(); m_toolbar->addAction(coll->action("back")); m_toolbar->addAction(coll->action("forward")); KAction *action = new KAction(this); action->setIcon(SmallIcon("document-open")); action->setText(i18n("Open selected")); connect(action, SIGNAL(triggered()), this, SLOT(emitFileSelectedSignal())); m_toolbar->addAction(action); // section for settings menu KActionMenu *optionsMenu = new KActionMenu(KIcon("configure"), i18n("Options"), this); optionsMenu->setDelayed(false); optionsMenu->addAction(m_dirOperator->actionCollection()->action("short view")); optionsMenu->addAction(m_dirOperator->actionCollection()->action("detailed view")); optionsMenu->addAction(m_dirOperator->actionCollection()->action("tree view")); optionsMenu->addAction(m_dirOperator->actionCollection()->action("detailed tree view")); optionsMenu->addSeparator(); optionsMenu->addAction(m_dirOperator->actionCollection()->action("show hidden")); m_toolbar->addSeparator(); m_toolbar->addAction(optionsMenu); }
void FileBrowserWidget::setupToolbar() { KActionCollection *coll = m_dirOperator->actionCollection(); m_toolbar->addAction(coll->action("back")); m_toolbar->addAction(coll->action("forward")); QAction *action = new QAction(this); action->setIcon(QIcon::fromTheme("document-open")); action->setText(i18n("Open selected")); connect(action, SIGNAL(triggered()), this, SLOT(emitFileSelectedSignal())); m_toolbar->addAction(action); QAction *showOnlyLaTexFilesAction = new QAction(this); showOnlyLaTexFilesAction->setText(i18n("Show LaTeX Files Only")); showOnlyLaTexFilesAction->setCheckable(true); showOnlyLaTexFilesAction->setChecked(KileConfig::showLaTeXFilesOnly()); connect(showOnlyLaTexFilesAction, SIGNAL(triggered(bool)), this, SLOT(toggleShowLaTeXFilesOnly(bool))); // section for settings menu KActionMenu *optionsMenu = new KActionMenu(QIcon::fromTheme("configure"), i18n("Options"), this); optionsMenu->setDelayed(false); optionsMenu->addAction(m_dirOperator->actionCollection()->action("short view")); optionsMenu->addAction(m_dirOperator->actionCollection()->action("detailed view")); optionsMenu->addAction(m_dirOperator->actionCollection()->action("tree view")); optionsMenu->addAction(m_dirOperator->actionCollection()->action("detailed tree view")); optionsMenu->addSeparator(); optionsMenu->addAction(showOnlyLaTexFilesAction); optionsMenu->addAction(m_dirOperator->actionCollection()->action("show hidden")); m_toolbar->addSeparator(); m_toolbar->addAction(optionsMenu); }