diff options
| author | spxtr <spextear@gmail.com> | 2015-12-19 21:24:48 -0800 |
|---|---|---|
| committer | spxtr <spextear@gmail.com> | 2015-12-19 21:24:48 -0800 |
| commit | f9f2b2fd367c9eda4a1971011d54e5a0db16508d (patch) | |
| tree | e569157eae5f23f8faa8e72bc22186e4e5a615f5 /Source/Core/DolphinQt2/MenuBar.cpp | |
| parent | c683b549217c067e2f7997025dc8f201de0f1f0a (diff) | |
Move the menu bar into its own file.
Diffstat (limited to 'Source/Core/DolphinQt2/MenuBar.cpp')
| -rw-r--r-- | Source/Core/DolphinQt2/MenuBar.cpp | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt2/MenuBar.cpp b/Source/Core/DolphinQt2/MenuBar.cpp new file mode 100644 index 0000000000..522997f0ac --- /dev/null +++ b/Source/Core/DolphinQt2/MenuBar.cpp @@ -0,0 +1,80 @@ +// Copyright 2015 Dolphin Emulator Project +// Licensed under GPLv2+ +// Refer to the license.txt file included. + +#include <QAction> +#include <QActionGroup> + +#include "Core/ConfigManager.h" +#include "DolphinQt2/MenuBar.h" + +MenuBar::MenuBar(QWidget* parent) + : QMenuBar(parent) +{ + AddFileMenu(); + addMenu(tr("Emulation")); + addMenu(tr("Movie")); + addMenu(tr("Options")); + addMenu(tr("Tools")); + AddViewMenu(); + addMenu(tr("Help")); +} + +void MenuBar::AddFileMenu() +{ + QMenu* file_menu = addMenu(tr("File")); + file_menu->addAction(tr("Open"), this, SIGNAL(Open())); + file_menu->addAction(tr("Exit"), this, SIGNAL(Exit())); +} + +void MenuBar::AddViewMenu() +{ + QMenu* view_menu = addMenu(tr("View")); + AddGameListTypeSection(view_menu); + view_menu->addSeparator(); + AddTableColumnsMenu(view_menu); +} + +void MenuBar::AddGameListTypeSection(QMenu* view_menu) +{ + QAction* table_view = view_menu->addAction(tr("Table")); + table_view->setCheckable(true); + + QAction* list_view = view_menu->addAction(tr("List")); + list_view->setCheckable(true); + + QActionGroup* list_group = new QActionGroup(this); + list_group->addAction(table_view); + list_group->addAction(list_view); + + // TODO load this from settings + table_view->setChecked(true); + + connect(table_view, &QAction::triggered, this, &MenuBar::ShowTable); + connect(list_view, &QAction::triggered, this, &MenuBar::ShowList); +} + +// TODO implement this after we stop using SConfig. +void MenuBar::AddTableColumnsMenu(QMenu* view_menu) +{ + 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++) + { + QAction* action = column_group->addAction(cols_menu->addAction(col_names[i])); + action->setCheckable(true); + } +} |
