#include <QtGui>
#include "mainwindow.h"
#include "emulauncher.h"
+// TODO: deprecated
#include "dialogs/platformdialog.h"
+#include "dialogs/platformmaindialog.h"
#include "dialogs/mediatypedialog.h"
+// TODO: deprecated
+#include "dialogs/mediatypemaindialog.h"
#include "dialogs/mediaimagepathmaindialog.h"
#include "dialogs/setupmaindialog.h"
#include "dialogs/executablemaindialog.h"
MainWindow::MainWindow(bool reset)
{
if (!testDB(reset)) close();
+ errorMessage = new QErrorMessage(this);
setWindowTitle("EmuFront");
tmpDirFilePath = DbConfig::getTmpDir();
if (tmpDirFilePath.isEmpty())
tmpDirFilePath = QDir::homePath();
qDebug() << "Temporary dir is " << tmpDirFilePath;
- launcher = new EmuLauncher(this, tmpDirFilePath);
+ launcher = new EmuLauncher(errorMessage, this, tmpDirFilePath);
setCentralWidget(launcher);
createActions();
createMenus();
createStatusBar();
readSettings();
+ // TODO: deprecated
platformDialog = 0;
+ plfDialog = 0;
+ // TODO: deprecated
mediaTypeDialog = 0;
+ mdtDialog = 0;
mediaImagePathDialog = 0;
setupMainDialog = 0;
executableMainDialog = 0;
void MainWindow::createActions()
{
+ // TODO: deprecated
configPlatformAction = new QAction(tr("&Platforms"), this);
configPlatformAction->setStatusTip(tr("Configure platforms"));
connect(configPlatformAction, SIGNAL(triggered()),
- this, SLOT(configurePlatforms()));
+ this, SLOT(configurePlatforms()));
+ configPlatformsAction = new QAction(tr("&Set Platforms"), this);
+ configPlatformsAction->setStatusTip(tr("Add, edit and delete platforms"));
+ connect(configPlatformsAction, SIGNAL(triggered()),
+ this, SLOT(configurePlatformss()));
+
+ // TODO: deprecated
configMediaTypeAction = new QAction(tr("&Media Types"), this);
configMediaTypeAction->setStatusTip(tr("Configure media types"));
connect(configMediaTypeAction, SIGNAL(triggered()), this, SLOT(configureMediaTypes()));
+ configMediaTypesAction = new QAction(tr("&Set Media Types"), this);
+ configMediaTypeAction->setStatusTip(tr("Add, edit and delete media types"));
+ connect(configMediaTypesAction, SIGNAL(triggered()), this, SLOT(configureMediaTypess()));
+
configMediaImagePathAction = new QAction(tr("Media &Image Paths"), this);
configMediaImagePathAction->setStatusTip(tr("Configure media image file paths."));
connect(configMediaImagePathAction, SIGNAL(triggered()),
connect(aboutAction, SIGNAL(triggered()), this, SLOT(about()));
}
+// TODO: deprecated
void MainWindow::configurePlatforms()
{
if (!platformDialog)
activateDialog(platformDialog);
}
+void MainWindow::configurePlatformss()
+{
+ if (!plfDialog) {
+ plfDialog = new PlatformMainDialog(this);
+ connect(plfDialog, SIGNAL(finished(int)), this, SLOT(updateData()));
+ }
+ activateDialog(plfDialog);
+}
+
+// TODO: deprecated
void MainWindow::configureMediaTypes()
{
if (!mediaTypeDialog)
activateDialog(mediaTypeDialog);
}
+void MainWindow::configureMediaTypess()
+{
+ if (!mdtDialog)
+ {
+ mdtDialog = new MediaTypeMainDialog(this);
+ connect(mdtDialog, SIGNAL(finished(int)), this, SLOT(updateData()));
+ }
+ activateDialog(mdtDialog);
+}
+
+
void MainWindow::configureMediaImagePaths()
{
if (!mediaImagePathDialog)
createDB();
}
catch (EmuFrontException e) {
- qDebug() << e.what();
- QMessageBox::critical(this, "Exception", e.what());
+ errorMessage->showMessage(e.what());
}
}
configMenu = menuBar()->addMenu(tr("&Config"));
configMenu->addAction(configTmpDirAction);
configMenu->addSeparator();
+ // TODO: deprecated
configMenu->addAction(configPlatformAction);
+ configMenu->addAction(configPlatformsAction);
+ // TODO: deprecated
configMenu->addAction(configMediaTypeAction);
+ configMenu->addAction(configMediaTypesAction);
configMenu->addAction(configSetupAction);
configMenu->addAction(configMediaImagePathAction);
configMenu->addAction(configEmulatorAction);
void MainWindow::about()
{
- QMessageBox::about(this, aboutTitle, aboutStr );
+ QMessageBox::about(this, aboutTitle, aboutStr);
}
bool MainWindow::testDB(bool reset)
}
catch (EmuFrontException e) {
qDebug() << e.what();
- QMessageBox::critical(this, "Exception", e.what());
+ errorMessage->showMessage(e.what());
return false;
}
}
-/* Throws EmuFrontException */
void MainWindow::createDB() const
{
try
catch (QString str) {
QString msg(tr("Exception while trying to create"
" EmuFront database: %s").arg(str));
- throw EmuFrontException(msg);
+ errorMessage->showMessage(msg);
}
}