Refactoring the project, new folders for view and model classes. Added
[emufront] / src / dialogs / mediatypedialog.cpp
index caae733..bd5efe3 100644 (file)
@@ -5,39 +5,38 @@
 //
 //
 // EmuFront is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
+// it under the terms of the GNU General Public License version 2 as published by
+// the Free Software Foundation and appearing in the file gpl.txt included in the
+// packaging of this file.
 //
-// Foobar is distributed in the hope that it will be useful,
+// EmuFront is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 // GNU General Public License for more details.
 //
 // You should have received a copy of the GNU General Public License
-// along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+// along with EmuFront.  If not, see <http://www.gnu.org/licenses/>.
 
 #include <QtGui>
 #include <QAbstractItemView>
 #include <QSqlTableModel>
 #include <QTextStream>
-#include "../db/dbmediatype.h"
-#include "../dataobjects/mediatype.h"
+#include "dbmediatype.h"
+#include "mediatype.h"
 #include "mediatypedialog.h"
 #include "mediatypenamedialog.h"
 
 MediaTypeDialog::MediaTypeDialog(QWidget* parent)
-    :DbObjectDialog(parent)
+    :EmuFrontFileObjectDialog(parent)
 {
     setWindowTitle(tr("Set media types"));
-    //nameDialog = 0;
-    nameDialog = new MediaTypeNameDialog(this, dynamic_cast<MediaType*>(dbObject));
     dbManager = new DbMediaType(this);
     initDataTable();
-
+    initEditDialog();
     // do not move to parent class:
     connectSignals();
-
+    setColumnsHidden();
+    hideColumns();
 }
 
 MediaTypeDialog::~MediaTypeDialog()
@@ -45,6 +44,12 @@ MediaTypeDialog::~MediaTypeDialog()
     deleteCurrentObject();
 }
 
+void MediaTypeDialog::initEditDialog()
+{
+    nameDialog = new MediaTypeNameDialog(this, dynamic_cast<MediaType*>(dbObject));
+    connectNameDialogSignals();
+}
+
 EmuFrontObject* MediaTypeDialog::createObject()
 {
     return new MediaType;
@@ -55,3 +60,15 @@ void MediaTypeDialog::deleteCurrentObject()
     delete dynamic_cast<MediaType*>(dbObject);
     dbObject = 0;
 }
+
+void MediaTypeDialog::cleanUp()
+{
+    deleteCurrentObject();
+    if (nameDialog) {
+        MediaTypeNameDialog *pnd =
+            dynamic_cast<MediaTypeNameDialog*>(nameDialog);
+        if (pnd) delete pnd;
+        else qDebug() << "Failed to delete MediaTypeNameDialog";
+        nameDialog = 0;
+    }
+}