X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatviewsearchbar.cpp;h=19fce8a6f3b16343c7d8409a3cdcf1cc29632dd9;hp=add0f3e29ab6d53c4a764722bf7779acaec943c6;hb=8b7a532bed238cab3e675c78a16444d7a3f92865;hpb=f824db0e31b54969e0b7fa0b5405b1e9173d482c diff --git a/src/qtui/chatviewsearchbar.cpp b/src/qtui/chatviewsearchbar.cpp index add0f3e2..19fce8a6 100644 --- a/src/qtui/chatviewsearchbar.cpp +++ b/src/qtui/chatviewsearchbar.cpp @@ -32,6 +32,7 @@ ChatViewSearchBar::ChatViewSearchBar(QWidget *parent) ui.hideButton->setIcon(BarIcon("dialog-close")); ui.searchUpButton->setIcon(SmallIcon("go-up")); ui.searchDownButton->setIcon(SmallIcon("go-down")); + _searchDelayTimer.setSingleShot(true); layout()->setContentsMargins(0, 0, 0, 0); @@ -47,6 +48,8 @@ ChatViewSearchBar::ChatViewSearchBar(QWidget *parent) hideSearchBar->setShortcut(Qt::Key_Escape); connect(ui.hideButton, SIGNAL(clicked()), toggleSearchBar, SLOT(toggle())); + connect(ui.searchEditLine, SIGNAL(textChanged(const QString &)), this, SLOT(delaySearch())); + connect(&_searchDelayTimer, SIGNAL(timeout()), this, SLOT(search())); } void ChatViewSearchBar::setVisible(bool visible) { @@ -58,3 +61,10 @@ void ChatViewSearchBar::setVisible(bool visible) { if(visible) ui.searchEditLine->setFocus(); } +void ChatViewSearchBar::delaySearch() { + _searchDelayTimer.start(300); +} + +void ChatViewSearchBar::search() { + emit searchChanged(ui.searchEditLine->text()); +}