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 e4a2562b..9fd89c19 100644 Binary files a/bin/app/data/gui/code_view/images/edit.png and b/bin/app/data/gui/code_view/images/edit.png differ 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())