diff options
| author | spycrab <spycrab@users.noreply.github.com> | 2019-06-21 09:28:32 +0200 |
|---|---|---|
| committer | spycrab <spycrab@users.noreply.github.com> | 2019-06-22 19:54:13 +0200 |
| commit | 396546f5c056eda8fb01ba15ef300da17c9869f0 (patch) | |
| tree | 62bfb7da8eea16aaad7342a52355054d8aa60910 /Source/Core/DolphinQt/Config/ARCodeWidget.cpp | |
| parent | 1d43d9afc11cc7294040a0a7018e1dbf7bc84c88 (diff) | |
Config/ARCodeWidget: Add option for alphabetical sorting
Diffstat (limited to 'Source/Core/DolphinQt/Config/ARCodeWidget.cpp')
| -rw-r--r-- | Source/Core/DolphinQt/Config/ARCodeWidget.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt/Config/ARCodeWidget.cpp b/Source/Core/DolphinQt/Config/ARCodeWidget.cpp index 661c722df1..119f7ea3dc 100644 --- a/Source/Core/DolphinQt/Config/ARCodeWidget.cpp +++ b/Source/Core/DolphinQt/Config/ARCodeWidget.cpp @@ -5,8 +5,10 @@ #include "DolphinQt/Config/ARCodeWidget.h" #include <QButtonGroup> +#include <QCursor> #include <QHBoxLayout> #include <QListWidget> +#include <QMenu> #include <QPushButton> #include <QVBoxLayout> @@ -49,6 +51,8 @@ void ARCodeWidget::CreateWidgets() m_code_edit = new QPushButton(tr("&Edit Code...")); m_code_remove = new QPushButton(tr("&Remove Code")); + m_code_list->setContextMenuPolicy(Qt::CustomContextMenu); + auto* button_layout = new QHBoxLayout; button_layout->addWidget(m_code_add); @@ -68,10 +72,13 @@ void ARCodeWidget::ConnectWidgets() { connect(m_warning, &CheatWarningWidget::OpenCheatEnableSettings, this, &ARCodeWidget::OpenGeneralSettings); + connect(m_code_list, &QListWidget::itemChanged, this, &ARCodeWidget::OnItemChanged); connect(m_code_list, &QListWidget::itemSelectionChanged, this, &ARCodeWidget::OnSelectionChanged); connect(m_code_list->model(), &QAbstractItemModel::rowsMoved, this, &ARCodeWidget::OnListReordered); + connect(m_code_list, &QListWidget::customContextMenuRequested, this, + &ARCodeWidget::OnContextMenuRequested); connect(m_code_add, &QPushButton::pressed, this, &ARCodeWidget::OnCodeAddPressed); connect(m_code_edit, &QPushButton::pressed, this, &ARCodeWidget::OnCodeEditPressed); @@ -89,6 +96,21 @@ void ARCodeWidget::OnItemChanged(QListWidgetItem* item) SaveCodes(); } +void ARCodeWidget::OnContextMenuRequested() +{ + QMenu menu; + + menu.addAction(tr("Sort Alphabetically"), this, &ARCodeWidget::SortAlphabetically); + + menu.exec(QCursor::pos()); +} + +void ARCodeWidget::SortAlphabetically() +{ + m_code_list->sortItems(); + OnListReordered(); +} + void ARCodeWidget::OnListReordered() { // Reorder codes based on the indices of table item |
