From fd905f76e560e2a2daafe1f3277953b09521d568 Mon Sep 17 00:00:00 2001 From: Eberhard Graether Date: Tue, 26 Apr 2016 16:40:09 +0200 Subject: [PATCH] ui: Updates for release * updated color scheme highlight colors * fixed highlight color resetting * prevent project file being save with no changes * fixed MessageListener crash due to alive flag being set too late * new edit project icon --- bin/app/data/color_schemes/bad_rainbow.xml | 17 ++++++++++------- bin/app/data/color_schemes/bright.xml | 16 ++++++++-------- bin/app/data/color_schemes/dark.xml | 18 ++++++++++-------- bin/app/data/gui/code_view/images/edit.png | Bin 464 -> 1007 bytes src/lib/Application.cpp | 9 +++++++-- src/lib/Project.cpp | 15 +++++++++++++-- src/lib/settings/ProjectSettings.cpp | 5 +++++ src/lib/settings/ProjectSettings.h | 1 + .../utility/messaging/MessageListenerBase.h | 2 +- src/lib_gui/qt/element/QtCodeArea.cpp | 6 +++++- 10 files changed, 60 insertions(+), 29 deletions(-) diff --git a/bin/app/data/color_schemes/bad_rainbow.xml b/bin/app/data/color_schemes/bad_rainbow.xml index 7e6a73a3..a36ffaac 100644 --- a/bin/app/data/color_schemes/bad_rainbow.xml +++ b/bin/app/data/color_schemes/bad_rainbow.xml @@ -93,12 +93,13 @@ transparent - #B2B2B2 + #EDEDED transparent - #B2B2B2 - #4A4A4A + #EDEDED + #EDEDED + #262626 @@ -107,12 +108,14 @@ transparent - #FF9C3C - transparent + #9BDAFF + #A5DEFF + #262626 - #FF9C3C - #695540 + transparent + #A5DEFF + #262626 diff --git a/bin/app/data/color_schemes/bright.xml b/bin/app/data/color_schemes/bright.xml index e0238538..a0e7fe50 100644 --- a/bin/app/data/color_schemes/bright.xml +++ b/bin/app/data/color_schemes/bright.xml @@ -93,13 +93,13 @@ transparent - #B2B2B2 + #8E8E8E transparent - #B2B2B2 - #EDEDED - #000000 + #A0A0A0 + #A0A0A0 + #FFFFFF @@ -108,12 +108,12 @@ transparent - #FF9C3C - transparent + #AAE0FF + #C6EAFF - #FF9C3C - #FFDFC0 + transparent + #C6EAFF diff --git a/bin/app/data/color_schemes/dark.xml b/bin/app/data/color_schemes/dark.xml index c4f030f5..e5381d79 100644 --- a/bin/app/data/color_schemes/dark.xml +++ b/bin/app/data/color_schemes/dark.xml @@ -93,13 +93,13 @@ transparent - #B2B2B2 + #F7F7F7 transparent - #B2B2B2 - #4A4A4A - #F7F7F7 + transparent + #F7F7F7 + #272728 @@ -108,12 +108,14 @@ transparent - #FF9C3C - transparent + #A0A0A0 + #969696 + #191919 - #FF9C3C - #695540 + transparent + #969696 + #272728 diff --git a/bin/app/data/gui/code_view/images/edit.png b/bin/app/data/gui/code_view/images/edit.png index e4a2562b9c8545b1c6437b5cd50b40e4a9c32a5b..9fd89c192d947e64918e9d2c3d9d2f959785b635 100644 GIT binary patch literal 1007 zcmV)jlKw`&!c*i3z zqLLnu$7BlocsC(%i<#*Y(lj0P4PRZ&manhBfB5_zCRwSvgomaS-n4u#J4x;3RE3-4CybYlpFxn%0Pz8ho#w!X zA_Aj;@v9}BPlpxAQO(`xQ3n>KftYHwE!ZXiR$AgFz! z3}k8;+)1_1yMa>MRVoZLyuL;JmMy4(8X5-D4IEX&AgF=b?UP{OHWvHX4U}|!i&g_w zUf<#pYyjzuTFzi!tqCAo3TtZ^h)UtHHw?TRI41jo8_0Bhi%R=g4Aj~%kTeH=Pr466 zk7n88YYx1o{qI-9U5GgQObui`Y)A*8w+08HGl^COIjz}t60+m`?!WWDQq$5qKr-#` zdECqrWEL~P%;df;4Ip=t3&Riq`-05qMEN{+fL*7_cal?-6QJ!nu*)EXw+ng$9PRC_ z3xSpTFlLap06$uQe4GHjh3Vfso?xsdfR=k**sgui+HL8IndS5P+>-!-tpVKAR7A{E z81Heq8aq4}1KVN`W3(yjY+%O%8SmG!iUl60fd~w*c)`55x!Kaw!J1zr1(E6@QrmzBNbJ4e^ZJg0(OQ(N_ d;TC@c7y#b>kT#%3DhmJr002ovPDHLkV1nDq#Ww%| literal 464 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&1qS$pxB_YFf|!+}PCyf-N`m}? z8Q4XoYLYXJ9F;R0|TRor;B4q#jUqj9G#dPd0Z|s zIWjs1ikN)2Um-2dcgE-Yp(SE}b{+UV+a;;T@R-Eu+mByAzn-~y!_VIx9UYG^J&}J@ z{@#0izSfV&(Ohi%7CtzoufOACH@DlLOHG0MHzXX=*N&KbIA+7Lgmn*g6o}iLjQKFF zvcA2q$@|sca*>)R|K^t+^#1feTeN0<@!zzAYPa)6az6jP*(6lIY{7~7IvStVxw!sb zYznGhvf##kO^xsCxp@99cyRC`KbKBjmE&c9y%!&Xxp)0J(&T5q?FR%r{l_N{2K(>S zA3J{h`2Y7iYvJ&3*@3uw4LR|7*x`Jj7n8qlm$&|JQ7(FQ);>_Yc)I$ztaD0e0st%s Bw<7=m diff --git a/src/lib/Application.cpp b/src/lib/Application.cpp index bd78c4a3..53a447ed 100644 --- a/src/lib/Application.cpp +++ b/src/lib/Application.cpp @@ -15,6 +15,7 @@ #include "component/view/MainView.h" #include "component/view/ViewFactory.h" #include "data/StorageCache.h" +#include "isTrial.h" #include "LicenseChecker.h" #include "settings/ApplicationSettings.h" #include "settings/ColorScheme.h" @@ -120,7 +121,7 @@ void Application::loadProject(const FilePath& projectSettingsFilePath) Project::ProjectState state = m_project->load(projectSettingsFilePath); if (state == Project::PROJECT_OUTDATED) { - if (m_hasGUI) + if (m_hasGUI && !isTrial()) { std::vector options; options.push_back("Yes"); @@ -182,6 +183,10 @@ void Application::saveProject(const FilePath& projectSettingsFilePath) { LOG_ERROR("No Project Settings File defined"); } + else + { + MessageStatus("Project saved").dispatch(); + } } void Application::handleMessage(MessageActivateWindow* message) @@ -213,7 +218,7 @@ void Application::handleMessage(MessageLoadProject* message) } } - if (message->forceRefresh) + if (message->forceRefresh && !isTrial()) { if (m_hasGUI) { diff --git a/src/lib/Project.cpp b/src/lib/Project.cpp index 8cbf432c..212400dc 100644 --- a/src/lib/Project.cpp +++ b/src/lib/Project.cpp @@ -90,19 +90,30 @@ Project::ProjectState Project::reload() bool Project::save(const FilePath& projectSettingsFile) { + bool differentLocation = (projectSettingsFile != m_projectSettingsFilepath); if (!projectSettingsFile.empty()) { setProjectSettingsFilePath(projectSettingsFile); } + else + { + differentLocation = false; + } if (m_projectSettingsFilepath.empty()) { return false; } - ProjectSettings::getInstance()->save(m_projectSettingsFilepath); + ProjectSettings settings; + settings.load(m_projectSettingsFilepath); - LOG_INFO_STREAM(<< "ProjectSettings saved to file: " << m_projectSettingsFilepath.str()); + if (differentLocation || settings != *ProjectSettings::getInstance().get()) + { + ProjectSettings::getInstance()->save(m_projectSettingsFilepath); + + LOG_INFO_STREAM(<< "ProjectSettings saved to file: " << m_projectSettingsFilepath.str()); + } return true; } diff --git a/src/lib/settings/ProjectSettings.cpp b/src/lib/settings/ProjectSettings.cpp index e1b8f35a..18e81ce7 100644 --- a/src/lib/settings/ProjectSettings.cpp +++ b/src/lib/settings/ProjectSettings.cpp @@ -57,6 +57,11 @@ bool ProjectSettings::operator==(const ProjectSettings& other) const utility::isPermutation(getSourceExtensions(), other.getSourceExtensions()); } +bool ProjectSettings::operator!=(const ProjectSettings& other) const +{ + return !(*this == other); +} + void ProjectSettings::save(const FilePath& filePath) { m_projectName = ""; diff --git a/src/lib/settings/ProjectSettings.h b/src/lib/settings/ProjectSettings.h index 0e586986..3f2426fd 100644 --- a/src/lib/settings/ProjectSettings.h +++ b/src/lib/settings/ProjectSettings.h @@ -18,6 +18,7 @@ public: ~ProjectSettings(); bool operator==(const ProjectSettings& other) const; + bool operator!=(const ProjectSettings& other) const; virtual void save(const FilePath& filePath); diff --git a/src/lib/utility/messaging/MessageListenerBase.h b/src/lib/utility/messaging/MessageListenerBase.h index 727ad073..39675b51 100644 --- a/src/lib/utility/messaging/MessageListenerBase.h +++ b/src/lib/utility/messaging/MessageListenerBase.h @@ -21,9 +21,9 @@ public: { if (m_alive) { + m_alive = false; MessageQueue::getInstance()->unregisterListener(this); } - m_alive = false; } uint getId() const diff --git a/src/lib_gui/qt/element/QtCodeArea.cpp b/src/lib_gui/qt/element/QtCodeArea.cpp index f8c338aa..0378e6ef 100644 --- a/src/lib_gui/qt/element/QtCodeArea.cpp +++ b/src/lib_gui/qt/element/QtCodeArea.cpp @@ -712,7 +712,11 @@ void QtCodeArea::annotateText() { if (newColor.text.size() > 0 && newColor.text != "transparent") { - annotation.oldTextColor = m_highlighter->getFormat(annotation.start, annotation.end).foreground().color(); + if (!annotation.oldTextColor.isValid()) + { + annotation.oldTextColor = m_highlighter->getFormat(annotation.start, annotation.end).foreground().color(); + } + setTextColorForAnnotation(annotation, QColor(newColor.text.c_str())); } else if (annotation.oldTextColor.isValid())