7#include "searchstatusbuttons.h"
8#include "messagelist_debug.h"
9#include <KLocalizedString>
10#include <QButtonGroup>
14SearchStatusButtons::SearchStatusButtons(
QWidget *parent)
20 mMainLayout->setContentsMargins({});
21 mMainLayout->setSpacing(0);
23 mButtonGroup->setObjectName(QStringLiteral(
"mButtonGroup"));
24 mButtonGroup->setExclusive(
false);
30SearchStatusButtons::~SearchStatusButtons() =
default;
32void SearchStatusButtons::createAction()
35 i18nc(
"@action:inmenu Status of a message",
"Unread"),
39 i18nc(
"@action:inmenu Status of a message",
"Replied"),
43 i18nc(
"@action:inmenu Status of a message",
"Forwarded"),
47 i18nc(
"@action:inmenu Status of a message",
"Important"),
51 i18nc(
"@action:inmenu Status of a message",
"Action Item"),
55 i18nc(
"@action:inmenu Status of a message",
"Watched"),
59 i18nc(
"@action:inmenu Status of a message",
"Ignored"),
63 i18nc(
"@action:inmenu Status of a message",
"Has Attachment"),
67 i18nc(
"@action:inmenu Status of a message",
"Has Invitation"),
71 i18nc(
"@action:inmenu Status of a message",
"Spam"),
75 i18nc(
"@action:inmenu Status of a message",
"Ham"),
79void SearchStatusButtons::createFilterAction(
const QIcon &icon,
const QString &text,
int value)
81 auto toolButton =
new QToolButton(
this);
82 toolButton->setCheckable(
true);
83 toolButton->setAutoRaise(
true);
84 toolButton->setIcon(icon);
85 toolButton->setToolTip(text);
86 mButtonGroup->addButton(toolButton, value);
90void SearchStatusButtons::clearFilter()
92 for (
auto button : mButtonGroup->buttons()) {
93 button->setChecked(
false);
97void SearchStatusButtons::updateFilters()
99 QList<Akonadi::MessageStatus> lstStatus;
101 for (
auto button : mButtonGroup->buttons()) {
102 if (button->isChecked()) {
103 Akonadi::MessageStatus
status;
104 status.fromQInt32(
static_cast<qint32
>(mButtonGroup->id(button)));
108 Q_EMIT filterStatusChanged(lstStatus);
111void SearchStatusButtons::setFilterMessageStatus(
const QList<Akonadi::MessageStatus> &newLstStatus)
113 for (
const Akonadi::MessageStatus &
status : newLstStatus) {
114 if (!mButtonGroup->button(
status.toQInt32())) {
115 qCWarning(MESSAGELIST_LOG) <<
" status not found " <<
status.toQInt32();
117 mButtonGroup->button(
status.toQInt32())->setChecked(
true);
121#include "moc_searchstatusbuttons.cpp"
static const MessageStatus statusUnread()
static const MessageStatus statusHasAttachment()
static const MessageStatus statusSpam()
static const MessageStatus statusHasInvitation()
static const MessageStatus statusReplied()
static const MessageStatus statusImportant()
static const MessageStatus statusWatched()
static const MessageStatus statusForwarded()
static const MessageStatus statusToAct()
static const MessageStatus statusIgnored()
static const MessageStatus statusHam()
Q_SCRIPTABLE CaptureState status()
QString i18nc(const char *context, const char *text, const TYPE &arg...)
The implementation independent part of the MessageList library.
QIcon fromTheme(const QString &name)
void append(QList< T > &&value)
void setObjectName(QAnyStringView name)
QFuture< ArgsType< Signal > > connect(Sender *sender, Signal signal)