diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2020-12-28 05:37:14 -0500 |
|---|---|---|
| committer | isanae <14251494+isanae@users.noreply.github.com> | 2020-12-28 05:37:14 -0500 |
| commit | f46a14f3bfa0bec9decad453d967de089e4833ad (patch) | |
| tree | 34021073fa1450c287f4e674a580f2d0a98caea7 /src | |
| parent | a8f6f0d7a0f1c8506e225dc5a817cadc0c0b3662 (diff) | |
delete shortcut for save games
Diffstat (limited to 'src')
| -rw-r--r-- | src/mainwindow.cpp | 5 | ||||
| -rw-r--r-- | src/savestab.cpp | 18 | ||||
| -rw-r--r-- | src/savestab.h | 3 |
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 { |
