diff --git a/src/editor/dialogs/addeventdialog.cpp b/src/editor/dialogs/addeventdialog.cpp
index ff92d6e..0734da2 100644
--- a/src/editor/dialogs/addeventdialog.cpp
+++ b/src/editor/dialogs/addeventdialog.cpp
@@ -7,6 +7,7 @@
#include "models/projecttreemodel.h"
#include "mainwindow.h"
#include "editorguiutils.h"
+#include "editorsettings.h"
AddEventDialog::AddEventDialog(ProjectTreeModel &projectModel, MainWindow &mainWindow, QWidget *parent) :
QDialog{parent},
@@ -86,6 +87,10 @@ AddEventDialog::AddEventDialog(ProjectTreeModel &projectModel, MainWindow &mainW
menu->addAction(tr("Add/Modify Triggers..."), this, [this](){ m_mainWindow.showDefineTriggers(); reject(); });
m_ui->pushButtonTrigger->setMenu(menu);
}
+
+ connect(&mainWindow.settings(), &EditorSettings::advancedModeChanged,
+ this, &AddEventDialog::advancedModeChanged);
+ advancedModeChanged(mainWindow.settings().advancedMode());
}
AddEventDialog::~AddEventDialog() = default;
@@ -107,3 +112,11 @@ void AddEventDialog::reject()
QDialog::reject();
}
+
+void AddEventDialog::advancedModeChanged(bool advancedMode)
+{
+ for (QWidget *widgets[] {
+ m_ui->pushButtonTrigger
+ }; QWidget *widget : widgets)
+ widget->setVisible(advancedMode);
+}
diff --git a/src/editor/dialogs/addeventdialog.h b/src/editor/dialogs/addeventdialog.h
index d952379..49ec271 100644
--- a/src/editor/dialogs/addeventdialog.h
+++ b/src/editor/dialogs/addeventdialog.h
@@ -25,6 +25,9 @@ public:
void accept() override;
void reject() override;
+private slots:
+ void advancedModeChanged(bool advancedMode);
+
private:
ProjectTreeModel &m_projectModel;
MainWindow &m_mainWindow;
diff --git a/src/editor/dialogs/backgroundpropertiesdialog.cpp b/src/editor/dialogs/backgroundpropertiesdialog.cpp
index 97fac2d..33ee5ae 100644
--- a/src/editor/dialogs/backgroundpropertiesdialog.cpp
+++ b/src/editor/dialogs/backgroundpropertiesdialog.cpp
@@ -11,6 +11,7 @@
#include "mainwindow.h"
#include "imagehelpers.h"
#include "editorguiutils.h"
+#include "editorsettings.h"
BackgroundPropertiesDialog::BackgroundPropertiesDialog(Background &background, ProjectTreeModel &projectModel, MainWindow &mainWindow) :
QDialog{&mainWindow},
@@ -44,6 +45,10 @@ BackgroundPropertiesDialog::BackgroundPropertiesDialog(Background &background, P
this, &BackgroundPropertiesDialog::changed);
connect(m_ui->checkBoxTileset, &QCheckBox::checkStateChanged,
this, &BackgroundPropertiesDialog::changed);
+
+ connect(&mainWindow.settings(), &EditorSettings::advancedModeChanged,
+ this, &BackgroundPropertiesDialog::advancedModeChanged);
+ advancedModeChanged(mainWindow.settings().advancedMode());
}
BackgroundPropertiesDialog::~BackgroundPropertiesDialog() = default;
@@ -166,6 +171,15 @@ void BackgroundPropertiesDialog::backgroundNameChanged(const Background &backgro
updateTitle();
}
+void BackgroundPropertiesDialog::advancedModeChanged(bool advancedMode)
+{
+ for (QWidget *widgets[] {
+ m_ui->pushButtonSave,
+ m_ui->checkBoxTileset
+ }; QWidget *widget : widgets)
+ widget->setVisible(advancedMode);
+}
+
void BackgroundPropertiesDialog::updateTitle()
{
setWindowTitle(tr("Background Properties: %0%1")
diff --git a/src/editor/dialogs/backgroundpropertiesdialog.h b/src/editor/dialogs/backgroundpropertiesdialog.h
index c8bb7ca..5b7bbef 100644
--- a/src/editor/dialogs/backgroundpropertiesdialog.h
+++ b/src/editor/dialogs/backgroundpropertiesdialog.h
@@ -30,6 +30,8 @@ private slots:
void backgroundNameChanged(const Background &background);
+ void advancedModeChanged(bool advancedMode);
+
private:
void updateTitle();
void updateSpriteInfo();
diff --git a/src/editor/dialogs/objectpropertiesdialog.cpp b/src/editor/dialogs/objectpropertiesdialog.cpp
index 3bccc76..2910ddf 100644
--- a/src/editor/dialogs/objectpropertiesdialog.cpp
+++ b/src/editor/dialogs/objectpropertiesdialog.cpp
@@ -12,6 +12,7 @@
#include "models/objecteventsmodel.h"
#include "addeventdialog.h"
#include "editorguiutils.h"
+#include "editorsettings.h"
ObjectPropertiesDialog::ObjectPropertiesDialog(Object &object, ProjectTreeModel &projectModel, MainWindow &mainWindow) :
QDialog{&mainWindow},
@@ -120,6 +121,10 @@ ObjectPropertiesDialog::ObjectPropertiesDialog(Object &object, ProjectTreeModel
connect(m_ui->actionsWidget, &ActionsContainerWidget::changed,
this, &ObjectPropertiesDialog::changed);
+
+ connect(&mainWindow.settings(), &EditorSettings::advancedModeChanged,
+ this, &ObjectPropertiesDialog::advancedModeChanged);
+ advancedModeChanged(mainWindow.settings().advancedMode());
}
ObjectPropertiesDialog::~ObjectPropertiesDialog() = default;
@@ -439,6 +444,15 @@ void ObjectPropertiesDialog::setMaskSprite(const Sprite &sprite)
changed();
}
+void ObjectPropertiesDialog::advancedModeChanged(bool advancedMode)
+{
+ for (QWidget *widgets[] {
+ m_ui->widgetDetails,
+ m_ui->pushButtonShowInformation
+ }; QWidget *widget : widgets)
+ widget->setVisible(advancedMode);
+}
+
void ObjectPropertiesDialog::updateTitle()
{
setWindowTitle(tr("Object Properties: %0%1")
diff --git a/src/editor/dialogs/objectpropertiesdialog.h b/src/editor/dialogs/objectpropertiesdialog.h
index 947d95a..5765fd5 100644
--- a/src/editor/dialogs/objectpropertiesdialog.h
+++ b/src/editor/dialogs/objectpropertiesdialog.h
@@ -53,6 +53,8 @@ private slots:
void clearMaskSprite();
void setMaskSprite(const Sprite &sprite);
+ void advancedModeChanged(bool advancedMode);
+
private:
void updateTitle();
void updateSpritePreview();
diff --git a/src/editor/dialogs/objectpropertiesdialog.ui b/src/editor/dialogs/objectpropertiesdialog.ui
index 6e14acd..fc54753 100644
--- a/src/editor/dialogs/objectpropertiesdialog.ui
+++ b/src/editor/dialogs/objectpropertiesdialog.ui
@@ -21,7 +21,7 @@
-
-
-
+
-
@@ -68,7 +68,7 @@
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
@@ -92,7 +92,7 @@
...
- QToolButton::InstantPopup
+ QToolButton::ToolButtonPopupMode::InstantPopup
@@ -164,105 +164,101 @@
-
-
-
-
-
-
- Depth:
-
-
- spinBoxDepth
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- The depth at which the object is drawn
-
-
-
- -
-
-
- Wheter the object is persistent between rooms
-
-
- Persistent
-
-
-
- -
-
-
- Parent:
-
-
- widgetParent
-
-
-
- -
-
-
- -
-
-
-
-
-
- -
-
-
- ...
-
-
- QToolButton::InstantPopup
-
-
-
-
-
- -
-
-
- Mask:
-
-
- lineEditMask
-
-
-
-
+
+
+ -
+
+
+ Depth:
+
+
+ spinBoxDepth
+
+
+
+ -
+
+
+ The depth at which the object is drawn
+
+
+
+ -
+
+
+ Wheter the object is persistent between rooms
+
+
+ Persistent
+
+
+
+ -
+
+
+ Parent:
+
+
+ widgetParent
+
+
+
+ -
+
+
+ -
+
+
-
+
+
+ -
+
+
+ ...
+
+
+ QToolButton::ToolButtonPopupMode::InstantPopup
+
+
+
+
+
+ -
+
+
+ Mask:
+
+
+ lineEditMask
+
+
+
+
+
-
- Qt::Vertical
+ Qt::Orientation::Vertical
- QSizePolicy::Minimum
+ QSizePolicy::Policy::Minimum
@@ -295,7 +291,7 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -308,7 +304,7 @@
-
- QDialogButtonBox::Ok
+ QDialogButtonBox::StandardButton::Ok
true
@@ -338,7 +334,7 @@
- Qt::CustomContextMenu
+ Qt::ContextMenuPolicy::CustomContextMenu
diff --git a/src/editor/dialogs/roompropertiesdialog.cpp b/src/editor/dialogs/roompropertiesdialog.cpp
index 1675e76..10790f4 100644
--- a/src/editor/dialogs/roompropertiesdialog.cpp
+++ b/src/editor/dialogs/roompropertiesdialog.cpp
@@ -14,6 +14,7 @@
#include "editorguiutils.h"
#include "genericcodeeditordialog.h"
#include "mainwindow.h"
+#include "editorsettings.h"
RoomPropertiesDialog::RoomPropertiesDialog(Room &room, ProjectTreeModel &projectModel, MainWindow &mainWindow) :
QDialog{&mainWindow},
@@ -192,6 +193,10 @@ RoomPropertiesDialog::RoomPropertiesDialog(Room &room, ProjectTreeModel &project
if (!m_projectModel.project()->objects.empty())
setObject(m_projectModel.project()->objects.back());
+
+ connect(&mainWindow.settings(), &EditorSettings::advancedModeChanged,
+ this, &RoomPropertiesDialog::advancedModeChanged);
+ advancedModeChanged(mainWindow.settings().advancedMode());
}
RoomPropertiesDialog::~RoomPropertiesDialog() = default;
@@ -422,6 +427,18 @@ void RoomPropertiesDialog::cursorMoved(const QPoint &point)
m_labelY->setText(tr("Y: %0").arg(point.y()));
}
+void RoomPropertiesDialog::advancedModeChanged(bool advancedMode)
+{
+ for (QWidget *widgets[] {
+ m_ui->checkBoxPersistent,
+ m_ui->pushButtonCreationCode
+ }; QWidget *widget : widgets)
+ widget->setVisible(advancedMode);
+
+ m_ui->tabWidget->setTabVisible(m_ui->tabWidget->indexOf(m_ui->tabTiles), advancedMode);
+ m_ui->tabWidget->setTabVisible(m_ui->tabWidget->indexOf(m_ui->tabViews), advancedMode);
+}
+
void RoomPropertiesDialog::setObject(const Object &object)
{
m_selectedObject = &object;
diff --git a/src/editor/dialogs/roompropertiesdialog.h b/src/editor/dialogs/roompropertiesdialog.h
index 15f39a6..6facaa9 100644
--- a/src/editor/dialogs/roompropertiesdialog.h
+++ b/src/editor/dialogs/roompropertiesdialog.h
@@ -50,6 +50,8 @@ private slots:
void cursorMoved(const QPoint &point);
+ void advancedModeChanged(bool advancedMode);
+
private:
void setObject(const Object &object);
void updateTitle();
diff --git a/src/editor/dialogs/roompropertiesdialog.ui b/src/editor/dialogs/roompropertiesdialog.ui
index 6ba4572..dbcdfe0 100644
--- a/src/editor/dialogs/roompropertiesdialog.ui
+++ b/src/editor/dialogs/roompropertiesdialog.ui
@@ -36,10 +36,10 @@
-
- QFrame::Panel
+ QFrame::Shape::Panel
- QFrame::Raised
+ QFrame::Shadow::Raised
@@ -94,11 +94,11 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
- QTabWidget::West
+ QTabWidget::TabPosition::West
0
@@ -126,7 +126,7 @@
true
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
@@ -134,11 +134,11 @@
0
0
595
- 527
+ 528
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
@@ -146,10 +146,10 @@
-
- QFrame::StyledPanel
+ QFrame::Shape::StyledPanel
- QFrame::Raised
+ QFrame::Shadow::Raised
-
@@ -174,7 +174,7 @@
...
- QToolButton::InstantPopup
+ QToolButton::ToolButtonPopupMode::InstantPopup
@@ -313,11 +313,14 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
+
+
+ QSizePolicy::Policy::Minimum
- 40
+ 0
20
@@ -337,11 +340,14 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
+
+
+ QSizePolicy::Policy::Minimum
- 40
+ 0
20
@@ -352,7 +358,7 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -380,7 +386,7 @@
0
0
577
- 539
+ 540
@@ -389,10 +395,10 @@
-
- QFrame::StyledPanel
+ QFrame::Shape::StyledPanel
- QFrame::Raised
+ QFrame::Shadow::Raised
-
@@ -451,7 +457,7 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
@@ -471,7 +477,7 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
@@ -488,11 +494,14 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
+
+
+ QSizePolicy::Policy::Minimum
- 177
+ 0
20
@@ -618,7 +627,7 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
@@ -635,7 +644,7 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
@@ -680,7 +689,7 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -695,11 +704,14 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
+
+
+ QSizePolicy::Policy::Minimum
- 119
+ 0
20
@@ -930,7 +942,7 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
@@ -945,11 +957,14 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
+
+
+ QSizePolicy::Policy::Minimum
- 255
+ 0
20
@@ -970,7 +985,7 @@
true
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
Custom Widget
@@ -1184,17 +1199,17 @@
+
+ QLineEditWithMenu
+ QLineEdit
+ widgets/qlineeditwithmenu.h
+
RoomEditWidget
QWidget
1
-
- QLineEditWithMenu
- QLineEdit
- widgets/qlineeditwithmenu.h
-
QScrollAreaWithMenu
QScrollArea
diff --git a/src/editor/dialogs/soundpropertiesdialog.cpp b/src/editor/dialogs/soundpropertiesdialog.cpp
index 841a933..5ff47ed 100644
--- a/src/editor/dialogs/soundpropertiesdialog.cpp
+++ b/src/editor/dialogs/soundpropertiesdialog.cpp
@@ -11,6 +11,7 @@
#include "models/projecttreemodel.h"
#include "mainwindow.h"
#include "editorguiutils.h"
+#include "editorsettings.h"
SoundPropertiesDialog::SoundPropertiesDialog(Sound &sound, ProjectTreeModel &projectModel, MainWindow &mainWindow) :
QDialog{&mainWindow},
@@ -84,6 +85,10 @@ SoundPropertiesDialog::SoundPropertiesDialog(Sound &sound, ProjectTreeModel &pro
this, &SoundPropertiesDialog::changed);
connect(m_ui->checkBoxPreload, &QCheckBox::checkStateChanged,
this, &SoundPropertiesDialog::changed);
+
+ connect(&mainWindow.settings(), &EditorSettings::advancedModeChanged,
+ this, &SoundPropertiesDialog::advancedModeChanged);
+ advancedModeChanged(mainWindow.settings().advancedMode());
}
SoundPropertiesDialog::~SoundPropertiesDialog() = default;
@@ -238,6 +243,18 @@ void SoundPropertiesDialog::soundNameChanged(const Sound &sound)
updateTitle();
}
+void SoundPropertiesDialog::advancedModeChanged(bool advancedMode)
+{
+ for (QWidget *widgets[] {
+ m_ui->groupBoxKind,
+ m_ui->groupBoxEffects,
+ m_ui->widgetSliders,
+ m_ui->checkBoxPreload,
+ m_ui->pushButtonEdit
+ }; QWidget *widget : widgets)
+ widget->setVisible(advancedMode);
+}
+
void SoundPropertiesDialog::updateTitle()
{
setWindowTitle(tr("Sound Properties: %0%1")
diff --git a/src/editor/dialogs/soundpropertiesdialog.h b/src/editor/dialogs/soundpropertiesdialog.h
index 1c4c4dd..41a1faf 100644
--- a/src/editor/dialogs/soundpropertiesdialog.h
+++ b/src/editor/dialogs/soundpropertiesdialog.h
@@ -33,6 +33,8 @@ private slots:
void soundNameChanged(const Sound &sound);
+ void advancedModeChanged(bool advancedMode);
+
private:
void updateTitle();
diff --git a/src/editor/dialogs/soundpropertiesdialog.ui b/src/editor/dialogs/soundpropertiesdialog.ui
index b0fcdd1..0a83714 100644
--- a/src/editor/dialogs/soundpropertiesdialog.ui
+++ b/src/editor/dialogs/soundpropertiesdialog.ui
@@ -7,7 +7,7 @@
0
0
239
- 534
+ 590
@@ -19,7 +19,7 @@
-
-
+
-
@@ -194,66 +194,68 @@
-
-
-
-
-
-
- Volume:
-
-
- horizontalSliderVolume
-
-
-
- -
-
-
- Indicates the default volume for the sound
-
-
- 100
-
-
- 100
-
-
- Qt::Horizontal
-
-
-
- -
-
-
- Pan:
-
-
- horizontalSliderPan
-
-
-
- -
-
-
- Indicates the default pan for the sound
-
-
- -100
-
-
- 100
-
-
- Qt::Horizontal
-
-
- false
-
-
- false
-
-
-
-
+
+
+ -
+
+
+ Volume:
+
+
+ horizontalSliderVolume
+
+
+
+ -
+
+
+ Indicates the default volume for the sound
+
+
+ 100
+
+
+ 100
+
+
+ Qt::Orientation::Horizontal
+
+
+
+ -
+
+
+ Pan:
+
+
+ horizontalSliderPan
+
+
+
+ -
+
+
+ Indicates the default pan for the sound
+
+
+ -100
+
+
+ 100
+
+
+ Qt::Orientation::Horizontal
+
+
+ false
+
+
+ false
+
+
+
+
+
-
@@ -273,7 +275,7 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
@@ -300,7 +302,7 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
@@ -315,7 +317,7 @@
-
- QDialogButtonBox::Ok
+ QDialogButtonBox::StandardButton::Ok
true
diff --git a/src/editor/dialogs/spritepropertiesdialog.cpp b/src/editor/dialogs/spritepropertiesdialog.cpp
index 5694ad4..226d565 100644
--- a/src/editor/dialogs/spritepropertiesdialog.cpp
+++ b/src/editor/dialogs/spritepropertiesdialog.cpp
@@ -13,6 +13,7 @@
#include "mainwindow.h"
#include "imagehelpers.h"
#include "editorguiutils.h"
+#include "editorsettings.h"
SpritePropertiesDialog::SpritePropertiesDialog(Sprite &sprite, ProjectTreeModel &projectModel, MainWindow &mainWindow) :
QDialog{&mainWindow},
@@ -59,6 +60,10 @@ SpritePropertiesDialog::SpritePropertiesDialog(Sprite &sprite, ProjectTreeModel
this, &SpritePropertiesDialog::changed);
connect(m_ui->checkBoxSeparateCollisionMasks, &QCheckBox::checkStateChanged,
this, &SpritePropertiesDialog::changed);
+
+ connect(&mainWindow.settings(), &EditorSettings::advancedModeChanged,
+ this, &SpritePropertiesDialog::advancedModeChanged);
+ advancedModeChanged(mainWindow.settings().advancedMode());
}
SpritePropertiesDialog::~SpritePropertiesDialog() = default;
@@ -205,6 +210,16 @@ void SpritePropertiesDialog::spriteNameChanged(const Sprite &sprite)
updateTitle();
}
+void SpritePropertiesDialog::advancedModeChanged(bool advancedMode)
+{
+ for (QWidget *widgets[] {
+ m_ui->pushButtonSave,
+ m_ui->groupBoxOrigin,
+ m_ui->groupBoxCollisionChecking
+ }; QWidget *widget : widgets)
+ widget->setVisible(advancedMode);
+}
+
void SpritePropertiesDialog::updateTitle()
{
setWindowTitle(tr("Sprite Properties: %0%1")
diff --git a/src/editor/dialogs/spritepropertiesdialog.h b/src/editor/dialogs/spritepropertiesdialog.h
index 9e6e70d..916e030 100644
--- a/src/editor/dialogs/spritepropertiesdialog.h
+++ b/src/editor/dialogs/spritepropertiesdialog.h
@@ -32,6 +32,8 @@ private slots:
void spriteNameChanged(const Sprite &sprite);
+ void advancedModeChanged(bool advancedMode);
+
private:
void updateTitle();
void updateSpriteInfo();
diff --git a/src/editor/editorsettings.cpp b/src/editor/editorsettings.cpp
index c4db2c4..a7103d5 100644
--- a/src/editor/editorsettings.cpp
+++ b/src/editor/editorsettings.cpp
@@ -135,3 +135,16 @@ void EditorSettings::setHideWebsiteImage(bool hideWebsiteImage)
{
setValue("hideWebsiteImage", hideWebsiteImage);
}
+
+bool EditorSettings::advancedMode() const
+{
+ return value("advancedMode", true).toBool();
+}
+
+void EditorSettings::setAdvancedMode(bool advancedMode)
+{
+ if (advancedMode == this->advancedMode())
+ return;
+ setValue("advancedMode", advancedMode);
+ emit advancedModeChanged(advancedMode);
+}
diff --git a/src/editor/editorsettings.h b/src/editor/editorsettings.h
index 54a9679..a6ee5d2 100644
--- a/src/editor/editorsettings.h
+++ b/src/editor/editorsettings.h
@@ -7,6 +7,7 @@
class EditorSettings : public QSettings
{
Q_OBJECT
+ Q_PROPERTY(bool advancedMode READ advancedMode WRITE setAdvancedMode NOTIFY advancedModeChanged FINAL)
public:
using QSettings::QSettings;
@@ -47,4 +48,10 @@ public:
bool hideWebsiteImage() const;
void setHideWebsiteImage(bool hideWebsiteImage);
+
+ bool advancedMode() const;
+ void setAdvancedMode(bool advancedMode);
+
+signals:
+ void advancedModeChanged(bool advancedMode);
};
diff --git a/src/editor/mainwindow.cpp b/src/editor/mainwindow.cpp
index 663971a..13f9974 100644
--- a/src/editor/mainwindow.cpp
+++ b/src/editor/mainwindow.cpp
@@ -172,6 +172,11 @@ MainWindow::MainWindow(const QString &filePath, EditorSettings &settings, QWidge
updateVisibilities();
+ m_ui->actionAdvancedMode->setChecked(m_settings.advancedMode());
+ connect(m_ui->actionAdvancedMode, &QAction::toggled, &m_settings, &EditorSettings::setAdvancedMode);
+ connect(&m_settings, &EditorSettings::advancedModeChanged, this, &MainWindow::advancedModeChanged);
+ advancedModeChanged(m_settings.advancedMode());
+
restoreGeometry(m_settings.mainWindowGeometry());
restoreState(m_settings.mainWindowState());
}
@@ -591,6 +596,41 @@ void MainWindow::exportResources()
QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
}
+void MainWindow::advancedModeChanged(bool advancedMode)
+{
+ for (const QModelIndex &index : {
+ m_projectTreeModel->rootFor(),
+ m_projectTreeModel->rootFor