New data objects and a new data object dialog
authorMikko Keinänen <mikko.keinanen@gmail.com>
Sat, 22 May 2010 23:46:32 +0000 (02:46 +0300)
committerMikko Keinänen <mikko.keinanen@gmail.com>
Sat, 22 May 2010 23:46:32 +0000 (02:46 +0300)
src/dataobjects/emufrontfileobject.cpp [new file with mode: 0644]
src/dataobjects/emufrontfileobject.h [new file with mode: 0644]
src/dataobjects/mediatype.cpp [new file with mode: 0644]
src/dataobjects/mediatype.h [new file with mode: 0644]
src/dataobjects/platform.cpp
src/dataobjects/platform.h
src/dialogs/mediatypedialog.cpp [new file with mode: 0644]
src/dialogs/mediatypedialog.h [new file with mode: 0644]
src/dialogs/platformdialog.h
src/emufront.pro

diff --git a/src/dataobjects/emufrontfileobject.cpp b/src/dataobjects/emufrontfileobject.cpp
new file mode 100644 (file)
index 0000000..a8f5176
--- /dev/null
@@ -0,0 +1,34 @@
+// 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 as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Foobar 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/>.
+
+#include "emufrontfileobject.h"
+
+EmuFrontFileObject::EmuFrontFileObject() : EmuFrontObject()
+{ }
+
+EmuFrontFileObject::EmuFrontFileObject(int id, QString name, QString filename)
+    : EmuFrontObject(id, name), filename(filename)
+{}
+
+/*EmuFrontFileObject::EmuFrontFileObject(const EmuFrontFileObject&pl)
+    : EmuFrontObject(pl.id, pl.name), filename(pl.filename)
+{
+    // no need to perform deep copy here, see:
+    // http://doc.trolltech.com/4.0/shclass.html
+}*/
diff --git a/src/dataobjects/emufrontfileobject.h b/src/dataobjects/emufrontfileobject.h
new file mode 100644 (file)
index 0000000..1dc9055
--- /dev/null
@@ -0,0 +1,43 @@
+// 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 as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Foobar 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/>.
+
+#ifndef EMUFRONTFILEOBJECT_H
+#define EMUFRONTFILEOBJECT_H
+
+#include "emufrontobject.h"
+
+class EmuFrontFileObject : public EmuFrontObject
+{
+public:
+    EmuFrontFileObject();
+    EmuFrontFileObject( int id, QString name, QString filename);
+    // No need for these as long we use QString (see Implicit Data Sharing)
+    /*EmuFrontFileObject(const EmuFrontFileObject&);
+    EmuFrontFileObject &operator=(const EmuFrontFileObject&);
+    virtual ~EmuFrontFileObject();*/
+    const QString getFilename() const
+    { return filename; }
+    void setFilename(QString filename)
+    { this->filename = filename; }
+
+private:
+    QString filename;
+};
+
+#endif // EMUFRONTFILEOBJECT_H
diff --git a/src/dataobjects/mediatype.cpp b/src/dataobjects/mediatype.cpp
new file mode 100644 (file)
index 0000000..b9ea33d
--- /dev/null
@@ -0,0 +1,29 @@
+// 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 as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Foobar 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/>.
+
+#include "mediatype.h"
+
+MediaType::MediaType() : EmuFrontFileObject()
+{
+}
+
+MediaType::MediaType(int id, QString name, QString filename)
+        : EmuFrontFileObject(id, name, filename)
+{
+}
diff --git a/src/dataobjects/mediatype.h b/src/dataobjects/mediatype.h
new file mode 100644 (file)
index 0000000..ae52c6d
--- /dev/null
@@ -0,0 +1,32 @@
+// 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 as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Foobar 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/>.
+
+#ifndef MEDIATYPE_H
+#define MEDIATYPE_H
+
+#include "emufrontfileobject.h"
+
+class MediaType : public EmuFrontFileObject
+{
+public:
+    MediaType();
+    MediaType(int id, QString name, QString filename);
+};
+
+#endif // MEDIATYPE_H
index 334c15b..fdc1f79 100644 (file)
 
 #include "platform.h"
 
-Platform::Platform() : EmuFrontObject()
+Platform::Platform() : EmuFrontFileObject()
 {
 }
 
 Platform::Platform(int id, QString name, QString filename)
-        : EmuFrontObject(id, name), filename(filename)
+        : EmuFrontFileObject(id, name, filename)
 {
 }
-
-// we make deep copies of name and filename strings
-/*Platform::Platform(const Platform &pl) : EmuFrontObject(pl.id, pl.name), filename(pl.filename)
-{
-    // no need to perform deep copy here, see:
-    // http://doc.trolltech.com/4.0/shclass.html
-}*/
index a91a89c..5b90b74 100644 (file)
 #ifndef PLATFORM_H
 #define PLATFORM_H
 
-#include "emufrontobject.h"
+#include "emufrontfileobject.h"
 
-class Platform : public EmuFrontObject
+class Platform : public EmuFrontFileObject
 {
 public:
     Platform();
     Platform(int id, QString name, QString filename);
-    // No need for these as long we use QString (see Implicit Data Sharing)
-    /*Platform(const Platform &);
-    Platform &operator=(const Platform &);
-    virtual ~Platform();*/
-    const QString getFilename() const
-    { return filename; }
-    void setFilename(QString filename)
-    { this->filename = filename; }
-
-private:
-    QString filename;
 };
 
 #endif // PLATFORM_H
diff --git a/src/dialogs/mediatypedialog.cpp b/src/dialogs/mediatypedialog.cpp
new file mode 100644 (file)
index 0000000..cac8e02
--- /dev/null
@@ -0,0 +1,5 @@
+#include "mediatypedialog.h"
+
+MediaTypeDialog::MediaTypeDialog()
+{
+}
diff --git a/src/dialogs/mediatypedialog.h b/src/dialogs/mediatypedialog.h
new file mode 100644 (file)
index 0000000..1f345db
--- /dev/null
@@ -0,0 +1,45 @@
+// 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 as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Foobar 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/>.
+
+#ifndef MEDIATYPEDIALOG_H
+#define MEDIATYPEDIALOG_H
+
+#include "dbobjectdialog.h"
+
+class MediaTypeDialog : public DbObjectDialog
+{
+    Q_OBJECT
+
+public:
+    MediaTypeDialog(QWidget *parent = 0);
+    ~MediaTypeDialog();
+
+protected:
+    virtual int deleteObject();
+    virtual void addObject();
+    virtual void editObject();
+    virtual bool deleteItem();
+    virtual void updateDb(const EmuFrontObject*) const;
+    virtual void insertDb(const EmuFrontObject*) const;
+
+private slots:
+    virtual void updateData();
+};
+
+#endif // MEDIATYPEDIALOG_H
index 3d9ec6e..8eed1ae 100644 (file)
@@ -40,9 +40,6 @@ class PlatformDialog : public DbObjectDialog
 
     private slots:
     virtual void updateData();
-
-    private:
-        //PlatformNameDialog *nameDialog;
 };
 
 #endif
index 970ca59..3bd76b2 100644 (file)
@@ -22,7 +22,10 @@ HEADERS += mainwindow.h \
     dataobjects/emufrontobject.h \
     dataobjects/platform.h \
     db/dbplatform.h \
-    db/dbcreator.h
+    db/dbcreator.h \
+    dialogs/mediatypedialog.h \
+    dataobjects/emufrontfileobject.h \
+    dataobjects/mediatype.h
 SOURCES += main.cpp \
     mainwindow.cpp \
     db/databasemanager.cpp \
@@ -34,4 +37,7 @@ SOURCES += main.cpp \
     dataobjects/emufrontobject.cpp \
     dataobjects/platform.cpp \
     db/dbplatform.cpp \
-    db/dbcreator.cpp
+    db/dbcreator.cpp \
+    dialogs/mediatypedialog.cpp \
+    dataobjects/emufrontfileobject.cpp \
+    dataobjects/mediatype.cpp