Fixed a bug: When window was closed from window manager e.g. X-button,
authorMikko Keinänen <mikko.keinanen@gmail.com>
Thu, 11 Nov 2010 21:36:11 +0000 (23:36 +0200)
committerMikko Keinänen <mikko.keinanen@gmail.com>
Thu, 11 Nov 2010 21:36:11 +0000 (23:36 +0200)
the config edit main dialog remained disabled. Now this is fixed.

src/dialogs/dataobjecteditdialog.cpp
src/dialogs/dataobjecteditdialog.h
src/dialogs/dbobjectdialog.cpp
src/dialogs/dbobjectdialog.h

index 437941a..0a75f28 100644 (file)
@@ -17,6 +17,7 @@
 // You should have received a copy of the GNU General Public License
 // along with EmuFront.  If not, see <http://www.gnu.org/licenses/>.
 
+#include <QtGui>
 #include <QDialogButtonBox>
 #include <QSqlQueryModel>
 #include <QSqlRecord>
@@ -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;
index 09f840d..250d0f3 100644 (file)
@@ -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;
index 612bac2..7dcb03a 100644 (file)
@@ -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);
index ad7bdf0..1fac258 100644 (file)
@@ -48,6 +48,7 @@ private slots:
     void updateReject();
     void updateList() const;
     void testSlot();
+    void enableUi();
 
 protected:
     // implementation specific, deletes current data object from memory