:DbObjectDialog(parent)
{
setWindowTitle(tr("Set media types"));
- //nameDialog = 0;
- nameDialog = new MediaTypeNameDialog(this, dynamic_cast<MediaType*>(dbObject));
dbManager = new DbMediaType(this);
initDataTable();
+ initEditDialog();
+ objectList->hideColumn(DbMediaType::EmuFrontFileObject_FileId);
// do not move to parent class:
connectSignals();
deleteCurrentObject();
}
-void MediaTypeDialog::addObject()
-{
- deleteCurrentObject();
- dbObject = new MediaType;
- nameDialog->setDataObject(dbObject);
- activateNameDialog();
-}
-
-void MediaTypeDialog::deleteCurrentObject()
-{
- delete dynamic_cast<MediaType*>(dbObject);
-}
-
-void MediaTypeDialog::updateDb(const EmuFrontObject *ob) const
+void MediaTypeDialog::initEditDialog()
{
- if (!ob) return;
- qDebug() << "Updating media type" << ob->getName();
- (dynamic_cast<DbMediaType*>(dbManager))->updateDataObjectToModel(ob);
+ nameDialog = new MediaTypeNameDialog(this, dynamic_cast<MediaType*>(dbObject));
}
-void MediaTypeDialog::insertDb(const EmuFrontObject *ob) const
+EmuFrontObject* MediaTypeDialog::createObject()
{
- (dynamic_cast<DbMediaType*>(dbManager))->insertDataObjectToModel(ob);
+ return new MediaType;
}
-bool MediaTypeDialog::deleteItem()
+void MediaTypeDialog::deleteCurrentObject()
{
- qDebug() << "MediaTypeDialog::deleteItem()";
- QModelIndex index = objectList->currentIndex();
- if (!index.isValid()) return false;
-
- qDebug() << "Index is valid";
-
- // TODO: when implementing data bindings to platform
- // we need to check if platform being removed has bindings
- // and a) ask user if this platform should be removed
- // b) remove all the data associated to this platform
-
- EmuFrontObject *ob = dynamic_cast<DbMediaType*>(dbManager)->getDataObjectFromModel(&index);
- if (!ob) return false;
-
- MediaType *plf = dynamic_cast<MediaType*>(ob);
-
- qDebug() << "Got platform" << plf->getName();
-
- int numBindings = dynamic_cast<DbMediaType*>(dbManager)->countDataObjectRefs(plf->getId());
- if (numBindings > 0 && !confirmDelete(plf->getName(), numBindings))
- {
- return false;
- }
- delete plf;
- bool delOk = (dynamic_cast<DbMediaType *>(dbManager))->deleteDataObjectFromModel(&index);
- if (!delOk)
- {
- qDebug() << "delete failed";
- return false;
- }
- updateList();
- objectList->setFocus();
- return false;
+ delete dynamic_cast<MediaType*>(dbObject);
+ dbObject = 0;
}