#include "dialogs/mediaimagepathmaindialog.h"
#include "dialogs/setupmaindialog.h"
#include "dialogs/executablemaindialog.h"
+#include "dialogs/tmpfoldereditdialog.h"
#include "db/databasemanager.h"
+#include "db/dbconfig.h"
MainWindow::MainWindow()
{
setWindowTitle("EmuFront");
- launcher = new EmuLauncher(this);
+ tmpDirFilePath = DbConfig::getTmpDir();
+ if (tmpDirFilePath.isEmpty())
+ tmpDirFilePath = QDir::tempPath();
+ launcher = new EmuLauncher(this, tmpDirFilePath);
setCentralWidget(launcher);
createActions();
createMenus();
mediaImagePathDialog = 0;
setupMainDialog = 0;
executableMainDialog = 0;
- connectSignals();
}
void MainWindow::connectSignals()
configEmulatorAction->setStatusTip(tr("Configure emulators"));
connect(configEmulatorAction, SIGNAL(triggered()), this, SLOT(configureEmulators()));
+ configTmpDirAction = new QAction(tr("&Temp dir"), this);
+ configTmpDirAction->setStatusTip(tr("Configure directory for temporary files."));
+ connect(configTmpDirAction, SIGNAL(triggered()), this, SLOT(configureTmpDir()));
+
exitAction = new QAction(tr("&Exit"), this);
exitAction->setShortcut(tr("Ctrl+Q"));
exitAction->setStatusTip(tr("Exit EmuFront"));
executableMainDialog->refreshDataModel();
}
+void MainWindow::configureTmpDir()
+{
+ /*if (!tmpFolderDialog) {
+ tmpFolderDialog = new TmpFolderEditDialog(this, tmpDirFilePath);
+ }
+ activateDialog(tmpFolderDialog);*/
+
+ QString fpath = QFileDialog::getExistingDirectory(this,
+ tr("Select a directory"), tmpDirFilePath,
+ QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
+ QDir d(fpath);
+ if (d.exists() && d.isReadable()) {
+ tmpDirFilePath = fpath;
+ DbConfig::setTmpDir(tmpDirFilePath);
+ launcher->setTmpDirPath(tmpDirFilePath);
+ }
+}
+
void MainWindow::activateDialog(EmuFrontDialog* dia) const
{
dia->show();
configMenu->addAction(configMediaImagePathAction);
configMenu->addAction(configSetupAction);
configMenu->addAction(configEmulatorAction);
+ configMenu->addAction(configTmpDirAction);
helpMenu = menuBar()->addMenu(tr("&Help"));
helpMenu->addAction(aboutAction);