mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-22 22:00:39 -06:00
DolphinQt2: make Settings a singleton
With this, we can get signals when properties change.
This commit is contained in:
@ -140,7 +140,7 @@ void MenuBar::AddStateSlotMenu(QMenu* emu_menu)
|
||||
QAction* action = m_state_slot_menu->addAction(QStringLiteral(""));
|
||||
action->setCheckable(true);
|
||||
action->setActionGroup(m_state_slots);
|
||||
if (Settings().GetStateSlot() == i)
|
||||
if (Settings::Instance().GetStateSlot() == i)
|
||||
action->setChecked(true);
|
||||
|
||||
connect(action, &QAction::triggered, this, [=]() { emit SetStateSlot(i); });
|
||||
@ -203,7 +203,7 @@ void MenuBar::AddGameListTypeSection(QMenu* view_menu)
|
||||
list_group->addAction(table_view);
|
||||
list_group->addAction(list_view);
|
||||
|
||||
bool prefer_table = Settings().GetPreferredView();
|
||||
bool prefer_table = Settings::Instance().GetPreferredView();
|
||||
table_view->setChecked(prefer_table);
|
||||
list_view->setChecked(!prefer_table);
|
||||
|
||||
@ -213,15 +213,16 @@ void MenuBar::AddGameListTypeSection(QMenu* view_menu)
|
||||
|
||||
void MenuBar::AddTableColumnsMenu(QMenu* view_menu)
|
||||
{
|
||||
static const QMap<QString, bool*> columns{{tr("Platform"), &Settings().PlatformVisible()},
|
||||
{tr("ID"), &Settings().IDVisible()},
|
||||
{tr("Banner"), &Settings().BannerVisible()},
|
||||
{tr("Title"), &Settings().TitleVisible()},
|
||||
{tr("Description"), &Settings().DescriptionVisible()},
|
||||
{tr("Maker"), &Settings().MakerVisible()},
|
||||
{tr("Size"), &Settings().SizeVisible()},
|
||||
{tr("Country"), &Settings().CountryVisible()},
|
||||
{tr("Quality"), &Settings().StateVisible()}};
|
||||
auto& settings = Settings::Instance();
|
||||
static const QMap<QString, bool*> columns{{tr("Platform"), &settings.PlatformVisible()},
|
||||
{tr("ID"), &settings.IDVisible()},
|
||||
{tr("Banner"), &settings.BannerVisible()},
|
||||
{tr("Title"), &settings.TitleVisible()},
|
||||
{tr("Description"), &settings.DescriptionVisible()},
|
||||
{tr("Maker"), &settings.MakerVisible()},
|
||||
{tr("Size"), &settings.SizeVisible()},
|
||||
{tr("Country"), &settings.CountryVisible()},
|
||||
{tr("Quality"), &settings.StateVisible()}};
|
||||
|
||||
QActionGroup* column_group = new QActionGroup(this);
|
||||
QMenu* cols_menu = view_menu->addMenu(tr("Table Columns"));
|
||||
@ -235,7 +236,7 @@ void MenuBar::AddTableColumnsMenu(QMenu* view_menu)
|
||||
action->setChecked(*config);
|
||||
connect(action, &QAction::toggled, [this, config, key](bool value) {
|
||||
*config = value;
|
||||
Settings().Save();
|
||||
Settings::Instance().Save();
|
||||
emit ColumnVisibilityToggled(key, value);
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user