Add website logo placeholder and its settings

This commit is contained in:
2025-12-20 15:05:27 +01:00
parent 440ed63975
commit 347e0c00c7
8 changed files with 65 additions and 38 deletions
+2 -9
View File
@@ -19,19 +19,12 @@ PreferencesDialog::PreferencesDialog(const EditorSettings &settings, QWidget *pa
improveButtonBox(m_ui->buttonBox);
Q_UNUSED(settings);
// TODO copy from settings to m_ui->*
m_ui->checkBoxHideWebsiteLogo->setChecked(settings.hideWebsiteImage());
}
PreferencesDialog::~PreferencesDialog() = default;
void PreferencesDialog::save(EditorSettings &settings)
{
Q_UNUSED(settings);
// TODO copy from m_ui->* to settings
}
void PreferencesDialog::accept()
{
QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
settings.setHideWebsiteImage(m_ui->checkBoxHideWebsiteLogo->isChecked());
}
-3
View File
@@ -17,9 +17,6 @@ public:
void save(EditorSettings &settings);
public slots:
void accept() override;
private:
const std::unique_ptr<Ui::PreferencesDialog> m_ui;
};
+1 -1
View File
@@ -128,7 +128,7 @@
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_6">
<widget class="QCheckBox" name="checkBoxHideWebsiteLogo">
<property name="text">
<string>Don't show the &amp;website image in the main menu</string>
</property>
+10
View File
@@ -82,3 +82,13 @@ TransparentBackgroundPattern EditorSettings::transparentBackgroundPattern() cons
transparentBackgroundSingleColor()
};
}
bool EditorSettings::hideWebsiteImage() const
{
return value("hideWebsiteImage", false).toBool();
}
void EditorSettings::setHideWebsiteImage(bool hideWebsiteImage)
{
setValue("hideWebsiteImage", hideWebsiteImage);
}
+3
View File
@@ -33,4 +33,7 @@ public:
void setTransparentBackgroundSingleColor(QColor transparentBackgroundSingleColor);
TransparentBackgroundPattern transparentBackgroundPattern() const;
bool hideWebsiteImage() const;
void setHideWebsiteImage(bool hideWebsiteImage);
};
+10
View File
@@ -169,6 +169,8 @@ MainWindow::MainWindow(const QString &filePath, EditorSettings &settings, QWidge
if (!m_filePath.isEmpty())
loadFile(m_filePath);
updateVisibilities();
restoreGeometry(m_settings.mainWindowGeometry());
restoreState(m_settings.mainWindowState());
}
@@ -589,7 +591,10 @@ void MainWindow::preferences()
{
PreferencesDialog dialog{m_settings, this};
if (dialog.exec() == QDialog::Accepted)
{
dialog.save(m_settings);
updateVisibilities();
}
}
void MainWindow::create()
@@ -939,6 +944,11 @@ void MainWindow::updateTitle()
.arg(m_unsavedChanges ? tr("*") : QString{}));
}
void MainWindow::updateVisibilities()
{
m_ui->logo->setHidden(m_settings.hideWebsiteImage());
}
QMdiSubWindow *MainWindow::addSubWindow(QDialog *dialog)
{
auto subwindow = m_ui->mdiArea->addSubWindow(dialog);
+1
View File
@@ -85,6 +85,7 @@ private:
void setupStylesMenu();
void loadFile(const QString &path);
void updateTitle();
void updateVisibilities();
QMdiSubWindow *addSubWindow(QDialog *dialog);
+38 -25
View File
@@ -17,31 +17,44 @@
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="DraggableTreeView" name="treeView">
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="editTriggers">
<set>QAbstractItemView::EditKeyPressed</set>
</property>
<property name="dragEnabled">
<bool>true</bool>
</property>
<property name="dragDropMode">
<enum>QAbstractItemView::DragDrop</enum>
</property>
<property name="iconSize">
<size>
<width>16</width>
<height>16</height>
</size>
</property>
<property name="animated">
<bool>true</bool>
</property>
<property name="headerHidden">
<bool>true</bool>
</property>
<widget class="QWidget">
<layout class="QVBoxLayout" name="verticalLayout" stretch="1,0">
<item>
<widget class="DraggableTreeView" name="treeView">
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="editTriggers">
<set>QAbstractItemView::EditKeyPressed</set>
</property>
<property name="dragEnabled">
<bool>true</bool>
</property>
<property name="dragDropMode">
<enum>QAbstractItemView::DragDrop</enum>
</property>
<property name="iconSize">
<size>
<width>16</width>
<height>16</height>
</size>
</property>
<property name="animated">
<bool>true</bool>
</property>
<property name="headerHidden">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="logo">
<property name="text">
<string>OIDA Games</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QMdiArea" name="mdiArea">
<property name="background">