diff --git a/setup/Linux/Sourcetrail.sh b/setup/Linux/Sourcetrail.sh index a3f93bbb..ff251338 100644 --- a/setup/Linux/Sourcetrail.sh +++ b/setup/Linux/Sourcetrail.sh @@ -1,3 +1,5 @@ +#!/bin/sh + # get the current directory SOURCE="${0}" while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink diff --git a/src/lib_gui/qt/element/QtSmartSearchBox.cpp b/src/lib_gui/qt/element/QtSmartSearchBox.cpp index d848d7ae..f2fa53a0 100644 --- a/src/lib_gui/qt/element/QtSmartSearchBox.cpp +++ b/src/lib_gui/qt/element/QtSmartSearchBox.cpp @@ -472,10 +472,10 @@ void QtSmartSearchBox::mouseMoveEvent(QMouseEvent* event) void QtSmartSearchBox::mousePressEvent(QMouseEvent* event) { - QLineEdit::mousePressEvent(event); - if (!m_ignoreNextMousePress) { + QLineEdit::mousePressEvent(event); + m_mousePressed = true; m_mouseX = event->x(); } @@ -609,6 +609,12 @@ void QtSmartSearchBox::onAutocompletionActivated(const SearchMatch& match) void QtSmartSearchBox::onElementSelected(QtSearchElement* element) { + if (m_ignoreNextMousePress) + { + m_ignoreNextMousePress = false; + return; + } + if (!hasSelectedElements() && !m_shiftKeyDown) { editElement(element); @@ -756,6 +762,11 @@ SearchMatch QtSmartSearchBox::editElement(QtSearchElement* element) void QtSmartSearchBox::updateElements() { + m_oldElements = m_elements; + for (auto e : m_oldElements) + { + e->hide(); + } m_elements.clear(); ColorScheme* scheme = ColorScheme::getInstance().get(); diff --git a/src/lib_gui/qt/element/QtSmartSearchBox.h b/src/lib_gui/qt/element/QtSmartSearchBox.h index 46eaff15..7b659c7c 100644 --- a/src/lib_gui/qt/element/QtSmartSearchBox.h +++ b/src/lib_gui/qt/element/QtSmartSearchBox.h @@ -109,6 +109,7 @@ private: SearchMatch m_oldMatch; std::vector> m_elements; + std::vector> m_oldElements; size_t m_cursorIndex;