void QtDesignerChild::initializeContext( QToolBar* tb ) { QDesignerFormWindowManagerInterface* fwm = mDesignerManager->core()->formWindowManager(); // add actions to toolbar tb->addAction( fwm->actionUndo() ); tb->addAction( fwm->actionRedo() ); tb->addAction( fwm->actionCut() ); tb->addAction( fwm->actionCopy() ); tb->addAction( fwm->actionPaste() ); tb->addAction( fwm->actionLower() ); tb->addAction( fwm->actionRaise() ); tb->addAction( fwm->actionDelete() ); tb->addAction( fwm->actionSelectAll() ); tb->addSeparator(); // tools tb->addActions( mDesignerManager->modesActions() ); tb->addSeparator(); // form tb->addAction( fwm->actionHorizontalLayout() ); tb->addAction( fwm->actionVerticalLayout() ); tb->addAction( fwm->actionSplitHorizontal() ); tb->addAction( fwm->actionSplitVertical() ); tb->addAction( fwm->actionGridLayout() ); tb->addAction( fwm->actionFormLayout() ); tb->addAction( fwm->actionSimplifyLayout() ); tb->addAction( fwm->actionBreakLayout() ); tb->addAction( fwm->actionAdjustSize() ); // preview tb->addSeparator(); tb->addAction( mDesignerManager->previewFormAction() ); }
xTupleDesignerActions::xTupleDesignerActions(xTupleDesigner *parent) : QObject(parent) { _designer = parent; _fileActions = new QActionGroup(parent); _fileActions->setObjectName("_fileActions"); _fileActions->setExclusive(false); QAction *closeAct = new QAction(tr("&Close"), this); QAction *openAct = new QAction(tr("&Open..."), this); QAction *revertAct = new QAction(tr("&Revert"), this); QAction *saveAct = new QAction(tr("&Save..."), this); closeAct->setShortcut(tr("CTRL+W")); openAct->setShortcut(tr("CTRL+O")); revertAct->setShortcut(tr("CTRL+R")); saveAct->setShortcut(tr("CTRL+S")); connect(closeAct, SIGNAL(triggered()), this, SLOT(sClose())); connect(openAct, SIGNAL(triggered()), this, SLOT(sOpen())); connect(revertAct, SIGNAL(triggered()), this, SLOT(sRevert())); connect(saveAct, SIGNAL(triggered()), this, SLOT(sSave())); _fileActions->addAction(revertAct); _fileActions->addAction(separator(this)); _fileActions->addAction(openAct); _fileActions->addAction(saveAct); _fileActions->addAction(separator(this)); _fileActions->addAction(closeAct); _editActions = new QActionGroup(parent); _editActions->setObjectName("_editActions"); _editActions->setExclusive(false); QDesignerFormWindowManagerInterface *formwm = parent->formeditor()->formWindowManager(); //QAction *editBuddiesAct = new QAction(tr("Edit Buddies"), this); //QAction *editSignalSlotAct = new QAction(tr("Edit Signal/Slot Connections"), this); //QAction *editTabOrderAct = new QAction(tr("Edit Tab Order"), this); //QAction *editWidgetsAct = new QAction(tr("Edit Widgets"), this); QAction *redoAct = formwm->actionRedo(); QAction *undoAct = formwm->actionUndo(); undoAct->setShortcut(tr("CTRL+Z")); redoAct->setShortcut(tr("CTRL+SHIFT+Z")); _editActions->addAction(undoAct); _editActions->addAction(redoAct); _editActions->addAction(separator(this)); _editActions->addAction(formwm->actionCut()); _editActions->addAction(formwm->actionCopy()); _editActions->addAction(formwm->actionPaste()); _editActions->addAction(formwm->actionDelete()); _editActions->addAction(formwm->actionSelectAll()); _editActions->addAction(separator(this)); _editActions->addAction(formwm->actionLower()); _editActions->addAction(formwm->actionRaise()); _toolActions = new QActionGroup(parent); _toolActions->setObjectName("_toolActions"); _toolActions->setExclusive(true); QAction *m_editWidgetsAction = new QAction(tr("Edit Widgets"), this); m_editWidgetsAction->setCheckable(true); QList<QKeySequence> shortcuts; shortcuts.append(QKeySequence(Qt::Key_F3)); #if QT_VERSION >= 0x040900 // "ESC" switching to edit mode: Activate once item delegates handle shortcut overrides for ESC. shortcuts.append(QKeySequence(Qt::Key_Escape)); #endif m_editWidgetsAction->setShortcuts(shortcuts); m_editWidgetsAction->setIcon(QIcon(_designer->formeditor()->resourceLocation() + QLatin1String("/widgettool.png"))); connect(m_editWidgetsAction, SIGNAL(triggered()), this, SLOT(sEditWidgets())); m_editWidgetsAction->setChecked(true); m_editWidgetsAction->setEnabled(false); _toolActions->addAction(m_editWidgetsAction); QList<QObject*> builtinPlugins = QPluginLoader::staticInstances(); builtinPlugins += _designer->formeditor()->pluginManager()->instances(); foreach (QObject *plugin, builtinPlugins) { if (QDesignerFormEditorPluginInterface *formEditorPlugin = qobject_cast<QDesignerFormEditorPluginInterface*>(plugin)) { if (QAction *action = formEditorPlugin->action()) { _toolActions->addAction(action); action->setCheckable(true); } } } _formActions = new QActionGroup(parent); _formActions->setObjectName("_formActions"); _formActions->setExclusive(false); _formActions->addAction(formwm->actionHorizontalLayout()); _formActions->addAction(formwm->actionVerticalLayout()); _formActions->addAction(formwm->actionSplitHorizontal()); _formActions->addAction(formwm->actionSplitVertical()); _formActions->addAction(formwm->actionGridLayout()); _formActions->addAction(formwm->actionFormLayout()); _formActions->addAction(formwm->actionBreakLayout()); _formActions->addAction(formwm->actionAdjustSize()); _formActions->addAction(formwm->actionSimplifyLayout()); connect(formwm, SIGNAL(activeFormWindowChanged(QDesignerFormWindowInterface*)), this, SLOT(sActiveFormWindowChanged(QDesignerFormWindowInterface*))); sActiveFormWindowChanged(formwm->activeFormWindow()); }
QDesignerActions::QDesignerActions(QDesignerWorkbench *workbench) : QObject(workbench), m_workbench(workbench), m_assistantClient(0), m_openDirectory(QString()) { Q_ASSERT(m_workbench != 0); m_core = m_workbench->core(); Q_ASSERT(m_core != 0); QDesignerFormWindowManagerInterface *formWindowManager = m_core->formWindowManager(); Q_ASSERT(formWindowManager != 0); QDesignerSettings settings; m_fileActions = new QActionGroup(this); m_fileActions->setExclusive(false); m_recentFilesActions = new QActionGroup(this); m_recentFilesActions->setExclusive(false); m_editActions = new QActionGroup(this); m_editActions->setExclusive(false); m_formActions = new QActionGroup(this); m_formActions->setExclusive(false); m_windowActions = new QActionGroup(this); m_windowActions->setExclusive(false); m_toolActions = new QActionGroup(this); m_toolActions->setExclusive(true); m_helpActions = new QActionGroup(this); m_helpActions->setExclusive(false); // // file actions // m_newFormAction = new QAction(tr("&New Form..."), this); m_newFormAction->setShortcut(tr("CTRL+N")); connect(m_newFormAction, SIGNAL(triggered()), this, SLOT(createForm())); m_fileActions->addAction(m_newFormAction); m_openFormAction = new QAction(tr("&Open Form..."), this); m_openFormAction->setShortcut(tr("CTRL+O")); connect(m_openFormAction, SIGNAL(triggered()), this, SLOT(openForm())); m_fileActions->addAction(m_openFormAction); QAction *act; // Need to insert this into the QAction. for (int i = 0; i < MaxRecentFiles; ++i) { act = new QAction(this); act->setVisible(false); connect(act, SIGNAL(triggered()), this, SLOT(openRecentForm())); m_recentFilesActions->addAction(act); } updateRecentFileActions(); act = new QAction(this); act->setSeparator(true); m_recentFilesActions->addAction(act); act = new QAction(tr("Clear &Menu"), this); connect(act, SIGNAL(triggered()), this, SLOT(clearRecentFiles())); m_recentFilesActions->addAction(act); QAction *sep = new QAction(this); sep->setSeparator(true); m_fileActions->addAction(sep); m_saveFormAction = new QAction(tr("&Save Form"), this); m_saveFormAction->setShortcut(tr("CTRL+S")); connect(m_saveFormAction, SIGNAL(triggered()), this, SLOT(saveForm())); m_fileActions->addAction(m_saveFormAction); m_saveFormAsAction = new QAction(tr("Save Form &As..."), this); connect(m_saveFormAsAction, SIGNAL(triggered()), this, SLOT(saveFormAs())); m_fileActions->addAction(m_saveFormAsAction); m_saveFormAsTemplateAction = new QAction(tr("Save Form As &Template..."), this); connect(m_saveFormAsTemplateAction, SIGNAL(triggered()), this, SLOT(saveFormAsTemplate())); m_fileActions->addAction(m_saveFormAsTemplateAction); sep = new QAction(this); sep->setSeparator(true); m_fileActions->addAction(sep); m_closeFormAction = new QAction(tr("&Close Form"), this); m_closeFormAction->setShortcut(tr("CTRL+W")); connect(m_closeFormAction, SIGNAL(triggered()), this, SLOT(closeForm())); m_fileActions->addAction(m_closeFormAction); sep = new QAction(this); sep->setSeparator(true); m_fileActions->addAction(sep); m_quitAction = new QAction(tr("&Quit"), this); m_quitAction->setShortcut(tr("CTRL+Q")); connect(m_quitAction, SIGNAL(triggered()), this, SLOT(shutdown())); m_fileActions->addAction(m_quitAction); // // edit actions // m_undoAction = formWindowManager->actionUndo(); m_undoAction->setShortcut(tr("CTRL+Z")); m_editActions->addAction(m_undoAction); m_redoAction = formWindowManager->actionRedo(); m_redoAction->setShortcut(tr("CTRL+SHIFT+Z")); m_editActions->addAction(m_redoAction); sep = new QAction(this); sep->setSeparator(true); m_editActions->addAction(sep); m_cutAction = formWindowManager->actionCut(); m_editActions->addAction(m_cutAction); m_copyAction = formWindowManager->actionCopy(); m_editActions->addAction(m_copyAction); m_pasteAction = formWindowManager->actionPaste(); m_editActions->addAction(m_pasteAction); m_deleteAction = formWindowManager->actionDelete(); m_editActions->addAction(m_deleteAction); m_selectAllAction = formWindowManager->actionSelectAll(); m_editActions->addAction(m_selectAllAction); sep = new QAction(this); sep->setSeparator(true); m_editActions->addAction(sep); m_sendToBackAction = formWindowManager->actionLower(); m_editActions->addAction(m_sendToBackAction); m_bringToFrontAction = formWindowManager->actionRaise(); m_editActions->addAction(m_bringToFrontAction); // // edit mode actions // m_editWidgetsAction = new QAction(tr("Edit Widgets"), this); m_editWidgetsAction->setCheckable(true); m_editWidgetsAction->setShortcut(tr("F3")); m_editWidgetsAction->setIcon(QIcon(m_core->resourceLocation() + QLatin1String("/widgettool.png"))); connect(formWindowManager, SIGNAL(activeFormWindowChanged(QDesignerFormWindowInterface*)), this, SLOT(activeFormWindowChanged(QDesignerFormWindowInterface*))); connect(m_editWidgetsAction, SIGNAL(triggered()), this, SLOT(editWidgetsSlot())); m_toolActions->addAction(m_editWidgetsAction); m_editWidgetsAction->setChecked(true); m_editWidgetsAction->setEnabled(false); QList<QObject*> builtinPlugins = QPluginLoader::staticInstances(); builtinPlugins += m_core->pluginManager()->instances(); foreach (QObject *plugin, builtinPlugins) { if (QDesignerFormEditorPluginInterface *formEditorPlugin = qobject_cast<QDesignerFormEditorPluginInterface*>(plugin)) { m_toolActions->addAction(formEditorPlugin->action()); formEditorPlugin->action()->setCheckable(true); } } m_uiMode = new QActionGroup(this); m_uiMode->setExclusive(true); m_sdiAction = m_uiMode->addAction(tr("Multiple Top-Level Windows")); m_sdiAction->setCheckable(true); m_dockedMdiAction = m_uiMode->addAction(tr("Docked Window")); m_dockedMdiAction->setCheckable(true); switch (settings.uiMode()) { default: Q_ASSERT(0); break; case QDesignerWorkbench::TopLevelMode: m_sdiAction->setChecked(true); break; case QDesignerWorkbench::DockedMode: m_dockedMdiAction->setChecked(true); break; } connect(m_uiMode, SIGNAL(triggered(QAction*)), this, SLOT(updateUIMode(QAction*))); // // form actions // m_layoutHorizontallyAction = formWindowManager->actionHorizontalLayout(); m_formActions->addAction(m_layoutHorizontallyAction); m_layoutVerticallyAction = formWindowManager->actionVerticalLayout(); m_formActions->addAction(m_layoutVerticallyAction); m_layoutHorizontallyInSplitterAction = formWindowManager->actionSplitHorizontal(); m_formActions->addAction(m_layoutHorizontallyInSplitterAction); m_layoutVerticallyInSplitterAction = formWindowManager->actionSplitVertical(); m_formActions->addAction(m_layoutVerticallyInSplitterAction); m_layoutGridAction = formWindowManager->actionGridLayout(); m_formActions->addAction(m_layoutGridAction); m_breakLayoutAction = formWindowManager->actionBreakLayout(); m_formActions->addAction(m_breakLayoutAction); m_adjustSizeAction = formWindowManager->actionAdjustSize(); m_formActions->addAction(m_adjustSizeAction); sep = new QAction(this); sep->setSeparator(true); m_formActions->addAction(sep); m_previewFormAction = new QAction(tr("&Preview"), this); m_previewFormAction->setShortcut(tr("CTRL+R")); connect(m_previewFormAction, SIGNAL(triggered()), this, SLOT(previewFormLater())); m_formActions->addAction(m_previewFormAction); m_styleActions = new QActionGroup(this); m_styleActions->setExclusive(true); connect(m_styleActions, SIGNAL(triggered(QAction*)), this, SLOT(previewForm(QAction*))); QAction *sep2 = new QAction(this); sep2->setSeparator(true); m_formActions->addAction(sep2); m_formSettings = new QAction(tr("Form &Settings..."), this); m_formSettings->setEnabled(false); connect(m_formSettings, SIGNAL(triggered()), this, SLOT(showFormSettings())); m_formActions->addAction(m_formSettings); QStringList availableStyleList = QStyleFactory::keys(); foreach (QString style, availableStyleList) { QAction *a = new QAction(this); a->setText(tr("%1 Style").arg(style)); a->setObjectName(QLatin1String("__qt_action_style_") + style); m_styleActions->addAction(a); }