summaryrefslogtreecommitdiff
path: root/src/savestab.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/savestab.cpp')
-rw-r--r--src/savestab.cpp18
1 files changed, 18 insertions, 0 deletions
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)