diff --git a/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.cpp b/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.cpp index 139c943c60f1841e617c9c8de89462b1ba21ca8d..5015d11e90ad0879fba97a5f1bce0928e020027f 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.cpp @@ -178,9 +178,10 @@ ContextPaneWidget::ContextPaneWidget(QWidget *parent) : DragWidget(parent), m_cu addAction(m_resetAction.data()); connect(m_resetAction.data(), SIGNAL(triggered(bool)), this, SLOT(onResetPosition(bool))); - QAction *disableAction = new QAction(tr("Disable permanently"), this); - addAction(disableAction); - connect(disableAction, SIGNAL(triggered()), this, SLOT(onDisable())); + m_disableAction = new QAction(tr("Show depending on context"), this); + addAction(m_disableAction.data()); + m_disableAction->setCheckable(true); + connect(m_disableAction.data(), SIGNAL(toggled(bool)), this, SLOT(onDisable(bool))); m_pinned = false; } @@ -205,6 +206,7 @@ void ContextPaneWidget::activate(const QPoint &pos, const QPoint &alternative, c rePosition(pos, alternative, alternative2); raise(); m_resetAction->setChecked(Internal::BauhausPlugin::pluginInstance()->settings().pinContextPane); + m_disableAction->setChecked(Internal::BauhausPlugin::pluginInstance()->settings().enableContextPane); } void ContextPaneWidget::rePosition(const QPoint &position, const QPoint &alternative, const QPoint &alternative2) @@ -358,13 +360,15 @@ void ContextPaneWidget::onShowColorDialog(bool checked, const QPoint &p) } } -void ContextPaneWidget::onDisable() +void ContextPaneWidget::onDisable(bool b) { DesignerSettings designerSettings = Internal::BauhausPlugin::pluginInstance()->settings(); - designerSettings.enableContextPane = false; + designerSettings.enableContextPane = b; Internal::BauhausPlugin::pluginInstance()->setSettings(designerSettings); - hide(); - colorDialog()->hide(); + if (!b) { + hide(); + colorDialog()->hide(); + } } void ContextPaneWidget::onResetPosition(bool toggle) diff --git a/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.h b/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.h index 4964fad9e65bb0453b74f9439270615c7d84e517..3f41888e98e35b6add5081bb9e8e845051f6d519 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.h +++ b/src/plugins/qmldesigner/components/propertyeditor/contextpanewidget.h @@ -69,7 +69,7 @@ signals: void removeAndChangeProperty(const QString &, const QString &, const QVariant &, bool); private slots: - void onDisable(); + void onDisable(bool); void onResetPosition(bool toggle); protected: @@ -95,6 +95,7 @@ private: ContextPaneWidgetRectangle *m_rectangleWidget; QWeakPointer<BauhausColorDialog> m_bauhausColorDialog; QWeakPointer<QAction> m_resetAction; + QWeakPointer<QAction> m_disableAction; QString m_colorName; QPoint m_originalPos; bool m_pinned;