summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/ARCodeWidget.cpp
diff options
context:
space:
mode:
authorspycrab <spycrab@users.noreply.github.com>2019-06-21 09:28:32 +0200
committerspycrab <spycrab@users.noreply.github.com>2019-06-22 19:54:13 +0200
commit396546f5c056eda8fb01ba15ef300da17c9869f0 (patch)
tree62bfb7da8eea16aaad7342a52355054d8aa60910 /Source/Core/DolphinQt/Config/ARCodeWidget.cpp
parent1d43d9afc11cc7294040a0a7018e1dbf7bc84c88 (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.cpp22
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