summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2025-05-12 16:59:59 -0500
committerJordan Woyak <jordan.woyak@gmail.com>2025-05-26 20:58:48 -0500
commite796e82e8c7d3067216ae9694359319dbd4eccdb (patch)
treedebfedc7ada752f2111011d2affd175a1f0770a9 /Source
parent2b9935e6f4445cda15479e631752a9029479a0db (diff)
DolphinQt: Change game properties QTabWidget to QListWidget.
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/DolphinQt/Config/PropertiesDialog.cpp61
-rw-r--r--Source/Core/DolphinQt/Config/PropertiesDialog.h4
2 files changed, 23 insertions, 42 deletions
diff --git a/Source/Core/DolphinQt/Config/PropertiesDialog.cpp b/Source/Core/DolphinQt/Config/PropertiesDialog.cpp
index d82a843285..f95edf40c6 100644
--- a/Source/Core/DolphinQt/Config/PropertiesDialog.cpp
+++ b/Source/Core/DolphinQt/Config/PropertiesDialog.cpp
@@ -7,7 +7,6 @@
#include <QDialogButtonBox>
#include <QPushButton>
-#include <QTabWidget>
#include <QVBoxLayout>
#include "DiscIO/Enums.h"
@@ -24,28 +23,22 @@
#include "DolphinQt/QtUtils/WrapInScrollArea.h"
#include "UICommon/GameFile.h"
-#include "VideoCommon/VideoConfig.h"
PropertiesDialog::PropertiesDialog(QWidget* parent, const UICommon::GameFile& game)
- : QDialog(parent)
+ : StackedSettingsWindow{parent}
{
setWindowTitle(QStringLiteral("%1: %2 - %3")
.arg(QString::fromStdString(game.GetFileName()),
QString::fromStdString(game.GetGameID()),
QString::fromStdString(game.GetLongName())));
- setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
- QVBoxLayout* layout = new QVBoxLayout();
-
- QTabWidget* tab_widget = new QTabWidget(this);
- InfoWidget* info = new InfoWidget(game);
-
- ARCodeWidget* ar = new ARCodeWidget(game.GetGameID(), game.GetRevision());
- GeckoCodeWidget* gecko =
+ auto* const info = new InfoWidget(game);
+ auto* const ar = new ARCodeWidget(game.GetGameID(), game.GetRevision());
+ auto* const gecko =
new GeckoCodeWidget(game.GetGameID(), game.GetGameTDBID(), game.GetRevision());
- PatchesWidget* patches = new PatchesWidget(game);
- GameConfigWidget* game_config = new GameConfigWidget(game);
- GraphicsModListWidget* graphics_mod_list = new GraphicsModListWidget(game);
+ auto* const patches = new PatchesWidget(game);
+ auto* const game_config = new GameConfigWidget(game);
+ auto* const graphics_mod_list = new GraphicsModListWidget(game);
connect(gecko, &GeckoCodeWidget::OpenGeneralSettings, this,
&PropertiesDialog::OpenGeneralSettings);
@@ -63,45 +56,31 @@ PropertiesDialog::PropertiesDialog(QWidget* parent, const UICommon::GameFile& ga
connect(graphics_mod_list, &GraphicsModListWidget::OpenGraphicsSettings, this,
&PropertiesDialog::OpenGraphicsSettings);
- const int padding_width = 120;
- const int padding_height = 100;
- tab_widget->addTab(GetWrappedWidget(info, this, padding_width, padding_height), tr("Info"));
- tab_widget->addTab(GetWrappedWidget(game_config, this, padding_width, padding_height),
- tr("Game Config"));
- tab_widget->addTab(GetWrappedWidget(patches, this, padding_width, padding_height), tr("Patches"));
- tab_widget->addTab(GetWrappedWidget(ar, this, padding_width, padding_height), tr("AR Codes"));
- tab_widget->addTab(GetWrappedWidget(gecko, this, padding_width, padding_height),
- tr("Gecko Codes"));
- tab_widget->addTab(GetWrappedWidget(graphics_mod_list, this, padding_width, padding_height),
- tr("Graphics Mods"));
+ // Note: Intentional selective use of AddWrappedPane for a sensible dialog "minimumSize".
+ AddWrappedPane(info, tr("Info"));
+ AddPane(game_config, tr("Game Config"));
+ AddPane(patches, tr("Patches"));
+ AddPane(ar, tr("AR Codes"));
+ AddPane(gecko, tr("Gecko Codes"));
+ AddWrappedPane(graphics_mod_list, tr("Graphics Mods"));
if (game.GetPlatform() != DiscIO::Platform::ELFOrDOL)
{
std::shared_ptr<DiscIO::Volume> volume = DiscIO::CreateVolume(game.GetFilePath());
if (volume)
{
- VerifyWidget* verify = new VerifyWidget(volume);
- tab_widget->addTab(GetWrappedWidget(verify, this, padding_width, padding_height),
- tr("Verify"));
+ auto* const verify = new VerifyWidget(volume);
+ AddPane(verify, tr("Verify"));
if (DiscIO::IsDisc(game.GetPlatform()))
{
- FilesystemWidget* filesystem = new FilesystemWidget(volume);
- tab_widget->addTab(GetWrappedWidget(filesystem, this, padding_width, padding_height),
- tr("Filesystem"));
+ auto* const filesystem = new FilesystemWidget(volume);
+ AddPane(filesystem, tr("Filesystem"));
}
}
}
- layout->addWidget(tab_widget);
-
- QDialogButtonBox* close_box = new QDialogButtonBox(QDialogButtonBox::Close);
-
- connect(close_box, &QDialogButtonBox::rejected, this, &QDialog::reject);
- connect(close_box, &QDialogButtonBox::rejected, graphics_mod_list,
- &GraphicsModListWidget::SaveToDisk);
-
- layout->addWidget(close_box);
+ connect(this, &QDialog::rejected, graphics_mod_list, &GraphicsModListWidget::SaveToDisk);
- setLayout(layout);
+ OnDoneCreatingPanes();
}
diff --git a/Source/Core/DolphinQt/Config/PropertiesDialog.h b/Source/Core/DolphinQt/Config/PropertiesDialog.h
index 29d282a6e8..9079ed925a 100644
--- a/Source/Core/DolphinQt/Config/PropertiesDialog.h
+++ b/Source/Core/DolphinQt/Config/PropertiesDialog.h
@@ -5,12 +5,14 @@
#include <QDialog>
+#include "DolphinQt/Config/SettingsWindow.h"
+
namespace UICommon
{
class GameFile;
}
-class PropertiesDialog final : public QDialog
+class PropertiesDialog final : public StackedSettingsWindow
{
Q_OBJECT
public: