# # # patch "guitone/res/i18n/guitone_de.ts" # from [c8de5406a8d94997e7f1852ed020a59e1db36616] # to [b6365b945cde49d6f477e28405783a57b8a15a31] # # patch "guitone/src/view/MainWindow.cpp" # from [8f02397bea9496e204dc8b3326805ff9f672e0bf] # to [9684e845cb9ea5792722475b2ea3f78c4192640c] # # patch "guitone/src/view/MainWindow.h" # from [8a7e531aeefbc0ea58bfa642769bd24a34a7429d] # to [bf1f12efde46c96a0194070d00a9677c8f29e0cd] # ============================================================ --- guitone/res/i18n/guitone_de.ts c8de5406a8d94997e7f1852ed020a59e1db36616 +++ guitone/res/i18n/guitone_de.ts b6365b945cde49d6f477e28405783a57b8a15a31 @@ -602,7 +602,7 @@ Strg+O - + No previous workspaces available. Keine vorherigen Arbeitsbereiche verfügbar. @@ -627,7 +627,7 @@ Strg+Q - + Hide ignored files Ignorierte Dateien verstecken @@ -727,7 +727,7 @@ I - + Expand tree Baum aufklappen @@ -792,7 +792,7 @@ Wählen Sie Ihren Arbeitsbereich aus... - + Loading aborted Laden abgebrochen @@ -822,17 +822,17 @@ Lade Arbeitsbereich... - + Show ignored files Zeige ignorierte Dateien - + Collapse tree Baum zuklappen - + &%1 %2 &%1 %2 @@ -852,7 +852,7 @@ Datenbank öffnen - + No previous databases available. Keine vorherigen geöffneten Datenbanken verfügbar. @@ -867,22 +867,22 @@ Strg+Shift+O - + Loaded database: %1 Geladene Datenbank: %1 - + Select your database... Wählen Sie eine Datenbank aus... - + monotone Databases (*.mtn *.db) monotone-Datenbanken (*.mtn *.db) - + No database loaded Keine Datenbank geladen ============================================================ --- guitone/src/view/MainWindow.cpp 8f02397bea9496e204dc8b3326805ff9f672e0bf +++ guitone/src/view/MainWindow.cpp 9684e845cb9ea5792722475b2ea3f78c4192640c @@ -149,21 +149,21 @@ bool MainWindow::init() restoreGeometry(Settings::getWindowGeometry("MainWindow")); + // // try to load the most recent workspace or database, if there are any + // if everything fails, load nothing and hide the appropriate menus + // QStringList workspaces = Settings::getItemList("RecentWorkspaceList"); - QStringList databases = Settings::getItemList("RecentDatabaseList"); + bool something_loaded = workspaces.size() > 0 && loadWorkspace(workspaces[0]); - if (workspaces.size() > 0) + if (!something_loaded) { - loadWorkspace(workspaces[0]); + QStringList databases = Settings::getItemList("RecentDatabaseList"); + something_loaded = databases.size() > 0 && loadDatabase(databases[0]); } - else if (databases.size() > 0) + + if (!something_loaded) { - loadDatabase(databases[0]); - } - else - { - // if nothing can be loaded, explicitely disable the view switchMode(None); } @@ -207,7 +207,7 @@ void MainWindow::on_actionOpen_Workspace loadWorkspace(fn); } -void MainWindow::loadWorkspace(QString fn) +bool MainWindow::loadWorkspace(QString fn) { Monotone * mtn = Monotone::singleton(); @@ -222,7 +222,7 @@ void MainWindow::loadWorkspace(QString f // remove the workspace if it was recorded as recent workspace Settings::removeItemFromList("RecentWorkspaceList", fn); updatePreviousWorkspacesMenu(); - return; + return false; } if (!invModel->readInventory()) @@ -233,7 +233,7 @@ void MainWindow::loadWorkspace(QString f tr("Unable to execute '%1' - maybe another command is still running?").arg("inventory"), QMessageBox::Ok ); - return; + return false; } switchMode(Workspace); @@ -244,6 +244,7 @@ void MainWindow::loadWorkspace(QString f updatePreviousWorkspacesMenu(); statusBar()->showMessage(tr("Loading workspace..."), 2000 ); + return true; } void MainWindow::resizeEvent(QResizeEvent * event) @@ -277,7 +278,7 @@ void MainWindow::on_actionOpen_Database_ loadDatabase(fn); } -void MainWindow::loadDatabase(QString fn) +bool MainWindow::loadDatabase(QString fn) { Monotone * mtn = Monotone::singleton(); if (!mtn->loadDatabase(fn)) @@ -285,13 +286,14 @@ void MainWindow::loadDatabase(QString fn qDebug("Could not load database."); // remove the workspace if it was recorded as recent workspace Settings::removeItemFromList("RecentDatabaseList", fn); - return; + return false; } switchMode(Database); Settings::addItemToList("RecentDatabaseList", fn, 5); updatePreviousDatabasesMenu(); + return true; } void MainWindow::switchMode(Mode m) ============================================================ --- guitone/src/view/MainWindow.h 8a7e531aeefbc0ea58bfa642769bd24a34a7429d +++ guitone/src/view/MainWindow.h bf1f12efde46c96a0194070d00a9677c8f29e0cd @@ -66,8 +66,8 @@ private: private: void closeEvent(QCloseEvent *); void resizeEvent(QResizeEvent * event); - void loadWorkspace(QString); - void loadDatabase(QString); + bool loadWorkspace(QString); + bool loadDatabase(QString); void updatePreviousWorkspacesMenu(); void updatePreviousDatabasesMenu();