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
|
style: StudioTheme.Values.statusbarButtonStyle
|
||||||
buttonIcon: StudioTheme.Constants.settings_medium
|
buttonIcon: StudioTheme.Constants.settings_medium
|
||||||
onClicked: backend.triggerProjectSettings()
|
onClicked: backend.triggerProjectSettings()
|
||||||
|
enabled: backend.isInDesignMode
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
|
|||||||
@@ -30,10 +30,9 @@ Rectangle {
|
|||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 10
|
anchors.leftMargin: 10
|
||||||
enabled: backend.isDesignModeEnabled
|
|
||||||
|
|
||||||
tooltip: qsTr("Switch to Design Mode.")
|
tooltip: backend.isDesignModeEnabled ? qsTr("Switch to Design Mode.") : qsTr("Switch to Welcome Mode.")
|
||||||
buttonIcon: StudioTheme.Constants.designMode_large
|
buttonIcon: backend.isDesignModeEnabled ? StudioTheme.Constants.designMode_large : StudioTheme.Constants.home_large
|
||||||
onClicked: backend.triggerModeChange()
|
onClicked: backend.triggerModeChange()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,6 +59,7 @@ Rectangle {
|
|||||||
anchors.leftMargin: 10
|
anchors.leftMargin: 10
|
||||||
buttonIcon: StudioTheme.Constants.home_large
|
buttonIcon: StudioTheme.Constants.home_large
|
||||||
onClicked: backend.triggerModeChange()
|
onClicked: backend.triggerModeChange()
|
||||||
|
tooltip: qsTr("Switch to Welcome Mode.")
|
||||||
}
|
}
|
||||||
|
|
||||||
ToolbarButton {
|
ToolbarButton {
|
||||||
|
|||||||
@@ -76,9 +76,14 @@ static void openUiFile()
|
|||||||
void ToolBarBackend::triggerModeChange()
|
void ToolBarBackend::triggerModeChange()
|
||||||
{
|
{
|
||||||
QmlDesignerPlugin::emitUsageStatistics(Constants::EVENT_TOOLBAR_MODE_CHANGE);
|
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;
|
bool qmlFileOpen = false;
|
||||||
|
|
||||||
|
if (!projectOpened()) {
|
||||||
|
Core::ModeManager::activateMode(Core::Constants::MODE_WELCOME);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
auto document = Core::EditorManager::currentDocument();
|
auto document = Core::EditorManager::currentDocument();
|
||||||
|
|
||||||
if (document)
|
if (document)
|
||||||
@@ -326,6 +331,7 @@ ToolBarBackend::ToolBarBackend(QObject *parent)
|
|||||||
[this](ProjectExplorer::Project *project) {
|
[this](ProjectExplorer::Project *project) {
|
||||||
disconnect(m_kitConnection);
|
disconnect(m_kitConnection);
|
||||||
emit isQt6Changed();
|
emit isQt6Changed();
|
||||||
|
emit projectOpenedChanged();
|
||||||
if (project) {
|
if (project) {
|
||||||
m_kitConnection = connect(project,
|
m_kitConnection = connect(project,
|
||||||
&ProjectExplorer::Project::activeTargetChanged,
|
&ProjectExplorer::Project::activeTargetChanged,
|
||||||
@@ -449,6 +455,11 @@ bool ToolBarBackend::isQt6() const
|
|||||||
return isQt6Project;
|
return isQt6Project;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ToolBarBackend::projectOpened() const
|
||||||
|
{
|
||||||
|
return ProjectExplorer::SessionManager::instance()->startupProject();
|
||||||
|
}
|
||||||
|
|
||||||
void ToolBarBackend::setupWorkspaces()
|
void ToolBarBackend::setupWorkspaces()
|
||||||
{
|
{
|
||||||
m_workspaces.clear();
|
m_workspaces.clear();
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ class ToolBarBackend : public QObject
|
|||||||
Q_PROPERTY(QStringList kits READ kits NOTIFY kitsChanged)
|
Q_PROPERTY(QStringList kits READ kits NOTIFY kitsChanged)
|
||||||
Q_PROPERTY(int currentKit READ currentKit NOTIFY currentKitChanged)
|
Q_PROPERTY(int currentKit READ currentKit NOTIFY currentKitChanged)
|
||||||
Q_PROPERTY(bool isQt6 READ isQt6 NOTIFY isQt6Changed)
|
Q_PROPERTY(bool isQt6 READ isQt6 NOTIFY isQt6Changed)
|
||||||
|
Q_PROPERTY(bool projectOpened READ projectOpened NOTIFY projectOpenedChanged)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ToolBarBackend(QObject *parent = nullptr);
|
ToolBarBackend(QObject *parent = nullptr);
|
||||||
@@ -123,6 +124,8 @@ public:
|
|||||||
|
|
||||||
bool isQt6() const;
|
bool isQt6() const;
|
||||||
|
|
||||||
|
bool projectOpened() const;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void navigationHistoryChanged();
|
void navigationHistoryChanged();
|
||||||
void openDocumentsChanged();
|
void openDocumentsChanged();
|
||||||
@@ -135,6 +138,7 @@ signals:
|
|||||||
void kitsChanged();
|
void kitsChanged();
|
||||||
void currentKitChanged();
|
void currentKitChanged();
|
||||||
void isQt6Changed();
|
void isQt6Changed();
|
||||||
|
void projectOpenedChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void setupWorkspaces();
|
void setupWorkspaces();
|
||||||
|
|||||||
Reference in New Issue
Block a user