Exception handling.
authorMikko Keinänen <mikko.keinanen@gmail.com>
Thu, 18 Nov 2010 20:36:59 +0000 (22:36 +0200)
committerMikko Keinänen <mikko.keinanen@gmail.com>
Thu, 18 Nov 2010 20:36:59 +0000 (22:36 +0200)
src/db/dbmediaimagecontainer.cpp
src/mainwindow.cpp
src/mainwindow.h

index 738fd19..86a3031 100644 (file)
@@ -204,6 +204,8 @@ int DbMediaImageContainer::getMediaImageContainer(QString checksum) const
 /**
 * Stores media image containers, including the media images included
 * to database.
+*
+* Throws EmuFrontException
 */
 void DbMediaImageContainer::storeContainers(QList<MediaImageContainer *> lst, FilePathObject *fpo)
 {
index cdc0f29..91dd252 100644 (file)
@@ -44,6 +44,7 @@ QString MainWindow::aboutTitle = tr("About EmuFront");
 MainWindow::MainWindow(bool reset)
 {
     if (!testDB(reset)) close();
+    errorMessage = new QErrorMessage(this);
     setWindowTitle("EmuFront");
     tmpDirFilePath = DbConfig::getTmpDir();
     if (tmpDirFilePath.isEmpty())
@@ -193,8 +194,7 @@ void MainWindow::resetDb()
         createDB();
     }
     catch (EmuFrontException e) {
-        qDebug() << e.what();
-        QMessageBox::critical(this, "Exception", e.what());
+        errorMessage->showMessage(e.what());
     }
 }
 
@@ -302,12 +302,11 @@ 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
@@ -318,7 +317,7 @@ void MainWindow::createDB() const
     catch (QString str) {
         QString msg(tr("Exception while trying to create"
                        " EmuFront database: %s").arg(str));
-        throw EmuFrontException(msg);
+        errorMessage->showMessage(msg);
     }
 }
 
index f28fef0..4ab5e36 100644 (file)
@@ -34,6 +34,7 @@ class DatabaseManager;
 class EmuFrontDialog;
 class EmuLauncher;
 class DatFileUtil;
+class QErrorMessage;
 
 class MainWindow : public QMainWindow
 {
@@ -94,6 +95,7 @@ private:
     DatabaseManager *dbManager;
     EmuLauncher *launcher;
     QString tmpDirFilePath;
+    QErrorMessage *errorMessage;
 };
 
 #endif