From 299b3a1cf7657a7829070d369f6473b6533d7013 Mon Sep 17 00:00:00 2001 From: Eberhard Graether Date: Thu, 3 Aug 2017 16:15:27 +0200 Subject: [PATCH] ui: Fixes for upcoming release * improved comment colors in all color schemes * improved contrasts for dark color scheme * fixed error locations stay visible when activating file in single file view * removed scroll speed change listener from search autocompletion because it caused slowdown on macOS * fixed bounding rects of graph edges to contain arrow * fixed tooltip list shown with just one element --- bin/app/data/color_schemes/bad_rainbow.xml | 2 +- bin/app/data/color_schemes/bright.xml | 2 +- bin/app/data/color_schemes/dark.xml | 10 +++++----- bin/app/data/gui/search_view/search_view.css | 4 ++-- src/lib/component/controller/CodeController.cpp | 5 ++++- src/lib/component/controller/TooltipController.cpp | 9 ++++++++- src/lib/utility/messaging/type/MessageTooltipShow.h | 2 ++ src/lib_gui/qt/element/QtAutocompletionList.cpp | 3 --- src/lib_gui/qt/element/QtAutocompletionList.h | 4 ---- src/lib_gui/qt/graphics/QtLineItemAngled.cpp | 11 ++++++++++- 10 files changed, 33 insertions(+), 19 deletions(-) diff --git a/bin/app/data/color_schemes/bad_rainbow.xml b/bin/app/data/color_schemes/bad_rainbow.xml index 00a96bdb..75fa763e 100644 --- a/bin/app/data/color_schemes/bad_rainbow.xml +++ b/bin/app/data/color_schemes/bad_rainbow.xml @@ -119,7 +119,7 @@ #00A0B6 #00A0B6 #FF4A52 - #A0A0A4 + #9DC28D #EE7326 #D663D6 #FBBA00 diff --git a/bin/app/data/color_schemes/bright.xml b/bin/app/data/color_schemes/bright.xml index 5a61980d..959f0d88 100644 --- a/bin/app/data/color_schemes/bright.xml +++ b/bin/app/data/color_schemes/bright.xml @@ -119,7 +119,7 @@ #1B8856 #1B8856 #C1492D - #1A801A + #287299 #C1315E #865F9E #CC9533 diff --git a/bin/app/data/color_schemes/dark.xml b/bin/app/data/color_schemes/dark.xml index 5870f5f0..f01c30e3 100644 --- a/bin/app/data/color_schemes/dark.xml +++ b/bin/app/data/color_schemes/dark.xml @@ -119,7 +119,7 @@ #1F9C62 #1F9C62 #D95233 - #A0A0A4 + #487F9C #CC3463 #9368AD #D69C36 @@ -137,12 +137,12 @@ transparent - #F7F7F7 + #D5D5D5 transparent transparent - #F7F7F7 + #D5D5D5 #272728 @@ -399,8 +399,8 @@ - #3D3D3D - #4D4D4D + #4D4D4D + #6D6D6D diff --git a/bin/app/data/gui/search_view/search_view.css b/bin/app/data/gui/search_view/search_view.css index 6be0cebf..feba05b5 100644 --- a/bin/app/data/gui/search_view/search_view.css +++ b/bin/app/data/gui/search_view/search_view.css @@ -35,10 +35,10 @@ QWidget#search_box_highlight { QAbstractItemView#search_box_popup { background-color: ; - border: none; + border: 1px solid ; color: ; font-family: ""; - margin: 8px 0 0; + margin: 0; min-height: 26px; selection-background-color: ; } diff --git a/src/lib/component/controller/CodeController.cpp b/src/lib/component/controller/CodeController.cpp index 27ec7693..2564dfb0 100644 --- a/src/lib/component/controller/CodeController.cpp +++ b/src/lib/component/controller/CodeController.cpp @@ -314,7 +314,10 @@ void CodeController::handleMessage(MessageShowErrors* message) std::sort(snippets.begin(), snippets.end(), CodeSnippetParams::sortById); - expandVisibleSnippets(&snippets, false); + if (view->isInListMode()) + { + expandVisibleSnippets(&snippets, false); + } CodeView::CodeParams params; params.clearSnippets = true; diff --git a/src/lib/component/controller/TooltipController.cpp b/src/lib/component/controller/TooltipController.cpp index 8f1efc35..68efd680 100644 --- a/src/lib/component/controller/TooltipController.cpp +++ b/src/lib/component/controller/TooltipController.cpp @@ -5,6 +5,7 @@ #include "component/view/TooltipView.h" #include "data/access/StorageAccess.h" +#include "utility/messaging/type/MessageActivateSourceLocations.h" #include "utility/scheduling/TaskDecoratorDelay.h" #include "utility/scheduling/TaskLambda.h" @@ -83,7 +84,13 @@ void TooltipController::handleMessage(MessageTooltipShow* message) TooltipInfo info = m_storageAccess->getTooltipInfoForSourceLocationIdsAndLocalSymbolIds( message->sourceLocationIds, message->localSymbolIds); - if (info.snippets.size()) + // If a tooltip list would only display one token, then just activate it instead. + // This can happen when edges pointing to the token use the same source location e.g. override edges + if (info.snippets.size() == 1) + { + MessageActivateSourceLocations(message->sourceLocationIds).dispatch(); + } + else if (info.snippets.size()) { getView()->showTooltip(info, getViewForOrigin(message->origin)); diff --git a/src/lib/utility/messaging/type/MessageTooltipShow.h b/src/lib/utility/messaging/type/MessageTooltipShow.h index a55ec2b2..dc044c04 100644 --- a/src/lib/utility/messaging/type/MessageTooltipShow.h +++ b/src/lib/utility/messaging/type/MessageTooltipShow.h @@ -15,6 +15,7 @@ public: , origin(origin) { setSendAsTask(false); + setIsLogged(false); } MessageTooltipShow(const std::vector& sourceLocationIds, const std::vector& localSymbolIds, TooltipOrigin origin) @@ -23,6 +24,7 @@ public: , origin(origin) { setSendAsTask(false); + setIsLogged(false); } static const std::string getStaticType() diff --git a/src/lib_gui/qt/element/QtAutocompletionList.cpp b/src/lib_gui/qt/element/QtAutocompletionList.cpp index 50126801..b858d3f0 100644 --- a/src/lib_gui/qt/element/QtAutocompletionList.cpp +++ b/src/lib_gui/qt/element/QtAutocompletionList.cpp @@ -361,9 +361,6 @@ QtAutocompletionList::QtAutocompletionList(QWidget* parent) setModelSorting(QCompleter::UnsortedModel); setCompletionPrefix(""); setMaxVisibleItems(8); - - m_scrollSpeedChangeListenerHorizontal.setScrollBar(list->horizontalScrollBar()); - m_scrollSpeedChangeListenerVertical.setScrollBar(list->verticalScrollBar()); } QtAutocompletionList::~QtAutocompletionList() diff --git a/src/lib_gui/qt/element/QtAutocompletionList.h b/src/lib_gui/qt/element/QtAutocompletionList.h index ad811c46..c55beb97 100644 --- a/src/lib_gui/qt/element/QtAutocompletionList.h +++ b/src/lib_gui/qt/element/QtAutocompletionList.h @@ -11,7 +11,6 @@ #include "data/search/SearchMatch.h" #include "qt/utility/QtDeviceScaledPixmap.h" -#include "qt/utility/QtScrollSpeedChangeListener.h" class QtAutocompletionModel : public QAbstractTableModel @@ -92,9 +91,6 @@ private slots: private: std::shared_ptr m_model; std::shared_ptr m_delegate; - - QtScrollSpeedChangeListener m_scrollSpeedChangeListenerHorizontal; - QtScrollSpeedChangeListener m_scrollSpeedChangeListenerVertical; }; #endif // QT_AUTOCOMPLETION_LIST diff --git a/src/lib_gui/qt/graphics/QtLineItemAngled.cpp b/src/lib_gui/qt/graphics/QtLineItemAngled.cpp index bd79004d..cf0c29ed 100644 --- a/src/lib_gui/qt/graphics/QtLineItemAngled.cpp +++ b/src/lib_gui/qt/graphics/QtLineItemAngled.cpp @@ -18,6 +18,8 @@ QtLineItemAngled::~QtLineItemAngled() QPainterPath QtLineItemAngled::shape() const { QPainterPath path; + path.setFillRule(Qt::WindingFill); + QPolygon poly = getPath(); for (int i = 0; i < poly.size() - 1; i++) @@ -25,7 +27,7 @@ QPainterPath QtLineItemAngled::shape() const path.addRect(QRectF(poly.at(i), poly.at(i + 1)).normalized().adjusted(-5, -5, 5, 5)); } - // path.addRect(getArrowBoundingRect(poly).adjusted(-3, -3, 3, 3)); + path.addRect(getArrowBoundingRect(poly).adjusted(-3, -3, 3, 3)); return path; } @@ -43,6 +45,7 @@ void QtLineItemAngled::paint(QPainter* painter, const QStyleOptionGraphicsItem* path.moveTo(poly.at(i)); + // debug: draw line path // while (i > 0) // { // i--; @@ -53,6 +56,12 @@ void QtLineItemAngled::paint(QPainter* painter, const QStyleOptionGraphicsItem* // return; + // debug: draw bounding rects + // path = shape(); + // painter->drawPath(path); + // return; + + QRectF drawRect = options->exposedRect; QRectF partRect;