diff --git a/src/plugins/designer/formeditorw.cpp b/src/plugins/designer/formeditorw.cpp index 5b3edd1db2905c9de63283c1ceb14e0979063de4..34cbb195944e4296b3bd58578de7b469a194a598 100644 --- a/src/plugins/designer/formeditorw.cpp +++ b/src/plugins/designer/formeditorw.cpp @@ -152,6 +152,7 @@ FormEditorW::FormEditorW() : m_actionPrint(0), m_actionPreview(0), m_actionGroupPreviewInStyle(0), + m_previewInStyleMenu(0), m_actionAboutPlugins(0), m_shortcutMapper(new QSignalMapper(this)), m_context(0), @@ -533,7 +534,10 @@ void FormEditorW::setupActions() // Preview in style... m_actionGroupPreviewInStyle = m_fwm->actionGroupPreviewInStyle(); - mformtools->addMenu(createPreviewStyleMenu(am, m_actionGroupPreviewInStyle)); + Core::ActionContainer *previewAC = createPreviewStyleMenu(am, m_actionGroupPreviewInStyle); + m_previewInStyleMenu = previewAC->menu(); + mformtools->addMenu(previewAC); + setPreviewMenuEnabled(false); // Form settings createSeparator(this, am, m_contexts, medit, QLatin1String("FormEditor.Edit.Separator2"), Core::Constants::G_EDIT_OTHER); @@ -608,6 +612,12 @@ Core::ActionContainer *FormEditorW::createPreviewStyleMenu(Core::ActionManager * return menuPreviewStyle; } +void FormEditorW::setPreviewMenuEnabled(bool e) +{ + m_actionPreview->setEnabled(e); + m_previewInStyleMenu->setEnabled(e); +} + void FormEditorW::saveSettings(QSettings *s) { s->beginGroup(settingsGroup); @@ -731,8 +741,7 @@ void FormEditorW::activeFormWindowChanged(QDesignerFormWindowInterface *afw) qDebug() << Q_FUNC_INFO << afw << " of " << m_fwm->formWindowCount(); m_fwm->closeAllPreviews(); - m_actionPreview->setEnabled(afw != 0); - m_actionGroupPreviewInStyle->setEnabled(afw != 0); + setPreviewMenuEnabled(afw != 0); } EditorData FormEditorW::activeEditor() const diff --git a/src/plugins/designer/formeditorw.h b/src/plugins/designer/formeditorw.h index b2627a1c6b87af1f3d501ed6f20ca34b91ba81b7..2ae78a8000b21250b277458b70933565baf46554 100644 --- a/src/plugins/designer/formeditorw.h +++ b/src/plugins/designer/formeditorw.h @@ -44,6 +44,7 @@ class QDesignerFormWindowInterface; class QAction; class QActionGroup; +class QMenu; class QSignalMapper; class QSettings; class QToolBar; @@ -122,6 +123,7 @@ private slots: void currentEditorChanged(Core::IEditor *editor); void toolChanged(int); void print(); + void setPreviewMenuEnabled(bool e); void updateShortcut(QObject *command); void closeFormEditorsForXmlEditors(QList<Core::IEditor*> editors); @@ -179,6 +181,7 @@ private: QAction *m_actionPrint; QAction *m_actionPreview; QActionGroup *m_actionGroupPreviewInStyle; + QMenu *m_previewInStyleMenu; QAction *m_actionAboutPlugins; QAction *m_modeActionSeparator; QSignalMapper *m_shortcutMapper;