forked from qt-creator/qt-creator
QmlDesigner: Fix for toolbar
Task-number: QDS-9042, QDS-9040, QDS-9034, QDS-8956 Change-Id: I0639bbfdaa7475a277cbb247c7d85bf5b078a5aa Reviewed-by: Pranta Ghosh Dastider <pranta.dastider@qt.io> Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
This commit is contained in:
@@ -34,6 +34,7 @@ Item {
|
||||
style: StudioTheme.Values.statusbarButtonStyle
|
||||
buttonIcon: StudioTheme.Constants.settings_medium
|
||||
onClicked: backend.triggerProjectSettings()
|
||||
enabled: backend.isInDesignMode
|
||||
}
|
||||
|
||||
Text {
|
||||
|
||||
@@ -30,10 +30,9 @@ Rectangle {
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
enabled: backend.isDesignModeEnabled
|
||||
|
||||
tooltip: qsTr("Switch to Design Mode.")
|
||||
buttonIcon: StudioTheme.Constants.designMode_large
|
||||
tooltip: backend.isDesignModeEnabled ? qsTr("Switch to Design Mode.") : qsTr("Switch to Welcome Mode.")
|
||||
buttonIcon: backend.isDesignModeEnabled ? StudioTheme.Constants.designMode_large : StudioTheme.Constants.home_large
|
||||
onClicked: backend.triggerModeChange()
|
||||
}
|
||||
|
||||
@@ -60,6 +59,7 @@ Rectangle {
|
||||
anchors.leftMargin: 10
|
||||
buttonIcon: StudioTheme.Constants.home_large
|
||||
onClicked: backend.triggerModeChange()
|
||||
tooltip: qsTr("Switch to Welcome Mode.")
|
||||
}
|
||||
|
||||
ToolbarButton {
|
||||
|
||||
@@ -76,9 +76,14 @@ static void openUiFile()
|
||||
void ToolBarBackend::triggerModeChange()
|
||||
{
|
||||
QmlDesignerPlugin::emitUsageStatistics(Constants::EVENT_TOOLBAR_MODE_CHANGE);
|
||||
QTimer::singleShot(0, []() { //Do not trigger mode change directly from QML
|
||||
QTimer::singleShot(0, [this]() { //Do not trigger mode change directly from QML
|
||||
bool qmlFileOpen = false;
|
||||
|
||||
if (!projectOpened()) {
|
||||
Core::ModeManager::activateMode(Core::Constants::MODE_WELCOME);
|
||||
return;
|
||||
}
|
||||
|
||||
auto document = Core::EditorManager::currentDocument();
|
||||
|
||||
if (document)
|
||||
@@ -326,6 +331,7 @@ ToolBarBackend::ToolBarBackend(QObject *parent)
|
||||
[this](ProjectExplorer::Project *project) {
|
||||
disconnect(m_kitConnection);
|
||||
emit isQt6Changed();
|
||||
emit projectOpenedChanged();
|
||||
if (project) {
|
||||
m_kitConnection = connect(project,
|
||||
&ProjectExplorer::Project::activeTargetChanged,
|
||||
@@ -449,6 +455,11 @@ bool ToolBarBackend::isQt6() const
|
||||
return isQt6Project;
|
||||
}
|
||||
|
||||
bool ToolBarBackend::projectOpened() const
|
||||
{
|
||||
return ProjectExplorer::SessionManager::instance()->startupProject();
|
||||
}
|
||||
|
||||
void ToolBarBackend::setupWorkspaces()
|
||||
{
|
||||
m_workspaces.clear();
|
||||
|
||||
@@ -81,6 +81,7 @@ class ToolBarBackend : public QObject
|
||||
Q_PROPERTY(QStringList kits READ kits NOTIFY kitsChanged)
|
||||
Q_PROPERTY(int currentKit READ currentKit NOTIFY currentKitChanged)
|
||||
Q_PROPERTY(bool isQt6 READ isQt6 NOTIFY isQt6Changed)
|
||||
Q_PROPERTY(bool projectOpened READ projectOpened NOTIFY projectOpenedChanged)
|
||||
|
||||
public:
|
||||
ToolBarBackend(QObject *parent = nullptr);
|
||||
@@ -123,6 +124,8 @@ public:
|
||||
|
||||
bool isQt6() const;
|
||||
|
||||
bool projectOpened() const;
|
||||
|
||||
signals:
|
||||
void navigationHistoryChanged();
|
||||
void openDocumentsChanged();
|
||||
@@ -135,6 +138,7 @@ signals:
|
||||
void kitsChanged();
|
||||
void currentKitChanged();
|
||||
void isQt6Changed();
|
||||
void projectOpenedChanged();
|
||||
|
||||
private:
|
||||
void setupWorkspaces();
|
||||
|
||||
Reference in New Issue
Block a user