summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2020-12-28 05:37:14 -0500
committerisanae <14251494+isanae@users.noreply.github.com>2020-12-28 05:37:14 -0500
commitf46a14f3bfa0bec9decad453d967de089e4833ad (patch)
tree34021073fa1450c287f4e674a580f2d0a98caea7 /src
parenta8f6f0d7a0f1c8506e225dc5a817cadc0c0b3662 (diff)
delete shortcut for save games
Diffstat (limited to 'src')
-rw-r--r--src/mainwindow.cpp5
-rw-r--r--src/savestab.cpp18
-rw-r--r--src/savestab.h3
3 files changed, 22 insertions, 4 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index e7d99f23..0f5b15e3 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -1503,10 +1503,7 @@ void MainWindow::cleanup()
bool MainWindow::eventFilter(QObject *object, QEvent *event)
{
- if ((object == ui->savegameList) &&
- ((event->type() == QEvent::Leave) || (event->type() == QEvent::WindowDeactivate))) {
- m_SavesTab->hideSaveGameInfo();
- } else if (event->type() == QEvent::StatusTip && object != this) {
+ if (event->type() == QEvent::StatusTip && object != this) {
QMainWindow::event(event);
return true;
}
diff --git a/src/savestab.cpp b/src/savestab.cpp
index a14321d3..31471740 100644
--- a/src/savestab.cpp
+++ b/src/savestab.cpp
@@ -32,6 +32,24 @@ SavesTab::SavesTab(QWidget* window, OrganizerCore& core, Ui::MainWindow* mwui)
connect(
ui.list, &QListWidget::itemEntered,
[&](auto* item){ saveSelectionChanged(item); });
+
+ ui.list->installEventFilter(this);
+}
+
+bool SavesTab::eventFilter(QObject* object, QEvent* e)
+{
+ if (object == ui.list) {
+ if (e->type() == QEvent::Leave || e->type() == QEvent::WindowDeactivate) {
+ hideSaveGameInfo();
+ } else if (e->type() == QEvent::KeyPress) {
+ QKeyEvent *keyEvent = static_cast<QKeyEvent*>(e);
+ if (keyEvent->key() == Qt::Key_Delete) {
+ deleteSavegame();
+ }
+ }
+ }
+
+ return false;
}
void SavesTab::displaySaveGameInfo(QListWidgetItem *newItem)
diff --git a/src/savestab.h b/src/savestab.h
index d3eb7e63..8d84e3c1 100644
--- a/src/savestab.h
+++ b/src/savestab.h
@@ -32,6 +32,9 @@ public:
void stopMonitorSaves();
void hideSaveGameInfo();
+protected:
+ bool eventFilter(QObject* object, QEvent* e) override;
+
private:
struct SavesTabUi
{