if (!nameDialog) initEditDialog();
deleteCurrentObject();
dbObject = dbManager->getDataObjectFromModel(&index);
- nameDialog->setDataObject(dbObject);
activateNameDialog();
+ nameDialog->setDataObject(dbObject);
}
bool DbObjectDialog::deleteItem()
setButtonsEnabled(false);
}
-void DbObjectDialog::activateNameDialog()
+void DbObjectDialog::activateNameDialog(bool updateData)
{
if (!nameDialog) return;
nameDialog->show();
nameDialog->raise();
- nameDialog->updateData();
+ if (updateData)
+ nameDialog->updateData();
nameDialog->activateWindow();
}
void insertDb(const EmuFrontObject*) const;
void updateDb(const EmuFrontObject*) const;
void editObject();
- void activateNameDialog();
+ void activateNameDialog(bool updateData = true);
bool confirmDelete(QString name, int numRefs);
void setButtonsEnabled(bool);
void layout();
void SetupEditDialog::setDataObject(EmuFrontObject *ob)
{
if (!ob) return;
- qDebug() << "Updating data object with " << ob->getName() << ".";
+ qDebug() << "Updating Setup edit dialog data object to "
+ << ob->getName() << ".";
+ if (efObject) delete efObject;
efObject = ob;
Setup *sup= dynamic_cast<Setup*>(ob);
if (sup->getPlatform()) setSelectedPlatform(sup->getPlatform());
#include <QSqlQueryModel>
#include <QSqlRecord>
#include <QDebug>
+#include <QAbstractItemView>
EFComboBox::EFComboBox(DatabaseManager *dbMan, QWidget *parent)
: QComboBox(parent), dbManager(dbMan)
{
if (!dbManager)
throw new EmuFrontException("Database manager is not available!");
+ setSizeAdjustPolicy(QComboBox::AdjustToContents);
updateDataModel();
}
for (int i = 0; i < qmodel->rowCount(); i++){
QSqlRecord rec = qmodel->record(i);
int id = rec.value(dataModelIndex_id).toInt();
- qDebug() << "Checking record with id " << rec.value(dataModelIndex_id)
- << " and name " << rec.value(dataModelIndex_name);
if (id == efo->getId()){
- qDebug() << "Found!";
+ QModelIndex ind = qmodel->index(i, 0);
+ //view()->selectionModel()->select(ind, QItemSelectionModel::Select);
+ view()->setCurrentIndex(ind);
setCurrentIndex(i);
- show();
break;
}
}
-
}