diff --git a/bin/app/data/gui/search_view/images/home.png b/bin/app/data/gui/search_view/images/home.png new file mode 100644 index 00000000..b331fb4c Binary files /dev/null and b/bin/app/data/gui/search_view/images/home.png differ diff --git a/bin/app/data/gui/search_view/search_view.css b/bin/app/data/gui/search_view/search_view.css index f892dbaa..f1188517 100644 --- a/bin/app/data/gui/search_view/search_view.css +++ b/bin/app/data/gui/search_view/search_view.css @@ -16,6 +16,7 @@ QWidget#search_box_container { border: none; border-bottom-left-radius: 12px; border-top-left-radius: 12px; + margin-left: 5px; margin-right: 2px; } @@ -41,19 +42,23 @@ QAbstractItemView#search_box_popup { selection-background-color: ; } -QPushButton#search_button { +#search_button, #home_button { background: ; border: none; - border-bottom-right-radius: 12px; - border-top-right-radius: 12px; + border-radius: 12px; background-position: 15px 5px; width: 30px; } -#search_button:hover { +#search_button { + border-bottom-left-radius: 0px; + border-top-left-radius: 0px; +} + +#search_button:hover, #home_button:hover { background: ; } -#search_button:pressed { +#search_button:pressed, #home_button:pressed { background: ; } diff --git a/src/lib_gui/qt/element/QtSearchBar.cpp b/src/lib_gui/qt/element/QtSearchBar.cpp index 4894b09f..eb72fe93 100644 --- a/src/lib_gui/qt/element/QtSearchBar.cpp +++ b/src/lib_gui/qt/element/QtSearchBar.cpp @@ -4,13 +4,14 @@ #include #include +#include "utility/messaging/type/MessageSearch.h" +#include "utility/ResourcePaths.h" + #include "qt/element/QtSmartSearchBox.h" #include "qt/utility/utilityQt.h" #include "settings/ApplicationSettings.h" #include "settings/ColorScheme.h" -#include "utility/ResourcePaths.h" - QtSearchBar::QtSearchBar() { setObjectName("search_bar"); @@ -21,6 +22,13 @@ QtSearchBar::QtSearchBar() layout->setAlignment(Qt::AlignTop); setLayout(layout); + m_homeButton = new QPushButton(this); + m_homeButton->setObjectName("home_button"); + m_homeButton->setToolTip("show overview"); + m_homeButton->setAttribute(Qt::WA_LayoutUsesWidgetRect); // fixes layouting on Mac + layout->addWidget(m_homeButton); + connect(m_homeButton, SIGNAL(clicked()), this, SLOT(homeButtonClicked())); + m_searchBoxContainer = new QWidget(this); m_searchBoxContainer->setObjectName("search_box_container"); m_searchBoxContainer->setAttribute(Qt::WA_LayoutUsesWidgetRect); // fixes layouting on Mac @@ -87,10 +95,24 @@ void QtSearchBar::refreshStyle() { m_searchBox->setFixedHeight(std::max(ApplicationSettings::getInstance()->getFontSize() + 11, 25)); 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() )); + + 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() + )); +} + +void QtSearchBar::homeButtonClicked() +{ + SearchMatch match = SearchMatch::createCommand(SearchMatch::COMMAND_ALL); + MessageSearch msg(std::vector(1, match)); + msg.dispatch(); } diff --git a/src/lib_gui/qt/element/QtSearchBar.h b/src/lib_gui/qt/element/QtSearchBar.h index 0165f75e..e06cb68d 100644 --- a/src/lib_gui/qt/element/QtSearchBar.h +++ b/src/lib_gui/qt/element/QtSearchBar.h @@ -30,10 +30,14 @@ public: void refreshStyle(); +private slots: + void homeButtonClicked(); + private: QWidget* m_searchBoxContainer; // used for correct clipping inside the search box QtSmartSearchBox* m_searchBox; QPushButton* m_searchButton; + QPushButton* m_homeButton; }; #endif // QT_SEARCH_BAR_H