diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..1a32170 --- /dev/null +++ b/README.txt @@ -0,0 +1,3 @@ +Linux: +Please don't forget before build: +sudo apt install mesa-common-dev libglu1-mesa-dev \ No newline at end of file diff --git a/client/appevents.cpp b/client/appevents.cpp index 36a1872..e69de29 100644 --- a/client/appevents.cpp +++ b/client/appevents.cpp @@ -1,27 +0,0 @@ -#include "appevents.h" - -ClientInitEvent::ClientInitEvent() - :QEvent(static_cast(ClientInitId)) -{ -} - -ClientCloseEvent::ClientCloseEvent() - :QEvent(static_cast(ClientCloseId)) -{} - -AttachDatabaseEvent::AttachDatabaseEvent() - :QEvent(static_cast(AttachDatabaseId)) -{} - -SelectTaskEvent::SelectTaskEvent(PTask task) - :QEvent(static_cast(SelectTaskId)), mTask(task) -{} - -PTask SelectTaskEvent::task() -{ - return mTask; -} - -UiInitEvent::UiInitEvent() - :QEvent(static_cast(UiInitId)) -{} diff --git a/client/appevents.h b/client/appevents.h index c88b2fa..04d5e2c 100644 --- a/client/appevents.h +++ b/client/appevents.h @@ -12,39 +12,30 @@ enum UiInitId }; -class ClientInitEvent: public QEvent +template +class ClientEvent: public QEvent { +private: + int mType = N; public: - ClientInitEvent(); + ClientEvent() + :QEvent(static_cast(N)) + {} }; -class ClientCloseEvent: public QEvent +class SelectTaskEvent: public ClientEvent { public: - ClientCloseEvent(); -}; + SelectTaskEvent(PTask task) { + mTask = task; + } -class AttachDatabaseEvent: public QEvent -{ -public: - AttachDatabaseEvent(); -}; - -class SelectTaskEvent: public QEvent -{ -public: - SelectTaskEvent(PTask task); - PTask task(); + PTask task() { + return mTask; + } protected: PTask mTask; }; -class UiInitEvent: public QEvent -{ -public: - UiInitEvent(); -}; - - #endif // APPEVENTS_H diff --git a/client/build-number/build_number.h b/client/build-number/build_number.h index 08382f1..52fe12f 100644 --- a/client/build-number/build_number.h +++ b/client/build-number/build_number.h @@ -1,2 +1,2 @@ // Auto generated file ! Please do not edit ! -#define APP_BUILD_NUMBER 154 \ No newline at end of file +#define APP_BUILD_NUMBER 170 \ No newline at end of file diff --git a/client/mainwindow.cpp b/client/mainwindow.cpp index cdc2c06..d2c256f 100644 --- a/client/mainwindow.cpp +++ b/client/mainwindow.cpp @@ -67,7 +67,7 @@ MainWindow::MainWindow(QWidget *parent) : this->setUpdatesEnabled(true); // init event - QApplication::postEvent(this, new UiInitEvent()); + QApplication::postEvent(this, new ClientEvent()); } MainWindow::~MainWindow() @@ -102,7 +102,7 @@ void MainWindow::attachDatabase() askDbPassword(tr("Invalid password, please try again.")); } else - QApplication::postEvent(this, new UiInitEvent()); + QApplication::postEvent(this, new ClientEvent()); } } else @@ -430,7 +430,6 @@ void MainWindow::customEvent(QEvent *ev) case static_cast(UiInitId): setupMainUi(); - connectUiToDatabase(); loadGeometry(); break; @@ -439,6 +438,12 @@ void MainWindow::customEvent(QEvent *ev) } } +void MainWindow::onDatabaseAvailable() +{ + connectUiToDatabase(); + mStackedViews->setCurrentIndex(ViewIndex_Main); +} + void MainWindow::preferences() { PreferencesDlg pref(this, *mSettings); @@ -845,7 +850,7 @@ void MainWindow::setupMainUi() FvUpdater::sharedUpdater()->SetFeedURL("http://satorilight.com/LittAppCast.xml"); #endif initClient(); - QApplication::postEvent(this, new AttachDatabaseEvent()); + QApplication::postEvent(this, new ClientEvent()); } void MainWindow::buildPasswordView() @@ -1442,7 +1447,7 @@ void MainWindow::showTimeReport() void MainWindow::criticalAlertFinished(int /*status*/) { - QApplication::postEvent(this, new ClientCloseEvent()); + QApplication::postEvent(this, new ClientEvent()); } void MainWindow::warningAlertFinished(int /*status*/) @@ -1674,7 +1679,7 @@ void MainWindow::onDbPasswordEntered(const QString& password) askDbPassword(tr("Invalid password, please try again.")); } else - QApplication::postEvent(this, new UiInitEvent()); + onDatabaseAvailable(); } void MainWindow::onDbPasswordCancelled() @@ -1700,7 +1705,7 @@ void MainWindow::onNewDbPasswordEntered(const QString& password) showFatal(tr("Failed to create new database. Exiting.")); } else - QApplication::postEvent(this, new UiInitEvent()); + onDatabaseAvailable(); } void MainWindow::onDatabaseChanged(const QString& path) @@ -1710,6 +1715,7 @@ void MainWindow::onDatabaseChanged(const QString& path) mSettings->save(); Storage::instance().setPath(path); + // Try to open database askDbPassword(); } diff --git a/client/mainwindow.h b/client/mainwindow.h index 66eaf9b..6cbb324 100644 --- a/client/mainwindow.h +++ b/client/mainwindow.h @@ -159,6 +159,7 @@ private: void buildOpenOrCreateView(); void buildMainView(); + void onDatabaseAvailable(); signals: void onTimeFormatChanged(); void onTimeChanged(); diff --git a/client/openorcreatedb_widget.ui b/client/openorcreatedb_widget.ui index a0f2ad3..8a0801e 100644 --- a/client/openorcreatedb_widget.ui +++ b/client/openorcreatedb_widget.ui @@ -18,7 +18,7 @@ - 400 + 16000 400 diff --git a/client/settings.cpp b/client/settings.cpp index 85b858b..208de51 100644 --- a/client/settings.cpp +++ b/client/settings.cpp @@ -59,7 +59,7 @@ void Settings::load() QString Settings::getDatabasePath() { // Path to settings file - QString path = helper::path::pathToSettings(); + QString path;// = helper::path::pathToSettings(); QString stored_path = data()[KEY_DB_FILENAME].toString(); if (!stored_path.isEmpty())