From d0b49a68a324ea2b2783f637ab0a3d449f351f7d Mon Sep 17 00:00:00 2001 From: Eberhard Graether Date: Tue, 14 Feb 2017 11:02:19 +0100 Subject: [PATCH] ui: Show trial in window title --- src/lib/Application.cpp | 28 +++++++++++++++++++++------- src/lib/Application.h | 4 ++-- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/lib/Application.cpp b/src/lib/Application.cpp index dd06012b..587e9f1c 100644 --- a/src/lib/Application.cpp +++ b/src/lib/Application.cpp @@ -40,7 +40,7 @@ void Application::createInstance( s_instance->m_componentManager = ComponentManager::create(viewFactory, s_instance->m_storageCache.get()); s_instance->m_mainView = viewFactory->createMainView(); - s_instance->m_mainView->setTitle("Coati"); + s_instance->updateTitle(); s_instance->m_componentManager->setup(s_instance->m_mainView.get()); s_instance->m_mainView->loadLayout(); @@ -130,11 +130,6 @@ int Application::handleDialog(const std::string& message, const std::vectorconfirm(message, options); } -void Application::setTitle(const std::string& title) -{ - m_mainView->setTitle(title); -} - bool Application::isInTrial() const { return m_isInTrial; @@ -156,7 +151,7 @@ void Application::createAndLoadProject(const FilePath& projectSettingsFilePath) { if (m_hasGUI) { - setTitle("Coati - " + projectSettingsFilePath.fileName()); + updateTitle(); m_mainView->hideStartScreen(); } } @@ -204,6 +199,8 @@ void Application::handleMessage(MessageEnteredLicense* message) MessageStatus("Found valid license key, unlocked application.").dispatch(); m_isInTrial = false; + + updateTitle(); } void Application::handleMessage(MessageFinishedParsing* message) @@ -341,3 +338,20 @@ void Application::logStorageStats() const LOG_INFO(ss.str()); } + +void Application::updateTitle() +{ + std::string title = m_isInTrial ? "Coati Trial" : "Coati"; + + if (m_project) + { + FilePath projectPath = m_project->getProjectSettingsFilePath(); + + if (!projectPath.empty()) + { + title += " - " + projectPath.fileName(); + } + } + + m_mainView->setTitle(title); +} diff --git a/src/lib/Application.h b/src/lib/Application.h index b4e44ef0..f19c5cd9 100644 --- a/src/lib/Application.h +++ b/src/lib/Application.h @@ -52,8 +52,6 @@ public: int handleDialog(const std::string& message); int handleDialog(const std::string& message, const std::vector& options); - void setTitle(const std::string& title); - bool isInTrial() const; private: @@ -75,6 +73,8 @@ private: DialogView* getDialogView() const; void logStorageStats() const; + void updateTitle(); + const bool m_hasGUI; ProjectFactory m_projectFactory; std::shared_ptr m_project;