forked from qt-creator/qt-creator
QmlDesigner: Make kit settings button a toggle
Task-number: QDS-10258 Change-Id: If680778b6cc1f5795887ac9da69f35ae9858308c Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io> Reviewed-by: Aleksei German <aleksei.german@qt.io>
This commit is contained in:
committed by
Thomas Hartmann
parent
4d1a210060
commit
0899c540be
@@ -34,8 +34,11 @@ Item {
|
||||
id: settingButton
|
||||
style: StudioTheme.Values.statusbarButtonStyle
|
||||
buttonIcon: StudioTheme.Constants.settings_medium
|
||||
onClicked: backend.triggerProjectSettings()
|
||||
enabled: backend.isInDesignMode || (backend.isInEditMode && backend.projectOpened)
|
||||
checkable: true
|
||||
checkedInverted: true
|
||||
checked: backend.isInSessionMode
|
||||
onClicked: settingButton.checked ? backend.triggerProjectSettings() : backend.triggerModeChange()
|
||||
enabled: backend.projectOpened
|
||||
tooltip: qsTr("Set runtime configuration for the project.")
|
||||
}
|
||||
|
||||
|
@@ -343,6 +343,7 @@ ToolBarBackend::ToolBarBackend(QObject *parent)
|
||||
connect(Core::ModeManager::instance(), &Core::ModeManager::currentModeChanged, this, [this]() {
|
||||
emit isInDesignModeChanged();
|
||||
emit isInEditModeChanged();
|
||||
emit isInSessionModeChanged();
|
||||
emit isDesignModeEnabledChanged();
|
||||
});
|
||||
|
||||
@@ -634,6 +635,14 @@ bool ToolBarBackend::isInEditMode() const
|
||||
return Core::ModeManager::currentModeId() == Core::Constants::MODE_EDIT;
|
||||
}
|
||||
|
||||
bool ToolBarBackend::isInSessionMode() const
|
||||
{
|
||||
if (!Core::ModeManager::instance())
|
||||
return false;
|
||||
|
||||
return Core::ModeManager::currentModeId() == ProjectExplorer::Constants::MODE_SESSION;
|
||||
}
|
||||
|
||||
bool ToolBarBackend::isDesignModeEnabled() const
|
||||
{
|
||||
if (Core::DesignMode::instance())
|
||||
|
@@ -87,6 +87,7 @@ class ToolBarBackend : public QObject
|
||||
Q_PROPERTY(QStringList styles READ styles CONSTANT)
|
||||
Q_PROPERTY(bool isInDesignMode READ isInDesignMode NOTIFY isInDesignModeChanged)
|
||||
Q_PROPERTY(bool isInEditMode READ isInEditMode NOTIFY isInEditModeChanged)
|
||||
Q_PROPERTY(bool isInSessionMode READ isInSessionMode NOTIFY isInSessionModeChanged)
|
||||
Q_PROPERTY(bool isDesignModeEnabled READ isDesignModeEnabled NOTIFY isDesignModeEnabledChanged)
|
||||
Q_PROPERTY(int currentStyle READ currentStyle NOTIFY currentStyleChanged)
|
||||
Q_PROPERTY(QStringList kits READ kits NOTIFY kitsChanged)
|
||||
@@ -128,6 +129,7 @@ public:
|
||||
|
||||
bool isInDesignMode() const;
|
||||
bool isInEditMode() const;
|
||||
bool isInSessionMode() const;
|
||||
bool isDesignModeEnabled() const;
|
||||
int currentStyle() const;
|
||||
|
||||
@@ -149,6 +151,7 @@ signals:
|
||||
void lockWorkspaceChanged();
|
||||
void isInDesignModeChanged();
|
||||
void isInEditModeChanged();
|
||||
void isInSessionModeChanged();
|
||||
void isDesignModeEnabledChanged();
|
||||
void currentStyleChanged();
|
||||
void kitsChanged();
|
||||
|
Reference in New Issue
Block a user