diff --git a/bin/app/data/color_schemes/bad_rainbow.xml b/bin/app/data/color_schemes/bad_rainbow.xml
index e5477ef9..15a92e60 100644
--- a/bin/app/data/color_schemes/bad_rainbow.xml
+++ b/bin/app/data/color_schemes/bad_rainbow.xml
@@ -10,6 +10,7 @@
#CCCCCC
#606060
white
+ #808080
@@ -72,7 +73,20 @@
#494949
- #CCCCCC
+
+
+ #A0A0A0
+ #CCCCCC
+
+
+
#CCCCCC
diff --git a/bin/app/data/color_schemes/bright.xml b/bin/app/data/color_schemes/bright.xml
index 3411c17d..15a48e3a 100644
--- a/bin/app/data/color_schemes/bright.xml
+++ b/bin/app/data/color_schemes/bright.xml
@@ -8,8 +8,9 @@
#E0E0E0
#B2B2B2
#626262
- #F4F4F4
+ #F2F2F2
white
+ #FDFDFD
@@ -72,7 +73,20 @@
white
- #B2B2B2
+
+
+ #BCBCBC
+ #B2B2B2
+
+
+
#E0E0E0
diff --git a/bin/app/data/color_schemes/dark.xml b/bin/app/data/color_schemes/dark.xml
index 972fcb5d..22242c3d 100644
--- a/bin/app/data/color_schemes/dark.xml
+++ b/bin/app/data/color_schemes/dark.xml
@@ -10,6 +10,7 @@
#444444
#333333
white
+ #777777
@@ -72,7 +73,20 @@
#272728
- #CCC
+
+
+ #A0A0A0
+ #CCC
+
+
+
#777777
diff --git a/bin/app/data/gui/code_view/code_view.css b/bin/app/data/gui/code_view/code_view.css
index 2c4d2192..1c571130 100644
--- a/bin/app/data/gui/code_view/code_view.css
+++ b/bin/app/data/gui/code_view/code_view.css
@@ -1,4 +1,4 @@
-#code_navigation, #code_container, #code_container_single, #code_file_list, #code_file_single {
+#code_navigation, #code_container, #code_file_list, #code_file_single {
background-color: ;
}
@@ -6,8 +6,14 @@
border: none;
}
-#code_container {
- border-top: 1px solid ;
+#separator_gap {
+ background-color: ;
+ border: none;
+}
+
+#separator_line {
+ background-color: ;
+ border: none;
}
#code_navigation * {
@@ -16,52 +22,60 @@
}
#code_navigation QPushButton {
- background: ;
+ background: ;
border: none;
- color: ;
+ color: ;
height: 24px;
width: 24px;
}
#code_navigation QPushButton:hover, #code_navigation QPushButton:checked {
- background: ;
+ background: ;
}
#code_navigation QPushButton:disabled {
- background: ;
+ background: ;
}
#code_navigation QPushButton:pressed {
- background: ;
+ background: ;
}
-#code_navigation #reference_button_previous, #code_navigation #reference_button_next {
- border-radius: 12px;
+#code_navigation #reference_button_previous {
+ border-bottom-left-radius: 11px;
+ border-top-left-radius: 11px;
+}
+
+#code_navigation #reference_button_next {
+ border-bottom-right-radius: 11px;
+ border-top-right-radius: 11px;
}
#code_navigation #references_label {
- background-color: ;
border: none;
border-radius: 10px;
- color: ;
+ color: ;
font-size: px;
padding: 0px 3px;
margin: 4px 6px 4px 6px;
}
-#code_navigation #mode_button_list, #code_navigation #mode_button_single {
- padding-left: 3px;
- padding-right: 3px;
-}
-
#code_navigation #mode_button_list {
- border-bottom-left-radius: 12px;
- border-top-left-radius: 12px;
+ padding-left: 2px;
}
#code_navigation #mode_button_single {
- border-bottom-right-radius: 12px;
- border-top-right-radius: 12px;
+ padding-right: 2px;
+}
+
+#code_navigation #mode_button_list {
+ border-bottom-left-radius: 11px;
+ border-top-left-radius: 11px;
+}
+
+#code_navigation #mode_button_single {
+ border-bottom-right-radius: 11px;
+ border-top-right-radius: 11px;
}
#code_file {
diff --git a/bin/app/data/gui/code_view/images/arrow_left.png b/bin/app/data/gui/code_view/images/arrow_left.png
new file mode 100644
index 00000000..ef4d39da
Binary files /dev/null and b/bin/app/data/gui/code_view/images/arrow_left.png differ
diff --git a/bin/app/data/gui/code_view/images/arrow_right.png b/bin/app/data/gui/code_view/images/arrow_right.png
new file mode 100644
index 00000000..068ce5b2
Binary files /dev/null and b/bin/app/data/gui/code_view/images/arrow_right.png differ
diff --git a/bin/app/data/gui/code_view/images/file.png b/bin/app/data/gui/code_view/images/file.png
new file mode 100644
index 00000000..0d8b37ae
Binary files /dev/null and b/bin/app/data/gui/code_view/images/file.png differ
diff --git a/bin/app/data/gui/code_view/images/list.png b/bin/app/data/gui/code_view/images/list.png
new file mode 100644
index 00000000..5246233b
Binary files /dev/null and b/bin/app/data/gui/code_view/images/list.png differ
diff --git a/src/lib_gui/qt/element/QtCodeFileSingle.cpp b/src/lib_gui/qt/element/QtCodeFileSingle.cpp
index 232903d6..cb62ed65 100644
--- a/src/lib_gui/qt/element/QtCodeFileSingle.cpp
+++ b/src/lib_gui/qt/element/QtCodeFileSingle.cpp
@@ -22,7 +22,7 @@ QtCodeFileSingle::QtCodeFileSingle(QtCodeNavigator* navigator, QWidget* parent)
, m_area(nullptr)
, m_contentRequested(false)
{
- setObjectName("code_container_single");
+ setObjectName("code_container");
setLayout(new QVBoxLayout(this));
layout()->setContentsMargins(0, 0, 0, 0);
diff --git a/src/lib_gui/qt/element/QtCodeFileTitleButton.cpp b/src/lib_gui/qt/element/QtCodeFileTitleButton.cpp
index 9c64ff3a..8947b4f7 100644
--- a/src/lib_gui/qt/element/QtCodeFileTitleButton.cpp
+++ b/src/lib_gui/qt/element/QtCodeFileTitleButton.cpp
@@ -33,7 +33,7 @@ void QtCodeFileTitleButton::setFilePath(const FilePath& filePath)
setText(filePath.fileName().c_str());
setToolTip(filePath.str().c_str());
- std::string text = ResourcePaths::getGuiPath() + "graph_view/images/file.png";
+ std::string text = ResourcePaths::getGuiPath() + "code_view/images/file.png";
setIcon(utility::colorizePixmap(
QPixmap(text.c_str()),
diff --git a/src/lib_gui/qt/element/QtCodeNavigator.cpp b/src/lib_gui/qt/element/QtCodeNavigator.cpp
index 14ec44dd..11a701e6 100644
--- a/src/lib_gui/qt/element/QtCodeNavigator.cpp
+++ b/src/lib_gui/qt/element/QtCodeNavigator.cpp
@@ -7,18 +7,21 @@
#include
#include
-#include "data/location/TokenLocation.h"
-#include "data/location/TokenLocationCollection.h"
-#include "data/location/TokenLocationFile.h"
#include "utility/logging/logging.h"
#include "utility/messaging/type/MessageCodeViewExpandedInitialFiles.h"
#include "utility/messaging/type/MessageScrollCode.h"
#include "utility/messaging/type/MessageShowReference.h"
+#include "utility/ResourcePaths.h"
-#include "settings/ApplicationSettings.h"
+#include "data/location/TokenLocation.h"
+#include "data/location/TokenLocationCollection.h"
+#include "data/location/TokenLocationFile.h"
#include "qt/element/QtCodeFile.h"
#include "qt/element/QtCodeSnippet.h"
+#include "qt/utility/QtDeviceScaledPixmap.h"
#include "qt/utility/utilityQt.h"
+#include "settings/ApplicationSettings.h"
+
QtCodeNavigator::QtCodeNavigator(QWidget* parent)
: QWidget(parent)
@@ -39,11 +42,11 @@ QtCodeNavigator::QtCodeNavigator(QWidget* parent)
QHBoxLayout* navLayout = new QHBoxLayout();
navLayout->setSpacing(2);
- navLayout->setContentsMargins(7, 7, 7, 7);
+ navLayout->setContentsMargins(7, 7, 7, 6);
- m_prevButton = new QPushButton("<");
- m_nextButton = new QPushButton(">");
+ m_prevButton = new QPushButton();
+ m_nextButton = new QPushButton();
m_prevButton->setObjectName("reference_button_previous");
m_nextButton->setObjectName("reference_button_next");
@@ -65,12 +68,15 @@ QtCodeNavigator::QtCodeNavigator(QWidget* parent)
navLayout->addStretch();
- m_listButton = new QPushButton("list");
- m_fileButton = new QPushButton("file");
+ m_listButton = new QPushButton();
+ m_fileButton = new QPushButton();
m_listButton->setObjectName("mode_button_list");
m_fileButton->setObjectName("mode_button_single");
+ m_listButton->setToolTip("snippet list mode");
+ m_fileButton->setToolTip("single file mode");
+
m_listButton->setCheckable(true);
m_fileButton->setCheckable(true);
@@ -83,6 +89,30 @@ QtCodeNavigator::QtCodeNavigator(QWidget* parent)
navigation->setLayout(navLayout);
layout->addWidget(navigation);
+
+ refreshStyle();
+
+ QHBoxLayout* separatorLayout = new QHBoxLayout();
+
+ QWidget* widget = new QWidget();
+ widget->setObjectName("separator_gap");
+ widget->setFixedWidth(7);
+ separatorLayout->addWidget(widget);
+
+ m_separatorLine = new QFrame();
+ m_separatorLine->setFrameShape(QFrame::HLine);
+ m_separatorLine->setFrameShadow(QFrame::Plain);
+ m_separatorLine->setObjectName("separator_line");
+ m_separatorLine->setFixedHeight(1);
+ m_separatorLine->hide();
+ separatorLayout->addWidget(m_separatorLine);
+
+ QWidget* widget2 = new QWidget();
+ widget2->setObjectName("separator_gap");
+ widget2->setFixedWidth(7);
+ separatorLayout->addWidget(widget2);
+
+ layout->addLayout(separatorLayout);
}
m_list = new QtCodeFileList(this);
@@ -435,6 +465,41 @@ void QtCodeNavigator::showContents()
m_current->showContents();
}
+void QtCodeNavigator::refreshStyle()
+{
+ float height = std::max(ApplicationSettings::getInstance()->getFontSize() + 10, 24);
+
+ m_prevButton->setFixedHeight(height);
+ m_nextButton->setFixedHeight(height);
+ m_listButton->setFixedHeight(height);
+ m_fileButton->setFixedHeight(height);
+
+ m_prevButton->setIcon(utility::createButtonIcon(
+ ResourcePaths::getGuiPath() + "code_view/images/arrow_left.png",
+ "code/navigation/button"
+ ));
+
+ m_nextButton->setIcon(utility::createButtonIcon(
+ ResourcePaths::getGuiPath() + "code_view/images/arrow_right.png",
+ "code/navigation/button"
+ ));
+
+ m_listButton->setIcon(utility::createButtonIcon(
+ ResourcePaths::getGuiPath() + "code_view/images/list.png",
+ "code/navigation/button"
+ ));
+
+ m_fileButton->setIcon(utility::createButtonIcon(
+ ResourcePaths::getGuiPath() + "code_view/images/file.png",
+ "code/navigation/button"
+ ));
+
+ m_prevButton->setIconSize(QSize(12, 12));
+ m_nextButton->setIconSize(QSize(12, 12));
+ m_listButton->setIconSize(QSize(14, 14));
+ m_fileButton->setIconSize(QSize(14, 14));
+}
+
void QtCodeNavigator::scrollToValue(int value, bool inListMode)
{
if ((m_mode == MODE_LIST) == inListMode)
@@ -623,11 +688,13 @@ void QtCodeNavigator::setMode(Mode mode)
case MODE_SINGLE:
m_list->hide();
m_single->show();
+ m_separatorLine->hide();
m_current = m_single;
break;
case MODE_LIST:
m_single->hide();
m_list->show();
+ m_separatorLine->show();
m_current = m_list;
break;
default:
diff --git a/src/lib_gui/qt/element/QtCodeNavigator.h b/src/lib_gui/qt/element/QtCodeNavigator.h
index f59ab061..7a8e5fa9 100644
--- a/src/lib_gui/qt/element/QtCodeNavigator.h
+++ b/src/lib_gui/qt/element/QtCodeNavigator.h
@@ -75,6 +75,8 @@ public:
void updateFiles();
void showContents();
+ void refreshStyle();
+
void scrollToValue(int value, bool inListMode);
void scrollToLine(const FilePath& filePath, unsigned int line);
void scrollToDefinition();
@@ -170,6 +172,7 @@ private:
QLabel* m_refLabel;
QPushButton* m_prevButton;
QPushButton* m_nextButton;
+ QFrame* m_separatorLine;
std::vector m_references;
size_t m_refIndex;
diff --git a/src/lib_gui/qt/element/QtRefreshBar.cpp b/src/lib_gui/qt/element/QtRefreshBar.cpp
index 13567a72..88e66e4c 100644
--- a/src/lib_gui/qt/element/QtRefreshBar.cpp
+++ b/src/lib_gui/qt/element/QtRefreshBar.cpp
@@ -9,7 +9,6 @@
#include "qt/utility/utilityQt.h"
#include "settings/ApplicationSettings.h"
-#include "settings/ColorScheme.h"
QtRefreshBar::QtRefreshBar()
{
@@ -49,10 +48,9 @@ void QtRefreshBar::refreshStyle()
m_refreshButton->setFixedHeight(height);
- std::string map = ResourcePaths::getGuiPath() + "refresh_view/images/refresh.png";
- m_refreshButton->setIcon(utility::colorizePixmap(
- QPixmap(map.c_str()),
- ColorScheme::getInstance()->getColor("search/button/icon").c_str()
+ m_refreshButton->setIcon(utility::createButtonIcon(
+ ResourcePaths::getGuiPath() + "refresh_view/images/refresh.png",
+ "search/button"
));
}
diff --git a/src/lib_gui/qt/element/QtSearchBar.cpp b/src/lib_gui/qt/element/QtSearchBar.cpp
index bd99920c..036407bd 100644
--- a/src/lib_gui/qt/element/QtSearchBar.cpp
+++ b/src/lib_gui/qt/element/QtSearchBar.cpp
@@ -9,7 +9,6 @@
#include "qt/element/QtSmartSearchBox.h"
#include "qt/utility/utilityQt.h"
#include "settings/ApplicationSettings.h"
-#include "settings/ColorScheme.h"
QtSearchBar::QtSearchBar()
{
@@ -102,16 +101,14 @@ void QtSearchBar::refreshStyle()
m_searchButton->setFixedHeight(m_searchBox->height() + 5);
m_homeButton->setFixedHeight(m_searchBox->height() + 5);
- std::string map = ResourcePaths::getGuiPath() + "search_view/images/search.png";
- m_searchButton->setIcon(utility::colorizePixmap(
- QPixmap(map.c_str()),
- ColorScheme::getInstance()->getColor("search/button/icon").c_str()
+ m_searchButton->setIcon(utility::createButtonIcon(
+ ResourcePaths::getGuiPath() + "search_view/images/search.png",
+ "search/button"
));
- map = ResourcePaths::getGuiPath() + "search_view/images/home.png";
- m_homeButton->setIcon(utility::colorizePixmap(
- QPixmap(map.c_str()),
- ColorScheme::getInstance()->getColor("search/button/icon").c_str()
+ m_homeButton->setIcon(utility::createButtonIcon(
+ ResourcePaths::getGuiPath() + "search_view/images/home.png",
+ "search/button"
));
}
diff --git a/src/lib_gui/qt/element/QtUndoRedo.cpp b/src/lib_gui/qt/element/QtUndoRedo.cpp
index 996d489c..ea372091 100644
--- a/src/lib_gui/qt/element/QtUndoRedo.cpp
+++ b/src/lib_gui/qt/element/QtUndoRedo.cpp
@@ -9,7 +9,6 @@
#include "qt/utility/utilityQt.h"
#include "settings/ApplicationSettings.h"
-#include "settings/ColorScheme.h"
QtUndoRedo::QtUndoRedo()
{
@@ -72,13 +71,13 @@ void QtUndoRedo::refreshStyle()
m_undoButton->setFixedHeight(height);
m_redoButton->setFixedHeight(height);
- m_undoButton->setIcon(utility::colorizePixmap(
- QPixmap((ResourcePaths::getGuiPath() + "undoredo_view/images/arrow_left.png").c_str()),
- ColorScheme::getInstance()->getColor("search/button/icon").c_str()
+ m_undoButton->setIcon(utility::createButtonIcon(
+ ResourcePaths::getGuiPath() + "undoredo_view/images/arrow_left.png",
+ "search/button"
));
- m_redoButton->setIcon(utility::colorizePixmap(
- QPixmap((ResourcePaths::getGuiPath() + "undoredo_view/images/arrow_right.png").c_str()),
- ColorScheme::getInstance()->getColor("search/button/icon").c_str()
+ m_redoButton->setIcon(utility::createButtonIcon(
+ ResourcePaths::getGuiPath() + "undoredo_view/images/arrow_right.png",
+ "search/button"
));
}
diff --git a/src/lib_gui/qt/utility/utilityQt.cpp b/src/lib_gui/qt/utility/utilityQt.cpp
index 99ffba55..22f70464 100644
--- a/src/lib_gui/qt/utility/utilityQt.cpp
+++ b/src/lib_gui/qt/utility/utilityQt.cpp
@@ -5,6 +5,7 @@
#include
#include
#include
+#include
#include
#include
@@ -157,6 +158,19 @@ namespace utility
return QPixmap::fromImage(image);
}
+ QIcon createButtonIcon(const std::string& iconPath, const std::string& colorId)
+ {
+ QPixmap pixmap(iconPath.c_str());
+
+ QIcon icon(utility::colorizePixmap(pixmap, ColorScheme::getInstance()->getColor(colorId + "/icon").c_str()));
+ icon.addPixmap(
+ utility::colorizePixmap(pixmap, ColorScheme::getInstance()->getColor(colorId + "/icon_disabled").c_str()),
+ QIcon::Disabled
+ );
+
+ return icon;
+ }
+
void copyNewFilesFromDirectory(QString src, QString dst)
{
QDir dir(src);
diff --git a/src/lib_gui/qt/utility/utilityQt.h b/src/lib_gui/qt/utility/utilityQt.h
index 9cb9d372..481b80f8 100644
--- a/src/lib_gui/qt/utility/utilityQt.h
+++ b/src/lib_gui/qt/utility/utilityQt.h
@@ -4,6 +4,7 @@
#include
class QColor;
+class QIcon;
class QPixmap;
class QString;
class QWidget;
@@ -16,6 +17,7 @@ namespace utility
std::string getStyleSheet(const std::string& path);
QPixmap colorizePixmap(const QPixmap& pixmap, QColor color);
+ QIcon createButtonIcon(const std::string& iconPath, const std::string& colorId);
void copyNewFilesFromDirectory(QString src, QString dst);
}
diff --git a/src/lib_gui/qt/view/QtCodeView.cpp b/src/lib_gui/qt/view/QtCodeView.cpp
index 358fefb3..de886d50 100644
--- a/src/lib_gui/qt/view/QtCodeView.cpp
+++ b/src/lib_gui/qt/view/QtCodeView.cpp
@@ -46,6 +46,8 @@ void QtCodeView::refreshView()
{
setStyleSheet();
+ m_widget->refreshStyle();
+
QtCodeArea::clearAnnotationColors();
QtHighlighter::clearHighlightingRules();
}