From: Dirk Rettschlag Date: Thu, 28 Jan 2010 11:50:19 +0000 (+0100) Subject: fixed focus when closing ChatViewSearchbar X-Git-Tag: 0.6-beta1~61 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=3efffa2c3f687b21c8040e9a7ee3830e8f539abf;ds=sidebyside fixed focus when closing ChatViewSearchbar --- diff --git a/src/qtui/bufferwidget.cpp b/src/qtui/bufferwidget.cpp index 135c0d15..e6990aaa 100644 --- a/src/qtui/bufferwidget.cpp +++ b/src/qtui/bufferwidget.cpp @@ -51,22 +51,24 @@ BufferWidget::BufferWidget(QWidget *parent) _chatViewSearchController->setSearchOnlyRegularMsgs(ui.searchBar->searchOnlyRegularMsgsBox()->isChecked()); connect(ui.searchBar, SIGNAL(searchChanged(const QString &)), - _chatViewSearchController, SLOT(setSearchString(const QString &))); + _chatViewSearchController, SLOT(setSearchString(const QString &))); connect(ui.searchBar->caseSensitiveBox(), SIGNAL(toggled(bool)), - _chatViewSearchController, SLOT(setCaseSensitive(bool))); + _chatViewSearchController, SLOT(setCaseSensitive(bool))); connect(ui.searchBar->searchSendersBox(), SIGNAL(toggled(bool)), - _chatViewSearchController, SLOT(setSearchSenders(bool))); + _chatViewSearchController, SLOT(setSearchSenders(bool))); connect(ui.searchBar->searchMsgsBox(), SIGNAL(toggled(bool)), - _chatViewSearchController, SLOT(setSearchMsgs(bool))); + _chatViewSearchController, SLOT(setSearchMsgs(bool))); connect(ui.searchBar->searchOnlyRegularMsgsBox(), SIGNAL(toggled(bool)), - _chatViewSearchController, SLOT(setSearchOnlyRegularMsgs(bool))); + _chatViewSearchController, SLOT(setSearchOnlyRegularMsgs(bool))); connect(ui.searchBar->searchUpButton(), SIGNAL(clicked()), - _chatViewSearchController, SLOT(highlightPrev())); + _chatViewSearchController, SLOT(highlightPrev())); connect(ui.searchBar->searchDownButton(), SIGNAL(clicked()), - _chatViewSearchController, SLOT(highlightNext())); + _chatViewSearchController, SLOT(highlightNext())); + + connect(ui.searchBar, SIGNAL(hidden()), this, SLOT(setFocus())); connect(_chatViewSearchController, SIGNAL(newCurrentHighlight(QGraphicsItem *)), - this, SLOT(scrollToHighlight(QGraphicsItem *))); + this, SLOT(scrollToHighlight(QGraphicsItem *))); ActionCollection *coll = QtUi::actionCollection(); diff --git a/src/qtui/chatviewsearchbar.cpp b/src/qtui/chatviewsearchbar.cpp index 19fce8a6..5dcc1124 100644 --- a/src/qtui/chatviewsearchbar.cpp +++ b/src/qtui/chatviewsearchbar.cpp @@ -58,7 +58,10 @@ void ChatViewSearchBar::setVisible(bool visible) { // a resize event which can lead to strange side effects. ui.searchEditLine->clear(); QWidget::setVisible(visible); - if(visible) ui.searchEditLine->setFocus(); + if(visible) + ui.searchEditLine->setFocus(); + else + emit hidden(); } void ChatViewSearchBar::delaySearch() { diff --git a/src/qtui/chatviewsearchbar.h b/src/qtui/chatviewsearchbar.h index 497c5dd5..d0068b92 100644 --- a/src/qtui/chatviewsearchbar.h +++ b/src/qtui/chatviewsearchbar.h @@ -47,6 +47,7 @@ public slots: signals: void searchChanged(const QString &); + void hidden(); private slots: void delaySearch(); diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index d0a623f6..32b59abf 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -183,9 +183,9 @@ void MainWin::init() { setupBufferWidget(); setupMenus(); setupTopicWidget(); - setupChatMonitor(); setupNickWidget(); setupInputWidget(); + setupChatMonitor(); setupStatusBar(); setupToolBars(); setupSystray(); @@ -591,9 +591,10 @@ void MainWin::setupChatMonitor() { dock->setObjectName("ChatMonitorDock"); ChatMonitorFilter *filter = new ChatMonitorFilter(Client::messageModel(), this); - ChatMonitorView *chatView = new ChatMonitorView(filter, this); - chatView->show(); - dock->setWidget(chatView); + _chatMonitorView = new ChatMonitorView(filter, this); + _chatMonitorView->setFocusProxy(_inputWidget); + _chatMonitorView->show(); + dock->setWidget(_chatMonitorView); dock->hide(); addDockWidget(Qt::TopDockWidgetArea, dock, Qt::Vertical); diff --git a/src/qtui/mainwin.h b/src/qtui/mainwin.h index 4f3f750d..9807550c 100644 --- a/src/qtui/mainwin.h +++ b/src/qtui/mainwin.h @@ -48,6 +48,7 @@ class InputWidget; class MsgProcessorStatusWidget; class NickListWidget; class SystemTray; +class ChatMonitorView; class QMenu; class QLabel; @@ -200,6 +201,7 @@ class MainWin BufferWidget *_bufferWidget; NickListWidget *_nickListWidget; InputWidget *_inputWidget; + ChatMonitorView *_chatMonitorView; QMenu *_fileMenu, *_networksMenu, *_viewMenu, *_bufferViewsMenu, *_settingsMenu, *_helpMenu, *_helpDebugMenu; QMenu *_toolbarMenu;