From d8291a376fda79e8e23a1322e1eb37edc96ad9b4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mikko=20Kein=C3=A4nen?= Date: Sat, 20 Nov 2010 23:01:15 +0200 Subject: [PATCH] Fixed a bug: the edit dialog fields were not cleared if an object was first edited or added and then add dialog was started. --- src/dialogs/browsefilepathdialog.cpp | 5 +++++ src/dialogs/browsefilepathdialog.h | 1 + src/dialogs/dataobjecteditdialog.h | 1 + src/dialogs/dbobjectdialog.cpp | 2 +- src/dialogs/executableeditdialog.cpp | 9 +++++++++ src/dialogs/executableeditdialog.h | 3 +++ src/dialogs/mediaimagepathdialog.cpp | 6 ++++++ src/dialogs/mediaimagepathdialog.h | 3 +++ src/dialogs/namedialog.cpp | 5 +++++ src/dialogs/namedialog.h | 1 + src/dialogs/setupeditdialog.cpp | 7 +++++++ src/dialogs/setupeditdialog.h | 3 +++ src/widgets/stringlistwidget.cpp | 5 +++++ src/widgets/stringlistwidget.h | 1 + 14 files changed, 51 insertions(+), 1 deletion(-) diff --git a/src/dialogs/browsefilepathdialog.cpp b/src/dialogs/browsefilepathdialog.cpp index 525a83c..be59e33 100644 --- a/src/dialogs/browsefilepathdialog.cpp +++ b/src/dialogs/browsefilepathdialog.cpp @@ -52,3 +52,8 @@ void BrowseFilePathDialog::browseFilePath() if (d.path() != startPath) emit filePathUpdated(); } } + +void BrowseFilePathDialog::clear() +{ + filePathLabel->clear(); +} diff --git a/src/dialogs/browsefilepathdialog.h b/src/dialogs/browsefilepathdialog.h index ffdab6e..58bd702 100644 --- a/src/dialogs/browsefilepathdialog.h +++ b/src/dialogs/browsefilepathdialog.h @@ -41,6 +41,7 @@ protected slots: protected: void connectSignals(); void initWidgets(); + virtual void clear(); QLabel *filePathLabel; QPushButton *filePathButton; }; diff --git a/src/dialogs/dataobjecteditdialog.h b/src/dialogs/dataobjecteditdialog.h index e54b79e..cc2f517 100644 --- a/src/dialogs/dataobjecteditdialog.h +++ b/src/dialogs/dataobjecteditdialog.h @@ -41,6 +41,7 @@ protected: QDialogButtonBox *buttonBox; void setSelected(QComboBox*, const EmuFrontObject*, int idIndex); virtual void closeEvent(QCloseEvent *); + virtual void clear() = 0; signals: void updateRejected(); diff --git a/src/dialogs/dbobjectdialog.cpp b/src/dialogs/dbobjectdialog.cpp index 6799744..46e0ca1 100644 --- a/src/dialogs/dbobjectdialog.cpp +++ b/src/dialogs/dbobjectdialog.cpp @@ -317,10 +317,10 @@ void DbObjectDialog::hideColumns() objectList->hideColumn(c); } +/* Enables UI. Deletes nameDialog object and current data object */ void DbObjectDialog::closeEvent(QCloseEvent *ev) { qDebug() << "DbObjectDialog closing!"; setUIEnabled(true); cleanUp(); } - diff --git a/src/dialogs/executableeditdialog.cpp b/src/dialogs/executableeditdialog.cpp index b878a97..04d1f3e 100644 --- a/src/dialogs/executableeditdialog.cpp +++ b/src/dialogs/executableeditdialog.cpp @@ -138,6 +138,7 @@ void ExecutableEditDialog::setDataObject(EmuFrontObject *ob) qDebug("No executable"); return; } + clear(); if (!ex->getSetup()) { qDebug() << "No setup"; return; @@ -149,6 +150,14 @@ void ExecutableEditDialog::setDataObject(EmuFrontObject *ob) optEdit->setText(ex->getOptions()); } +void ExecutableEditDialog::clear() +{ + nameEdit->clear(); + execEdit->clear(); + optEdit->clear(); + setupComBox->setCurrentIndex(-1); +} + void ExecutableEditDialog::setSelectedSetup(const Setup *su) { setupComBox->setSelected(su); diff --git a/src/dialogs/executableeditdialog.h b/src/dialogs/executableeditdialog.h index 6b82aee..4b7b101 100644 --- a/src/dialogs/executableeditdialog.h +++ b/src/dialogs/executableeditdialog.h @@ -39,6 +39,9 @@ public: protected slots: virtual void acceptChanges(); +protected: + virtual void clear(); + private: DbExecutable *dbExecutable; DbSetup *dbSetup; diff --git a/src/dialogs/mediaimagepathdialog.cpp b/src/dialogs/mediaimagepathdialog.cpp index facdf1a..82519ca 100644 --- a/src/dialogs/mediaimagepathdialog.cpp +++ b/src/dialogs/mediaimagepathdialog.cpp @@ -156,3 +156,9 @@ void MediaImagePathDialog::updateData() { setupComBox->updateDataModel(); } + +void MediaImagePathDialog::clear() +{ + BrowseFilePathDialog::clear(); + setupComBox->setCurrentIndex(-1); +} diff --git a/src/dialogs/mediaimagepathdialog.h b/src/dialogs/mediaimagepathdialog.h index b1f3692..358d962 100644 --- a/src/dialogs/mediaimagepathdialog.h +++ b/src/dialogs/mediaimagepathdialog.h @@ -46,6 +46,9 @@ protected slots: virtual void acceptChanges(); //void browseFilePath(); +protected: + virtual void clear(); + private: SetupComboBox *setupComBox; DbSetup *dbSetup; diff --git a/src/dialogs/namedialog.cpp b/src/dialogs/namedialog.cpp index 2824dd7..0bbffbf 100644 --- a/src/dialogs/namedialog.cpp +++ b/src/dialogs/namedialog.cpp @@ -97,3 +97,8 @@ void NameDialog::setDataObject(EmuFrontObject *ob) // we'll just refresh the name dialog pointer to a new object efObject = ob; } + +void NameDialog::clear() +{ + nameEdit->clear(); +} diff --git a/src/dialogs/namedialog.h b/src/dialogs/namedialog.h index 0218efa..377ac9a 100644 --- a/src/dialogs/namedialog.h +++ b/src/dialogs/namedialog.h @@ -42,6 +42,7 @@ protected slots: protected: virtual void setDataObject(QString name) =0; + virtual void clear(); QLabel *nameLabel; QLineEdit *nameEdit; diff --git a/src/dialogs/setupeditdialog.cpp b/src/dialogs/setupeditdialog.cpp index e46214b..63e5753 100644 --- a/src/dialogs/setupeditdialog.cpp +++ b/src/dialogs/setupeditdialog.cpp @@ -173,3 +173,10 @@ void SetupEditDialog::updateData() platformComBox->updateDataModel(); mediaTypeComBox->updateDataModel(); } + +void SetupEditDialog::clear() +{ + platformComBox->setCurrentIndex(-1); + mediaTypeComBox->setCurrentIndex(-1); + supportedFileTypesList->clear(); +} diff --git a/src/dialogs/setupeditdialog.h b/src/dialogs/setupeditdialog.h index 0ec58a8..f94afb5 100644 --- a/src/dialogs/setupeditdialog.h +++ b/src/dialogs/setupeditdialog.h @@ -43,6 +43,9 @@ public: protected slots: virtual void acceptChanges(); +protected: + virtual void clear(); + private: EFFileObjectComboBox *mediaTypeComBox; EFFileObjectComboBox *platformComBox; diff --git a/src/widgets/stringlistwidget.cpp b/src/widgets/stringlistwidget.cpp index cb54203..3bd3c3a 100644 --- a/src/widgets/stringlistwidget.cpp +++ b/src/widgets/stringlistwidget.cpp @@ -96,3 +96,8 @@ void StringListWidget::setItems(QStringList list) foreach(QString s, list) if (!s.trimmed().isEmpty()) stringList->addItem(s); } + +void StringListWidget::clear() +{ + stringList->clear(); +} diff --git a/src/widgets/stringlistwidget.h b/src/widgets/stringlistwidget.h index 124a10d..794c75f 100644 --- a/src/widgets/stringlistwidget.h +++ b/src/widgets/stringlistwidget.h @@ -32,6 +32,7 @@ public: explicit StringListWidget(QWidget *parent = 0, bool sort = true, int sortIndex = 0); QStringList getItems(); void setItems(QStringList); + void clear(); signals: void stringListUpdated(); -- 1.7.9.5