This commit is contained in:
Martin Rotter 2014-04-09 08:26:33 +02:00
parent 11ce7f5389
commit 72ace2fe43
4 changed files with 17 additions and 8 deletions

View File

@ -124,6 +124,8 @@ class MessagesModel : public QSqlTableModel {
void setupIcons(); void setupIcons();
private: private:
DisplayFilter m_filter;
QList<int> m_currentFeeds; QList<int> m_currentFeeds;
QList<QString> m_headerData; QList<QString> m_headerData;
QList<QString> m_tooltipData; QList<QString> m_tooltipData;

View File

@ -194,9 +194,11 @@ void FeedMessageViewer::switchFeedComponentVisibility() {
void FeedMessageViewer::createConnections() { void FeedMessageViewer::createConnections() {
FormMain *form_main = FormMain::instance(); FormMain *form_main = FormMain::instance();
// Filtering. // Filtering & searching.
connect(m_toolBarMessages, SIGNAL(messageSearchPatternChanged(QString)), connect(m_toolBarMessages, SIGNAL(messageSearchPatternChanged(QString)),
m_messagesView, SLOT(filterMessages(QString))); m_messagesView, SLOT(searchMessages(QString)));
/*connect(m_toolBarMessages, SIGNAL(messageFilterChanged(MessagesModel::DisplayFilter)),
m_messagesView, SLOT(filterMessages(MessagesModel::DisplayFilter)));*/
// Message changers. // Message changers.
connect(m_messagesView, SIGNAL(currentMessagesRemoved()), connect(m_messagesView, SIGNAL(currentMessagesRemoved()),

View File

@ -373,11 +373,16 @@ void MessagesView::switchSelectedMessagesImportance() {
void MessagesView::reselectIndexes(const QModelIndexList &indexes) { void MessagesView::reselectIndexes(const QModelIndexList &indexes) {
selectionModel()->clearSelection(); selectionModel()->clearSelection();
QItemSelection selection;
foreach (const QModelIndex &index, indexes) { foreach (const QModelIndex &index, indexes) {
selectionModel()->select(index, // TODO: THIS IS very slow. Try to select 4000 messages
QItemSelectionModel::Select | // and hit "mark as read" button.
QItemSelectionModel::Rows); selection.merge(QItemSelection(index, index), QItemSelectionModel::Select);
} }
selectionModel()->select(selection,
QItemSelectionModel::Select | QItemSelectionModel::Rows);
} }
void MessagesView::selectNextItem() { void MessagesView::selectNextItem() {
@ -398,7 +403,7 @@ void MessagesView::selectPreviousItem() {
} }
} }
void MessagesView::filterMessages(const QString &pattern) { void MessagesView::searchMessages(const QString &pattern) {
m_proxyModel->setFilterWildcard(pattern); m_proxyModel->setFilterWildcard(pattern);
if (selectionModel()->selectedRows().size() == 0) { if (selectionModel()->selectedRows().size() == 0) {

View File

@ -76,8 +76,8 @@ class MessagesView : public QTreeView {
void selectNextItem(); void selectNextItem();
void selectPreviousItem(); void selectPreviousItem();
// Filters the visible message according to given pattern. // Searchs the visible message according to given pattern.
void filterMessages(const QString &pattern); void searchMessages(const QString &pattern);
protected slots: protected slots:
// Marks given indexes as selected. // Marks given indexes as selected.