From 6ec56ad4d4ff02077de764e2c618a460e302c073 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mikko=20Kein=C3=A4nen?= Date: Thu, 28 Oct 2010 23:35:18 +0300 Subject: [PATCH] Some data was hidden from user. --- src/dialogs/dbobjectdialog.cpp | 12 ++++++++++-- src/dialogs/dbobjectdialog.h | 2 ++ src/dialogs/emufrontfileobjectdialog.cpp | 18 ++++++++++++++++++ src/dialogs/emufrontfileobjectdialog.h | 16 ++++++++++++++++ src/dialogs/executablemaindialog.cpp | 7 ++++--- src/dialogs/mediaimagepathmaindialog.cpp | 5 +++-- src/dialogs/mediatypedialog.cpp | 7 +++---- src/dialogs/mediatypedialog.h | 4 ++-- src/dialogs/platformdialog.cpp | 7 ++++--- src/dialogs/platformdialog.h | 4 ++-- src/dialogs/setupmaindialog.cpp | 7 ++++--- src/emufront.pro | 6 ++++-- src/emulauncher.cpp | 10 ++++++++++ 13 files changed, 82 insertions(+), 23 deletions(-) create mode 100644 src/dialogs/emufrontfileobjectdialog.cpp create mode 100644 src/dialogs/emufrontfileobjectdialog.h diff --git a/src/dialogs/dbobjectdialog.cpp b/src/dialogs/dbobjectdialog.cpp index 5770282..537ba97 100644 --- a/src/dialogs/dbobjectdialog.cpp +++ b/src/dialogs/dbobjectdialog.cpp @@ -45,11 +45,13 @@ DbObjectDialog::DbObjectDialog(QWidget *parent) DbObjectDialog::~DbObjectDialog() { - // no need to explicitically delete widgets within a parented layout + // no need to explicitly delete widgets within a parented layout // they are automatically parented and will be deleted - // dbManager is also parented and will be implicitically deleted + // dbManager is also parented and will be implicitly deleted // this must be deleted in an implementing class //delete dbObject; + // hiddenColumn QList will be deleted implicitly, since it + // implements implicit data sharing } void DbObjectDialog::connectSignals() @@ -269,3 +271,9 @@ void DbObjectDialog::refreshDataModel() { dbManager->resetModel(); } + +void DbObjectDialog::hideColumns() +{ + foreach(int c, hiddenColumns) + objectList->hideColumn(c); +} diff --git a/src/dialogs/dbobjectdialog.h b/src/dialogs/dbobjectdialog.h index 92e0021..5196cbd 100644 --- a/src/dialogs/dbobjectdialog.h +++ b/src/dialogs/dbobjectdialog.h @@ -61,6 +61,8 @@ protected: DatabaseManager *dbManager; QDialogButtonBox *buttonBox; QTableView *objectList; + QList hiddenColumns; + void hideColumns(); private: bool deleteItem(); diff --git a/src/dialogs/emufrontfileobjectdialog.cpp b/src/dialogs/emufrontfileobjectdialog.cpp new file mode 100644 index 0000000..fa687d5 --- /dev/null +++ b/src/dialogs/emufrontfileobjectdialog.cpp @@ -0,0 +1,18 @@ +#include +#include "emufrontfileobjectdialog.h" +#include "../db/dbemufrontfileobject.h" + +EmuFrontFileObjectDialog::EmuFrontFileObjectDialog(QWidget *parent) : + DbObjectDialog(parent) +{ +} + +void EmuFrontFileObjectDialog::setColumnsHidden() +{ + hiddenColumns << DbEmuFrontFileObject::EmuFrontFileObject_Id; + hiddenColumns << DbEmuFrontFileObject::EmuFrontFileObject_FileCheckSum; + hiddenColumns << DbEmuFrontFileObject::EmuFrontFileObject_FileType; + hiddenColumns << DbEmuFrontFileObject::EmuFrontFileObject_FileUpdateTime; + hiddenColumns << DbEmuFrontFileObject::EmuFrontFileObject_FileId; + hiddenColumns << DbEmuFrontFileObject::EmuFrontFileObject_FileSize; +} diff --git a/src/dialogs/emufrontfileobjectdialog.h b/src/dialogs/emufrontfileobjectdialog.h new file mode 100644 index 0000000..e707db4 --- /dev/null +++ b/src/dialogs/emufrontfileobjectdialog.h @@ -0,0 +1,16 @@ +#ifndef EMUFRONTFILEOBJECTDIALOG_H +#define EMUFRONTFILEOBJECTDIALOG_H + +#include "dbobjectdialog.h" + +class EmuFrontFileObjectDialog : public DbObjectDialog +{ + Q_OBJECT +public: + explicit EmuFrontFileObjectDialog(QWidget *parent = 0); + +protected: + void setColumnsHidden(); +}; + +#endif // EMUFRONTFILEOBJECTDIALOG_H diff --git a/src/dialogs/executablemaindialog.cpp b/src/dialogs/executablemaindialog.cpp index 508e4d8..585bbd5 100644 --- a/src/dialogs/executablemaindialog.cpp +++ b/src/dialogs/executablemaindialog.cpp @@ -30,9 +30,10 @@ ExecutableMainDialog::ExecutableMainDialog(QWidget *parent) dbManager = new DbExecutable(this); initDataTable(); initEditDialog(); - objectList->hideColumn(DbExecutable::Executable_Id); - objectList->hideColumn(DbExecutable::Executable_TypeId); - objectList->hideColumn(DbExecutable::Executable_SetupId); + hiddenColumns << DbExecutable::Executable_Id; + hiddenColumns << DbExecutable::Executable_TypeId; + hiddenColumns << DbExecutable::Executable_SetupId; + hideColumns(); connectSignals(); } diff --git a/src/dialogs/mediaimagepathmaindialog.cpp b/src/dialogs/mediaimagepathmaindialog.cpp index da3595e..2ec1f60 100644 --- a/src/dialogs/mediaimagepathmaindialog.cpp +++ b/src/dialogs/mediaimagepathmaindialog.cpp @@ -38,8 +38,9 @@ MediaImagePathMainDialog::MediaImagePathMainDialog(QWidget *parent) buttonBox->addButton(scanButton, QDialogButtonBox::ActionRole); initEditDialog(); - objectList->hideColumn(DbFilePath::FilePath_Id); - objectList->hideColumn(DbFilePath::FilePath_SetupId); + hiddenColumns << DbFilePath::FilePath_Id; + hiddenColumns << DbFilePath::FilePath_SetupId; + hideColumns(); // do not move to parent class: connectSignals(); diff --git a/src/dialogs/mediatypedialog.cpp b/src/dialogs/mediatypedialog.cpp index d210063..afc3b4a 100644 --- a/src/dialogs/mediatypedialog.cpp +++ b/src/dialogs/mediatypedialog.cpp @@ -27,17 +27,16 @@ #include "mediatypenamedialog.h" MediaTypeDialog::MediaTypeDialog(QWidget* parent) - :DbObjectDialog(parent) + :EmuFrontFileObjectDialog(parent) { setWindowTitle(tr("Set media types")); dbManager = new DbMediaType(this); initDataTable(); initEditDialog(); - objectList->hideColumn(DbMediaType::EmuFrontFileObject_FileId); - // do not move to parent class: connectSignals(); - + setColumnsHidden(); + hideColumns(); } MediaTypeDialog::~MediaTypeDialog() diff --git a/src/dialogs/mediatypedialog.h b/src/dialogs/mediatypedialog.h index ef0c307..d70944b 100644 --- a/src/dialogs/mediatypedialog.h +++ b/src/dialogs/mediatypedialog.h @@ -20,9 +20,9 @@ #ifndef MEDIATYPEDIALOG_H #define MEDIATYPEDIALOG_H -#include "dbobjectdialog.h" +#include "emufrontfileobjectdialog.h" -class MediaTypeDialog : public DbObjectDialog +class MediaTypeDialog : public EmuFrontFileObjectDialog { Q_OBJECT diff --git a/src/dialogs/platformdialog.cpp b/src/dialogs/platformdialog.cpp index 052721b..f747a41 100644 --- a/src/dialogs/platformdialog.cpp +++ b/src/dialogs/platformdialog.cpp @@ -24,14 +24,15 @@ #include "platformnamedialog.h" PlatformDialog::PlatformDialog(QWidget *parent) - : DbObjectDialog(parent) + : EmuFrontFileObjectDialog(parent) { setWindowTitle(tr("Set emulated platforms")); dbManager = new DbPlatform(this); initDataTable(); initEditDialog(); - objectList->hideColumn(DbPlatform::EmuFrontFileObject_Id); - + setColumnsHidden(); + hideColumns(); + // do not move to parent class: connectSignals(); } diff --git a/src/dialogs/platformdialog.h b/src/dialogs/platformdialog.h index 079bac4..8c0f3c3 100644 --- a/src/dialogs/platformdialog.h +++ b/src/dialogs/platformdialog.h @@ -20,9 +20,9 @@ #ifndef PLATFORMDIALOG_H #define PLATFORMDIALOG_H -#include "dbobjectdialog.h" +#include "emufrontfileobjectdialog.h" -class PlatformDialog : public DbObjectDialog +class PlatformDialog : public EmuFrontFileObjectDialog { Q_OBJECT diff --git a/src/dialogs/setupmaindialog.cpp b/src/dialogs/setupmaindialog.cpp index 40268ef..1c3f1d4 100644 --- a/src/dialogs/setupmaindialog.cpp +++ b/src/dialogs/setupmaindialog.cpp @@ -29,9 +29,10 @@ SetupMainDialog::SetupMainDialog(QWidget *parent) dbManager = new DbSetup(this); initDataTable(); initEditDialog(); - objectList->hideColumn(DbSetup::Setup_Id); - objectList->hideColumn(DbSetup::Setup_PlatformId); - objectList->hideColumn(DbSetup::Setup_MediaTypeId); + hiddenColumns << DbSetup::Setup_Id; + hiddenColumns << DbSetup::Setup_PlatformId; + hiddenColumns << DbSetup::Setup_MediaTypeId; + hideColumns(); connectSignals(); } diff --git a/src/emufront.pro b/src/emufront.pro index 53879e5..5269cd6 100644 --- a/src/emufront.pro +++ b/src/emufront.pro @@ -63,7 +63,8 @@ HEADERS += mainwindow.h \ utils/unziphelper.h \ utils/emuhelper.h \ dialogs/listdialog.h \ - dialogs/emufrontinputdialog.h + dialogs/emufrontinputdialog.h \ + dialogs/emufrontfileobjectdialog.h SOURCES += main.cpp \ mainwindow.cpp \ db/databasemanager.cpp \ @@ -116,5 +117,6 @@ SOURCES += main.cpp \ utils/unziphelper.cpp \ utils/emuhelper.cpp \ dialogs/listdialog.cpp \ - dialogs/emufrontinputdialog.cpp + dialogs/emufrontinputdialog.cpp \ + dialogs/emufrontfileobjectdialog.cpp OTHER_FILES += diff --git a/src/emulauncher.cpp b/src/emulauncher.cpp index 9cdffce..d876634 100644 --- a/src/emulauncher.cpp +++ b/src/emulauncher.cpp @@ -107,6 +107,16 @@ void EmuLauncher::updateMediaImageContainers() if (!dbMic) dbMic = new DbMediaImageContainer(this); dbMic->filter(mtid, plfid); micTable->setModel(dbMic->getDataModel()); + micTable->hideColumn(DbMediaImageContainer::MIC_FileId); + micTable->hideColumn(DbMediaImageContainer::MIC_FileSize); + micTable->hideColumn(DbMediaImageContainer::MIC_FileCheckSum); + micTable->hideColumn(DbMediaImageContainer::MIC_FilePathId); + micTable->hideColumn(DbMediaImageContainer::MIC_FilePathName); + micTable->hideColumn(DbMediaImageContainer::MIC_SetupId); + micTable->hideColumn(DbMediaImageContainer::MIC_PlatformName); + micTable->hideColumn(DbMediaImageContainer::MIC_PlatformId); + micTable->hideColumn(DbMediaImageContainer::MIC_MediaTypeName); + micTable->hideColumn(DbMediaImageContainer::MIC_MediaTypeId); micTable->resizeColumnsToContents(); platformSelectBox->updateDataModel(); mediaTypeSelectBox->updateDataModel(); -- 1.7.9.5