summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt2/MenuBar.cpp
diff options
context:
space:
mode:
authorspycrab <spycrab@users.noreply.github.com>2017-05-08 19:03:59 +0200
committerspycrab <spycrab@users.noreply.github.com>2017-05-08 19:03:59 +0200
commit6bf7b5ff0f30ea5812d55cb5284b33f1e1b29973 (patch)
tree7793fe8001b72afa47449c33b14a15ca0a60f4f5 /Source/Core/DolphinQt2/MenuBar.cpp
parent5535afcb2a28e30eabf850e8c2aac1c3f1c6352e (diff)
Qt: Bring Gamelist up to Wx standards
Diffstat (limited to 'Source/Core/DolphinQt2/MenuBar.cpp')
-rw-r--r--Source/Core/DolphinQt2/MenuBar.cpp25
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);
+ });
}
}