Modified the license text comment type.
[emufront] / src / dialogs / mediatypedialog.cpp
index cac8e02..102bb43 100644 (file)
@@ -1,5 +1,75 @@
+/*
+** EmuFront
+** Copyright 2010 Mikko Keinänen
+**
+** This file is part of EmuFront.
+**
+**
+** EmuFront is free software: you can redistribute it and/or modify
+** 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.
+**
+** 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 EmuFront.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include <QtGui>
+#include <QAbstractItemView>
+#include <QSqlTableModel>
+#include <QTextStream>
+#include "dbmediatype.h"
+#include "mediatype.h"
 #include "mediatypedialog.h"
+#include "mediatypenamedialog.h"
 
-MediaTypeDialog::MediaTypeDialog()
+MediaTypeDialog::MediaTypeDialog(QWidget* parent)
+    :EmuFrontFileObjectDialog(parent)
 {
+    setWindowTitle(tr("Set media types"));
+    dbManager = new DbMediaType(this);
+    initDataTable();
+    initEditDialog();
+    // do not move to parent class:
+    connectSignals();
+    setColumnsHidden();
+    hideColumns();
+}
+
+MediaTypeDialog::~MediaTypeDialog()
+{
+    deleteCurrentObject();
+}
+
+void MediaTypeDialog::initEditDialog()
+{
+    nameDialog = new MediaTypeNameDialog(this, dynamic_cast<MediaType*>(dbObject));
+    connectNameDialogSignals();
+}
+
+EmuFrontObject* MediaTypeDialog::createObject()
+{
+    return new MediaType;
+}
+
+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;
+    }
 }