logic: Show error message when license expired

* moved all license checking logic to LicenseChecker
* create LicenseChecker instance in app
* Notify MainView with MessageForceEnterLicense
This commit is contained in:
Eberhard Graether
2016-04-22 13:58:13 +02:00
parent 73973cb4a3
commit a6e57a6564
15 changed files with 221 additions and 140 deletions
+5 -5
View File
@@ -11,7 +11,7 @@ QtMainView::QtMainView()
, m_setTitleFunctor(std::bind(&QtMainView::doSetTitle, this, std::placeholders::_1))
, m_activateWindowFunctor(std::bind(&QtMainView::doActivateWindow, this))
, m_updateRecentProjectMenuFunctor(std::bind(&QtMainView::doUpdateRecentProjectMenu, this))
, m_forceLicenseScreenFunctor(std::bind(&QtMainView::doForceLicenseScreen, this))
, m_forceLicenseScreenFunctor(std::bind(&QtMainView::doForceLicenseScreen, this, std::placeholders::_1))
{
m_window = std::make_shared<QtMainWindow>();
m_window->show();
@@ -89,9 +89,9 @@ void QtMainView::updateRecentProjectMenu()
m_updateRecentProjectMenuFunctor();
}
void QtMainView::forceLicenseScreen()
void QtMainView::handleMessage(MessageForceEnterLicense* message)
{
m_forceLicenseScreenFunctor();
m_forceLicenseScreenFunctor(message->licenseExpired);
}
void QtMainView::handleMessage(MessageProjectNew* message)
@@ -140,7 +140,7 @@ void QtMainView::doUpdateRecentProjectMenu()
m_window->updateRecentProjectMenu();
}
void QtMainView::doForceLicenseScreen()
void QtMainView::doForceLicenseScreen(bool expired)
{
m_window->forceEnterLicense();
m_window->forceEnterLicense(expired);
}
+5 -3
View File
@@ -10,6 +10,7 @@
#include "qt/utility/QtThreadedFunctor.h"
#include "utility/messaging/MessageListener.h"
#include "utility/messaging/type/MessageForceEnterLicense.h"
#include "utility/messaging/type/MessageProjectNew.h"
#include "utility/messaging/type/MessageShowStartScreen.h"
@@ -18,6 +19,7 @@ class View;
class QtMainView
: public MainView
, public MessageListener<MessageForceEnterLicense>
, public MessageListener<MessageProjectNew>
, public MessageListener<MessageShowStartScreen>
{
@@ -43,9 +45,9 @@ public:
virtual void setTitle(const std::string& title);
virtual void activateWindow();
virtual void updateRecentProjectMenu();
virtual void forceLicenseScreen();
private:
void handleMessage(MessageForceEnterLicense* message);
void handleMessage(MessageProjectNew* message);
void handleMessage(MessageShowStartScreen* message);
@@ -55,7 +57,7 @@ private:
void doSetTitle(const std::string& title);
void doActivateWindow();
void doUpdateRecentProjectMenu();
void doForceLicenseScreen();
void doForceLicenseScreen(bool expired);
std::shared_ptr<QtMainWindow> m_window;
std::vector<View*> m_views;
@@ -66,7 +68,7 @@ private:
QtThreadedFunctor<const std::string&> m_setTitleFunctor;
QtThreadedFunctor<> m_activateWindowFunctor;
QtThreadedFunctor<> m_updateRecentProjectMenuFunctor;
QtThreadedFunctor<> m_forceLicenseScreenFunctor;
QtThreadedFunctor<bool> m_forceLicenseScreenFunctor;
};
#endif // QT_MAIN_VIEW_H