Git commit dc964b5fac057c67cf73e8fd8e197f8992955763 by Jan Kundr?t, on behalf of Thomas L?bking. Committed on 09/01/2013 at 00:03. Pushed by jkt into branch 'master'.
GUI: Flash red on search failure This tells me there's been in error when typing something stupid like eg. ":=subjet 12345" Ported-by: Jan Kundr?t <jkt at flaska.net> M +14 -0 src/Gui/MessageListWidget.cpp M +2 -0 src/Gui/MessageListWidget.h M +1 -0 src/Gui/Window.cpp M +1 -0 src/Imap/Model/ThreadingMsgListModel.cpp M +3 -0 src/Imap/Model/ThreadingMsgListModel.h http://commits.kde.org/trojita/dc964b5fac057c67cf73e8fd8e197f8992955763 diff --git a/src/Gui/MessageListWidget.cpp b/src/Gui/MessageListWidget.cpp index 4788fe3..8391978 100644 --- a/src/Gui/MessageListWidget.cpp +++ b/src/Gui/MessageListWidget.cpp @@ -142,6 +142,20 @@ void MessageListWidget::slotAutoEnableDisableSearch() m_searchOptions->setEnabled(isEnabled); } +void MessageListWidget::slotSortingFailed() +{ + QPalette pal = m_quickSearchText->palette(); + pal.setColor(m_quickSearchText->backgroundRole(), Qt::red); + pal.setColor(m_quickSearchText->foregroundRole(), Qt::white); + m_quickSearchText->setPalette(pal); + QTimer::singleShot(500, this, SLOT(slotResetSortingFailed())); +} + +void MessageListWidget::slotResetSortingFailed() +{ + m_quickSearchText->setPalette(QPalette()); +} + void MessageListWidget::slotConditionalSearchReset() { if (m_quickSearchText->text().isEmpty()) diff --git a/src/Gui/MessageListWidget.h b/src/Gui/MessageListWidget.h index 1e49543..15d3c80 100644 --- a/src/Gui/MessageListWidget.h +++ b/src/Gui/MessageListWidget.h @@ -53,11 +53,13 @@ signals: protected slots: void slotApplySearch(); void slotAutoEnableDisableSearch(); + void slotSortingFailed(); private slots: void slotComplexSearchInput(QAction*); void slotConditionalSearchReset(); void slotDeActivateSimpleSearch(); + void slotResetSortingFailed(); void slotUpdateSearchCursor(); private: diff --git a/src/Gui/Window.cpp b/src/Gui/Window.cpp index 6dc8254..75c6e51 100644 --- a/src/Gui/Window.cpp +++ b/src/Gui/Window.cpp @@ -586,6 +586,7 @@ void MainWindow::setupModels() threadingMsgListModel = new Imap::Mailbox::ThreadingMsgListModel(this); threadingMsgListModel->setObjectName(QLatin1String("threadingMsgListModel")); threadingMsgListModel->setSourceModel(msgListModel); + connect(threadingMsgListModel, SIGNAL(sortingFailed()), msgListWidget, SLOT(slotSortingFailed())); prettyMsgListModel = new Imap::Mailbox::PrettyMsgListModel(this); prettyMsgListModel->setSourceModel(threadingMsgListModel); prettyMsgListModel->setObjectName(QLatin1String("prettyMsgListModel")); diff --git a/src/Imap/Model/ThreadingMsgListModel.cpp b/src/Imap/Model/ThreadingMsgListModel.cpp index 7fd2272..12470f7 100644 --- a/src/Imap/Model/ThreadingMsgListModel.cpp +++ b/src/Imap/Model/ThreadingMsgListModel.cpp @@ -817,6 +817,7 @@ void ThreadingMsgListModel::slotSortingFailed() m_sortReverse = false; calculateNullSort(); applySort(); + emit sortingFailed(); } void ThreadingMsgListModel::slotSortingIncrementalUpdate(const Responses::ESearch::IncrementalContextData_t &updates) diff --git a/src/Imap/Model/ThreadingMsgListModel.h b/src/Imap/Model/ThreadingMsgListModel.h index 202c1b7..c3e88c7 100644 --- a/src/Imap/Model/ThreadingMsgListModel.h +++ b/src/Imap/Model/ThreadingMsgListModel.h @@ -182,6 +182,9 @@ public slots: void slotIncrementalThreadingAvailable(const Responses::ESearch::IncrementalThreadingData_t &data); void slotIncrementalThreadingFailed(); +signals: + void sortingFailed(); + private: /** @short Display messages without any threading at all, as a liner list */ void updateNoThreading();
