Initial implementation of Media image path editor.
authorMikko Keinänen <mikko.keinanen@gmail.com>
Sun, 30 May 2010 21:48:53 +0000 (00:48 +0300)
committerMikko Keinänen <mikko.keinanen@gmail.com>
Sun, 30 May 2010 21:48:53 +0000 (00:48 +0300)
src/dataobjects/emufrontfileobject.cpp
src/dataobjects/emufrontobject.cpp
src/dataobjects/filepathobject.cpp
src/dialogs/dbobjectdialog.cpp
src/dialogs/mediaimagepathdialog.cpp

index be7b46b..a3eea7d 100644 (file)
 
 #include "emufrontfileobject.h"
 
-EmuFrontFileObject::EmuFrontFileObject() : EmuFrontObject()
+EmuFrontFileObject::EmuFrontFileObject() : EmuFrontObject(-1, ""), filename(""), filetype(-1)
 { }
 
 EmuFrontFileObject::EmuFrontFileObject(int id, QString name, QString filename)
-    : EmuFrontObject(id, name), filename(filename), filetype(0)
+    : EmuFrontObject(id, name), filename(filename), filetype(-1)
 {}
 
 EmuFrontFileObject::EmuFrontFileObject(int id, QString name, QString filename, int filetype)
index 8eac64d..ac5b6d0 100644 (file)
@@ -19,7 +19,7 @@
 
 #include "emufrontobject.h"
 
-EmuFrontObject::EmuFrontObject() : id(-1), name(0)
+EmuFrontObject::EmuFrontObject() : id(-1), name("")
 {
 }
 
index 5d088e6..4caf49f 100644 (file)
@@ -1,6 +1,6 @@
 #include "filepathobject.h"
 
-FilePathObject::FilePathObject()
+FilePathObject::FilePathObject() : EmuFrontFileObject(), platform(0), mediaType(0)
 {
 }
 
index 96c62f2..1d6771d 100644 (file)
@@ -27,6 +27,7 @@ DbObjectDialog::DbObjectDialog(QWidget *parent)
 {
     dbObject = 0;
     dbManager = 0;
+    nameDialog = 0;
     editButton = new QPushButton(tr("&Edit")); 
     editButton->setEnabled(false);
     addButton = new QPushButton(tr("&Add"));
@@ -53,6 +54,7 @@ DbObjectDialog::~DbObjectDialog()
 
 void DbObjectDialog::connectSignals()
 {
+    qDebug() << "DbObjectDialog connecting signals";
     connect(buttonBox, SIGNAL(accepted()), this, SLOT(close()));
     connect(objectList, SIGNAL(clicked(const QModelIndex &)),
         this, SLOT(listObjectClicked(const QModelIndex &)));
@@ -70,6 +72,7 @@ void DbObjectDialog::insertDb(const EmuFrontObject *ob) const
 
 void DbObjectDialog::addObject()
 {
+    if (!nameDialog) return;
     deleteCurrentObject();
     dbObject = createObject();
     nameDialog->setDataObject(dbObject);
index 2d184e8..071e4d0 100644 (file)
@@ -30,6 +30,7 @@
 MediaImagePathDialog::MediaImagePathDialog(QWidget *parent, EmuFrontObject *efObject)
     : DataObjectEditDialog(parent, efObject)
 {
+    qDebug() << "Creating MediaImagePathDialog";
     initWidgets();
     populateMediaTypeComBox();
     populatePlatformComBox();
@@ -39,14 +40,17 @@ MediaImagePathDialog::MediaImagePathDialog(QWidget *parent, EmuFrontObject *efOb
 
 MediaImagePathDialog::~MediaImagePathDialog()
 {
+    qDebug() << "Destroying MediaImagePathDialog";
 }
 
 void MediaImagePathDialog::connectSignals()
 {
+    qDebug() << "MediaImagePathDialog Connecting signals";
 }
 
 void MediaImagePathDialog::initWidgets()
 {
+    qDebug() << "MediaImagePathDialog initializing widgets.";
     // these widgets will be automatically parented using layout components
     buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal);
     filePathLabel = new QLabel;
@@ -57,6 +61,7 @@ void MediaImagePathDialog::initWidgets()
 
 void MediaImagePathDialog::populateMediaTypeComBox()
 {
+    qDebug() << "MediaImagePathDialog populating media types combo box";
     dbMediaType = new DbMediaType(this);
     mediaTypeComBox->setModel(dbMediaType->getDataModel());
     mediaTypeComBox->setModelColumn(DbMediaType::MediaType_Name);
@@ -64,6 +69,7 @@ void MediaImagePathDialog::populateMediaTypeComBox()
 
 void MediaImagePathDialog::populatePlatformComBox()
 {
+    qDebug() << "MediaImagePathDialog populating platform combo box";
     dbPlatform = new DbPlatform(this);
     platformComBox->setModel(dbPlatform->getDataModel());
     platformComBox->setModelColumn(DbPlatform::Platform_Name);
@@ -71,6 +77,7 @@ void MediaImagePathDialog::populatePlatformComBox()
 
 void MediaImagePathDialog::layout()
 {
+    qDebug() << "MediaImagePathDialog setting layout";
    QLabel *platformLabel = new QLabel(tr("&Platform"));
    platformLabel->setBuddy(platformComBox);
    QLabel *mediaTypeLabel = new QLabel(tr("Media&Type"));
@@ -96,8 +103,8 @@ void MediaImagePathDialog::setDataObject(EmuFrontObject *ob)
     FilePathObject *fpo = dynamic_cast<FilePathObject*>(ob);
     QString fpath = fpo->getName();
     filePathLabel->setText(fpath);
-    setSelectedPlatform(fpo->getPlatform());
-    setSelectedMediaType(fpo->getMediaType());
+    if (fpo->getPlatform()) setSelectedPlatform(fpo->getPlatform());
+    if (fpo->getMediaType()) setSelectedMediaType(fpo->getMediaType());
 }
 
 void MediaImagePathDialog::setSelectedPlatform(const Platform *plf)