From a29ae07957a0a80be8090f618778337698c6aa4b Mon Sep 17 00:00:00 2001 From: elsid Date: Thu, 14 Dec 2023 00:28:43 +0100 Subject: [PATCH] Fix CS Key Binding settings page This got broken by e07d8f3066. Creating QGridLayout with parent and setting it later has not the same effect. --- apps/opencs/model/prefs/boolsetting.cpp | 2 +- apps/opencs/model/prefs/coloursetting.cpp | 2 +- apps/opencs/model/prefs/doublesetting.cpp | 2 +- apps/opencs/model/prefs/enumsetting.cpp | 2 +- apps/opencs/model/prefs/intsetting.cpp | 2 +- apps/opencs/model/prefs/modifiersetting.cpp | 2 +- apps/opencs/model/prefs/setting.hpp | 1 - apps/opencs/model/prefs/shortcutsetting.cpp | 2 +- apps/opencs/model/prefs/stringsetting.cpp | 2 +- apps/opencs/model/prefs/subcategory.cpp | 5 +---- apps/opencs/view/prefs/keybindingpage.cpp | 6 +++--- 11 files changed, 12 insertions(+), 16 deletions(-) diff --git a/apps/opencs/model/prefs/boolsetting.cpp b/apps/opencs/model/prefs/boolsetting.cpp index 2ca8315245..c7520c415d 100644 --- a/apps/opencs/model/prefs/boolsetting.cpp +++ b/apps/opencs/model/prefs/boolsetting.cpp @@ -36,7 +36,7 @@ CSMPrefs::SettingWidgets CSMPrefs::BoolSetting::makeWidgets(QWidget* parent) connect(mWidget, &QCheckBox::stateChanged, this, &BoolSetting::valueChanged); - return SettingWidgets{ .mLabel = nullptr, .mInput = mWidget, .mLayout = nullptr }; + return SettingWidgets{ .mLabel = nullptr, .mInput = mWidget }; } void CSMPrefs::BoolSetting::updateWidget() diff --git a/apps/opencs/model/prefs/coloursetting.cpp b/apps/opencs/model/prefs/coloursetting.cpp index 61aa92063e..9e237dd7a8 100644 --- a/apps/opencs/model/prefs/coloursetting.cpp +++ b/apps/opencs/model/prefs/coloursetting.cpp @@ -41,7 +41,7 @@ CSMPrefs::SettingWidgets CSMPrefs::ColourSetting::makeWidgets(QWidget* parent) connect(mWidget, &CSVWidget::ColorEditor::pickingFinished, this, &ColourSetting::valueChanged); - return SettingWidgets{ .mLabel = label, .mInput = mWidget, .mLayout = nullptr }; + return SettingWidgets{ .mLabel = label, .mInput = mWidget }; } void CSMPrefs::ColourSetting::updateWidget() diff --git a/apps/opencs/model/prefs/doublesetting.cpp b/apps/opencs/model/prefs/doublesetting.cpp index b275c2e9b7..679c8d6a92 100644 --- a/apps/opencs/model/prefs/doublesetting.cpp +++ b/apps/opencs/model/prefs/doublesetting.cpp @@ -73,7 +73,7 @@ CSMPrefs::SettingWidgets CSMPrefs::DoubleSetting::makeWidgets(QWidget* parent) connect(mWidget, qOverload(&QDoubleSpinBox::valueChanged), this, &DoubleSetting::valueChanged); - return SettingWidgets{ .mLabel = label, .mInput = mWidget, .mLayout = nullptr }; + return SettingWidgets{ .mLabel = label, .mInput = mWidget }; } void CSMPrefs::DoubleSetting::updateWidget() diff --git a/apps/opencs/model/prefs/enumsetting.cpp b/apps/opencs/model/prefs/enumsetting.cpp index 1521c3cc13..938da874e1 100644 --- a/apps/opencs/model/prefs/enumsetting.cpp +++ b/apps/opencs/model/prefs/enumsetting.cpp @@ -106,7 +106,7 @@ CSMPrefs::SettingWidgets CSMPrefs::EnumSetting::makeWidgets(QWidget* parent) connect(mWidget, qOverload(&QComboBox::currentIndexChanged), this, &EnumSetting::valueChanged); - return SettingWidgets{ .mLabel = label, .mInput = mWidget, .mLayout = nullptr }; + return SettingWidgets{ .mLabel = label, .mInput = mWidget }; } void CSMPrefs::EnumSetting::updateWidget() diff --git a/apps/opencs/model/prefs/intsetting.cpp b/apps/opencs/model/prefs/intsetting.cpp index 023339b9c1..54fd13233e 100644 --- a/apps/opencs/model/prefs/intsetting.cpp +++ b/apps/opencs/model/prefs/intsetting.cpp @@ -65,7 +65,7 @@ CSMPrefs::SettingWidgets CSMPrefs::IntSetting::makeWidgets(QWidget* parent) connect(mWidget, qOverload(&QSpinBox::valueChanged), this, &IntSetting::valueChanged); - return SettingWidgets{ .mLabel = label, .mInput = mWidget, .mLayout = nullptr }; + return SettingWidgets{ .mLabel = label, .mInput = mWidget }; } void CSMPrefs::IntSetting::updateWidget() diff --git a/apps/opencs/model/prefs/modifiersetting.cpp b/apps/opencs/model/prefs/modifiersetting.cpp index 53db4c8521..99caedb2c8 100644 --- a/apps/opencs/model/prefs/modifiersetting.cpp +++ b/apps/opencs/model/prefs/modifiersetting.cpp @@ -47,7 +47,7 @@ namespace CSMPrefs connect(widget, &QPushButton::toggled, this, &ModifierSetting::buttonToggled); - return SettingWidgets{ .mLabel = label, .mInput = widget, .mLayout = nullptr }; + return SettingWidgets{ .mLabel = label, .mInput = widget }; } void ModifierSetting::updateWidget() diff --git a/apps/opencs/model/prefs/setting.hpp b/apps/opencs/model/prefs/setting.hpp index f5d9e83ef1..72b070b2fc 100644 --- a/apps/opencs/model/prefs/setting.hpp +++ b/apps/opencs/model/prefs/setting.hpp @@ -23,7 +23,6 @@ namespace CSMPrefs { QLabel* mLabel; QWidget* mInput; - QGridLayout* mLayout; }; class Setting : public QObject diff --git a/apps/opencs/model/prefs/shortcutsetting.cpp b/apps/opencs/model/prefs/shortcutsetting.cpp index 42902f02cd..33bb521290 100644 --- a/apps/opencs/model/prefs/shortcutsetting.cpp +++ b/apps/opencs/model/prefs/shortcutsetting.cpp @@ -51,7 +51,7 @@ namespace CSMPrefs connect(widget, &QPushButton::toggled, this, &ShortcutSetting::buttonToggled); - return SettingWidgets{ .mLabel = label, .mInput = widget, .mLayout = nullptr }; + return SettingWidgets{ .mLabel = label, .mInput = widget }; } void ShortcutSetting::updateWidget() diff --git a/apps/opencs/model/prefs/stringsetting.cpp b/apps/opencs/model/prefs/stringsetting.cpp index d70324ba56..56c46bb6af 100644 --- a/apps/opencs/model/prefs/stringsetting.cpp +++ b/apps/opencs/model/prefs/stringsetting.cpp @@ -36,7 +36,7 @@ CSMPrefs::SettingWidgets CSMPrefs::StringSetting::makeWidgets(QWidget* parent) connect(mWidget, &QLineEdit::textChanged, this, &StringSetting::textChanged); - return SettingWidgets{ .mLabel = nullptr, .mInput = mWidget, .mLayout = nullptr }; + return SettingWidgets{ .mLabel = nullptr, .mInput = mWidget }; } void CSMPrefs::StringSetting::updateWidget() diff --git a/apps/opencs/model/prefs/subcategory.cpp b/apps/opencs/model/prefs/subcategory.cpp index ac5b78ee2c..815025daec 100644 --- a/apps/opencs/model/prefs/subcategory.cpp +++ b/apps/opencs/model/prefs/subcategory.cpp @@ -13,9 +13,6 @@ namespace CSMPrefs SettingWidgets Subcategory::makeWidgets(QWidget* /*parent*/) { - QGridLayout* const layout = new QGridLayout(); - layout->setSizeConstraint(QLayout::SetMinAndMaxSize); - - return SettingWidgets{ .mLabel = nullptr, .mInput = nullptr, .mLayout = layout }; + return SettingWidgets{ .mLabel = nullptr, .mInput = nullptr }; } } diff --git a/apps/opencs/view/prefs/keybindingpage.cpp b/apps/opencs/view/prefs/keybindingpage.cpp index b88627aca1..f292fa4cf5 100644 --- a/apps/opencs/view/prefs/keybindingpage.cpp +++ b/apps/opencs/view/prefs/keybindingpage.cpp @@ -81,12 +81,12 @@ namespace CSVPrefs int next = mPageLayout->rowCount(); mPageLayout->addWidget(widgets.mInput, next, 0, 1, 2); } - else if (widgets.mLayout != nullptr) + else { // Create new page QWidget* pageWidget = new QWidget(); - mPageLayout = widgets.mLayout; - mPageLayout->setParent(pageWidget); + mPageLayout = new QGridLayout(pageWidget); + mPageLayout->setSizeConstraint(QLayout::SetMinAndMaxSize); mStackedLayout->addWidget(pageWidget);