diff options
| author | spycrab <spycrab@users.noreply.github.com> | 2017-05-08 19:03:59 +0200 |
|---|---|---|
| committer | spycrab <spycrab@users.noreply.github.com> | 2017-05-08 19:03:59 +0200 |
| commit | 6bf7b5ff0f30ea5812d55cb5284b33f1e1b29973 (patch) | |
| tree | 7793fe8001b72afa47449c33b14a15ca0a60f4f5 /Source/Core/DolphinQt2/MenuBar.cpp | |
| parent | 5535afcb2a28e30eabf850e8c2aac1c3f1c6352e (diff) | |
Qt: Bring Gamelist up to Wx standards
Diffstat (limited to 'Source/Core/DolphinQt2/MenuBar.cpp')
| -rw-r--r-- | Source/Core/DolphinQt2/MenuBar.cpp | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/Source/Core/DolphinQt2/MenuBar.cpp b/Source/Core/DolphinQt2/MenuBar.cpp index 4f3997ffd8..f387b6864d 100644 --- a/Source/Core/DolphinQt2/MenuBar.cpp +++ b/Source/Core/DolphinQt2/MenuBar.cpp @@ -5,6 +5,7 @@ #include <QAction> #include <QDesktopServices> #include <QFileDialog> +#include <QMap> #include <QMessageBox> #include <QUrl> @@ -210,19 +211,33 @@ void MenuBar::AddGameListTypeSection(QMenu* view_menu) connect(list_view, &QAction::triggered, this, &MenuBar::ShowList); } -// TODO implement this 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()}}; + QActionGroup* column_group = new QActionGroup(this); QMenu* cols_menu = view_menu->addMenu(tr("Table Columns")); column_group->setExclusive(false); - QStringList col_names{tr("Platform"), tr("ID"), tr("Banner"), tr("Title"), tr("Description"), - tr("Maker"), tr("Size"), tr("Country"), tr("Quality")}; - for (int i = 0; i < col_names.count(); i++) + for (const auto& key : columns.keys()) { - QAction* action = column_group->addAction(cols_menu->addAction(col_names[i])); + bool* config = columns[key]; + QAction* action = column_group->addAction(cols_menu->addAction(key)); action->setCheckable(true); + action->setChecked(*config); + connect(action, &QAction::toggled, [this, config, key](bool value) { + *config = value; + Settings().Save(); + emit ColumnVisibilityToggled(key, value); + }); } } |
