1 /* Copyright (C) 2006 - 2014 Jan Kundrát <jkt@flaska.net>
3 This file is part of the Trojita Qt IMAP e-mail client,
4 http://trojita.flaska.net/
6 This program is free software; you can redistribute it and/or
7 modify it under the terms of the GNU General Public License as
8 published by the Free Software Foundation; either version 2 of
9 the License or (at your option) version 3 or any later version
10 accepted by the membership of KDE e.V. (or its successor approved
11 by the membership of KDE e.V.), which shall act as a proxy
12 defined in Section 14 of version 3 of the license.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
23 #ifndef MESSAGELISTWIDGET_H
24 #define MESSAGELISTWIDGET_H
27 #include "Imap/Model/FavoriteTagsModel.h"
37 /** @short Widget containing a list of messages along with quick filtering toolbar */
38 class MessageListWidget
: public QWidget
42 explicit MessageListWidget(QWidget
*parent
, Imap::Mailbox::FavoriteTagsModel
*m_favoriteTagsModel
);
44 void setFuzzySearchSupported(bool supported
);
45 void setRawSearchEnabled(bool enabled
);
47 QStringList
searchConditions() const;
49 // FIXME: consider making this private and moving the logic from Window with it
54 void focusRawSearch();
57 void requestingSearch(const QStringList
&conditions
);
58 void rawSearchSettingChanged(bool enabled
);
61 void slotApplySearch();
62 void slotAutoEnableDisableSearch();
63 void slotSortingFailed();
66 void slotComplexSearchInput(QAction
*);
67 void slotConditionalSearchReset();
68 void slotDeActivateSimpleSearch();
69 void slotResetSortingFailed();
70 void slotUpdateSearchCursor();
73 LineEdit
*m_quickSearchText
;
74 QAction
*m_searchOptions
;
75 QAction
*m_searchInSubject
;
76 QAction
*m_searchInBody
;
77 QAction
*m_searchInSenders
;
78 QAction
*m_searchInRecipients
;
79 QAction
*m_searchFuzzy
;
81 bool m_supportsFuzzySearch
;
82 QTimer
*m_searchResetTimer
;
83 QString m_queryPlaceholder
;
85 friend class MainWindow
; // needs access to our private slots
90 #endif // MESSAGELISTWIDGET_H