From 6e34bafa7635e06b7bde99ef7bdeb7f78ef9be7c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mikko=20Kein=C3=A4nen?= Date: Thu, 11 Nov 2010 23:36:11 +0200 Subject: [PATCH] Fixed a bug: When window was closed from window manager e.g. X-button, the config edit main dialog remained disabled. Now this is fixed. --- src/dialogs/dataobjecteditdialog.cpp | 8 ++++++++ src/dialogs/dataobjecteditdialog.h | 2 ++ src/dialogs/dbobjectdialog.cpp | 6 ++++++ src/dialogs/dbobjectdialog.h | 1 + 4 files changed, 17 insertions(+) diff --git a/src/dialogs/dataobjecteditdialog.cpp b/src/dialogs/dataobjecteditdialog.cpp index 437941a..0a75f28 100644 --- a/src/dialogs/dataobjecteditdialog.cpp +++ b/src/dialogs/dataobjecteditdialog.cpp @@ -17,6 +17,7 @@ // You should have received a copy of the GNU General Public License // along with EmuFront. If not, see . +#include #include #include #include @@ -36,6 +37,13 @@ void DataObjectEditDialog::connectSignals() connect(buttonBox, SIGNAL(rejected()), this, SLOT(rejectChanges())); } +void DataObjectEditDialog::closeEvent(QCloseEvent *ev) +{ + emit dialogClosed(); + ev->accept(); +} + + void DataObjectEditDialog::rejectChanges() { efObject = 0; diff --git a/src/dialogs/dataobjecteditdialog.h b/src/dialogs/dataobjecteditdialog.h index 09f840d..250d0f3 100644 --- a/src/dialogs/dataobjecteditdialog.h +++ b/src/dialogs/dataobjecteditdialog.h @@ -34,6 +34,7 @@ public: DataObjectEditDialog(QWidget *parent, EmuFrontObject *ob, Qt::Orientation orientation = Qt::Horizontal); virtual void setDataObject(EmuFrontObject *) = 0; virtual void updateData(); + virtual void closeEvent(QCloseEvent *); protected: virtual void connectSignals(); @@ -45,6 +46,7 @@ signals: void updateRejected(); void dataObjectUpdated(); void test(); + void dialogClosed(); protected slots: virtual void acceptChanges() =0; diff --git a/src/dialogs/dbobjectdialog.cpp b/src/dialogs/dbobjectdialog.cpp index 612bac2..7dcb03a 100644 --- a/src/dialogs/dbobjectdialog.cpp +++ b/src/dialogs/dbobjectdialog.cpp @@ -65,6 +65,7 @@ void DbObjectDialog::connectSignals() connect(nameDialog, SIGNAL(dataObjectUpdated()), this, SLOT(updateData())); connect(nameDialog, SIGNAL(updateRejected()), this, SLOT(updateReject())); connect(nameDialog, SIGNAL(test()), this, SLOT(testSlot())); + connect(nameDialog, SIGNAL(dialogClosed()), this, SLOT(enableUi())); } void DbObjectDialog::testSlot() @@ -202,6 +203,11 @@ void DbObjectDialog::listObjectClicked(const QModelIndex &index) return; } +void DbObjectDialog::enableUi() +{ + setUIEnabled(true); +} + void DbObjectDialog::setButtonsEnabled(bool enabled) { addButton->setEnabled(enabled); diff --git a/src/dialogs/dbobjectdialog.h b/src/dialogs/dbobjectdialog.h index ad7bdf0..1fac258 100644 --- a/src/dialogs/dbobjectdialog.h +++ b/src/dialogs/dbobjectdialog.h @@ -48,6 +48,7 @@ private slots: void updateReject(); void updateList() const; void testSlot(); + void enableUi(); protected: // implementation specific, deletes current data object from memory -- 1.7.9.5