virtual method editObject abstracted away from child classes to parent
authorMikko Keinänen <mikko.keinanen@gmail.com>
Thu, 27 May 2010 19:58:45 +0000 (22:58 +0300)
committerMikko Keinänen <mikko.keinanen@gmail.com>
Thu, 27 May 2010 19:58:45 +0000 (22:58 +0300)
class

src/dialogs/dbobjectdialog.cpp
src/dialogs/dbobjectdialog.h
src/dialogs/mediaimagepathmaindialog.cpp
src/dialogs/mediaimagepathmaindialog.h
src/dialogs/mediatypedialog.cpp
src/dialogs/mediatypedialog.h
src/dialogs/platformdialog.cpp
src/dialogs/platformdialog.h

index b34f595..80f1410 100644 (file)
@@ -62,6 +62,17 @@ void DbObjectDialog::connectSignals()
     connect(nameDialog, SIGNAL(dataObjectUpdated()), this, SLOT(updateData()));
 }
 
+void DbObjectDialog::editObject()
+{
+    QModelIndex index = objectList->currentIndex();
+    if (!index.isValid())
+        return;
+    deleteCurrentObject();
+    dbObject = dbManager->getDataObjectFromModel(&index);
+    nameDialog->setDataObject(dbObject);
+    activateNameDialog();
+}
+
 void DbObjectDialog::updateList() const
 {
     if (!dbManager) return;
index c3a16aa..cb24883 100644 (file)
@@ -52,10 +52,10 @@ protected:
     // implementation specific, deletes current data object from memory
     virtual void deleteCurrentObject();
        virtual void addObject() =0;
-       virtual void editObject() =0;
     virtual bool deleteItem() = 0;
     virtual void updateDb(const EmuFrontObject*) const = 0;
     virtual void insertDb(const EmuFrontObject*) const = 0;
+    void editObject();
     void connectSignals();
     void activateNameDialog();
     void initDataTable();
index 26427e9..99d1732 100644 (file)
@@ -32,16 +32,13 @@ MediaImagePathMainDialog::MediaImagePathMainDialog(QWidget *parent)
     nameDialog = new MediaImagePathDialog(this, dynamic_cast<FilePathObject*>(dbObject));
     dbManager = new DbMediaImagePath(this);
     initDataTable();
+    // do not move to parent class:
     connectSignals();
 }
 
-void MediaImagePathMainDialog::connectSignals()
-{
-}
-
 MediaImagePathMainDialog::~MediaImagePathMainDialog()
 {
-    delete dynamic_cast<FilePathObject*>(dbObject);
+    deleteCurrentObject();
 }
 
 int MediaImagePathMainDialog::deleteObject()
@@ -51,17 +48,15 @@ int MediaImagePathMainDialog::deleteObject()
 
 void MediaImagePathMainDialog::addObject()
 {
-
-}
-
-void MediaImagePathMainDialog::editObject()
-{
-
+    deleteCurrentObject();
+    dbObject = new FilePathObject;
+    nameDialog->setDataObject(dbObject);
+    activateNameDialog();
 }
 
 void MediaImagePathMainDialog::deleteCurrentObject()
 {
-
+    delete dynamic_cast<FilePathObject*>(dbObject);
 }
 
 void MediaImagePathMainDialog::updateDb(const EmuFrontObject *) const
index 9627a19..77eb5e6 100644 (file)
@@ -34,13 +34,10 @@ protected:
     virtual int deleteObject();
     virtual void deleteCurrentObject();
     virtual void addObject();
-    virtual void editObject();
     virtual bool deleteItem();
     virtual void updateDb(const EmuFrontObject*) const;
     virtual void insertDb(const EmuFrontObject*) const;
 
-private:
-    void connectSignals();
 };
 
 #endif // MEDIAIMAGEPATHMAINDIALOG_H
index d97dd15..5f8f551 100644 (file)
@@ -42,30 +42,17 @@ MediaTypeDialog::MediaTypeDialog(QWidget* parent)
 
 MediaTypeDialog::~MediaTypeDialog()
 {
-    delete dynamic_cast<MediaType*>(dbObject);
+    deleteCurrentObject();
 }
 
 void MediaTypeDialog::addObject()
 {
-    delete dynamic_cast<MediaType*>(dbObject);
+    deleteCurrentObject();
     dbObject = new MediaType;
     nameDialog->setDataObject(dbObject);
     activateNameDialog();
 }
 
-void MediaTypeDialog::editObject()
-{
-    qDebug() << "editObject called";
-    QModelIndex index = objectList->currentIndex();
-    if (!index.isValid())
-        return;
-    qDebug() << "we have a valid index";
-    delete dbObject;
-    dbObject = (dynamic_cast<DbMediaType*>(dbManager))->getDataObjectFromModel(&index);
-    nameDialog->setDataObject(dbObject);
-    activateNameDialog();
-}
-
 void MediaTypeDialog::deleteCurrentObject()
 {
     delete dynamic_cast<MediaType*>(dbObject);
index 07bde37..f4f4fbc 100644 (file)
@@ -34,7 +34,6 @@ protected:
     virtual int deleteObject();
     virtual void deleteCurrentObject();
     virtual void addObject();
-    virtual void editObject();
     virtual bool deleteItem();
     virtual void updateDb(const EmuFrontObject*) const;
     virtual void insertDb(const EmuFrontObject*) const;
index 1c13d5c..b058839 100644 (file)
 #include "platformdialog.h"
 #include "platformnamedialog.h"
 
-
-//QTextStream cout(stdout, QIODevice::WriteOnly);
-
 PlatformDialog::PlatformDialog(QWidget *parent)
     : DbObjectDialog(parent)
 {
     setWindowTitle(tr("Set emulated platforms"));
-    //nameDialog = 0;
     nameDialog = new PlatformNameDialog(this, dynamic_cast<Platform*>(dbObject));
     dbManager = new DbPlatform(this);
     initDataTable();
@@ -66,25 +62,11 @@ void PlatformDialog::addObject()
     activateNameDialog();
 }
 
-void PlatformDialog::editObject()
-{
-    qDebug() << "editObject called_";
-    QModelIndex index = objectList->currentIndex();
-    if (!index.isValid())
-        return;
-    qDebug() << "we have a valid index";
-    delete dbObject;
-    dbObject = (dynamic_cast<DbPlatform*>(dbManager))->getDataObjectFromModel(&index);
-    nameDialog->setDataObject(dbObject);
-    activateNameDialog();
-}
-
 void PlatformDialog::deleteCurrentObject()
 {
     delete dynamic_cast<Platform*>(dbObject);
 }
 
-
 void PlatformDialog::updateDb(const EmuFrontObject *ob) const
 {
     if (!ob) return;
index b5b7db9..545c99f 100644 (file)
@@ -34,7 +34,6 @@ protected:
     virtual int deleteObject();
     virtual void deleteCurrentObject();
        virtual void addObject();
-       virtual void editObject();
     virtual bool deleteItem();
     virtual void updateDb(const EmuFrontObject*) const;
     virtual void insertDb(const EmuFrontObject*) const;