X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fchatviewsearchbar.cpp;h=a7e6ceda05142e8c85c605d3494348c384cb7e30;hb=e531fd1f1ea36a360a9d876c94e73b0f3b1bcd22;hp=c4c6f095be1b6e2542bb1c35248e1d1cd7d93a17;hpb=ba934ceb1bfe30d01d5fb5c072c3197f8080be04;p=quassel.git diff --git a/src/qtui/chatviewsearchbar.cpp b/src/qtui/chatviewsearchbar.cpp index c4c6f095..a7e6ceda 100644 --- a/src/qtui/chatviewsearchbar.cpp +++ b/src/qtui/chatviewsearchbar.cpp @@ -22,36 +22,39 @@ #include "action.h" #include "actioncollection.h" +#include "iconloader.h" #include "qtui.h" ChatViewSearchBar::ChatViewSearchBar(QWidget *parent) : QWidget(parent) { ui.setupUi(this); - layout()->setContentsMargins(0, 0, 0, 0); + ui.hideButton->setIcon(BarIcon("dialog-close")); + ui.searchUpButton->setIcon(SmallIcon("go-up")); + ui.searchDownButton->setIcon(SmallIcon("go-down")); - ui.searchUpButton->setEnabled(false); - ui.searchDownButton->setEnabled(false); + layout()->setContentsMargins(0, 0, 0, 0); hide(); - ActionCollection *coll = QtUi::actionCollection(); + ActionCollection *coll = QtUi::actionCollection("General"); - Action *toggleSearchBar = coll->add("toggleSearchBar"); + QAction *toggleSearchBar = coll->action("ToggleSearchBar"); connect(toggleSearchBar, SIGNAL(toggled(bool)), SLOT(setVisible(bool))); - toggleSearchBar->setText(tr("Show Search Bar")); - toggleSearchBar->setShortcut(Qt::CTRL + Qt::Key_F); - toggleSearchBar->setCheckable(true); - Action *hideSearchBar = coll->add("hideSearchBar", toggleSearchBar, SLOT(setChecked(bool))); // always false + Action *hideSearchBar = coll->add("HideSearchBar", toggleSearchBar, SLOT(setChecked(bool))); + hideSearchBar->setShortcutConfigurable(false); hideSearchBar->setShortcut(Qt::Key_Escape); connect(ui.hideButton, SIGNAL(clicked()), toggleSearchBar, SLOT(toggle())); } void ChatViewSearchBar::setVisible(bool visible) { - QWidget::setVisible(visible); + // clearing the search field also removes the highlight items from the scene + // this should be done before the SearchBar is hidden, as the hiding triggers + // a resize event which can lead to strange side effects. ui.searchEditLine->clear(); + QWidget::setVisible(visible); if(visible) ui.searchEditLine->setFocus(); }