diff --git a/sieveeditor/emaillineedit/emaillineedit.cpp b/sieveeditor/emaillineedit/emaillineedit.cpp index 99d624843cc6b6a750d249331e240b1a96c9ea70..dd66f6348194f156d6c2eb6f00a10e48bade4163 100644 --- a/sieveeditor/emaillineedit/emaillineedit.cpp +++ b/sieveeditor/emaillineedit/emaillineedit.cpp @@ -21,7 +21,6 @@ #include "sieveeditoremaillineditplugin_debug.h" #include #include -#include #include #include @@ -53,12 +52,18 @@ EmailLineEdit::EmailLineEdit(QWidget *parent, const QList &) mainLayout->addWidget(mEmailButton); connect(mEmailButton, &QToolButton::clicked, this, &EmailLineEdit::slotSelectEmail); verifyAkonadiStatus(); + connect(Akonadi::ServerManager::self(), &Akonadi::ServerManager::stateChanged, this, &EmailLineEdit::akonadiStateChanged); } EmailLineEdit::~EmailLineEdit() { } +void EmailLineEdit::akonadiStateChanged(Akonadi::ServerManager::State state) +{ + mEmailButton->setVisible(state == Akonadi::ServerManager::Running); +} + void EmailLineEdit::verifyAkonadiStatus() { Akonadi::ServerManager::State state = Akonadi::ServerManager::self()->state(); diff --git a/sieveeditor/emaillineedit/emaillineedit.h b/sieveeditor/emaillineedit/emaillineedit.h index efbc0fd12ed97548c0090826ce3148bdd410f788..60610a3432f825256727c990e4c1b939b3ee3f89 100644 --- a/sieveeditor/emaillineedit/emaillineedit.h +++ b/sieveeditor/emaillineedit/emaillineedit.h @@ -20,8 +20,8 @@ #ifndef EMAILLINEEDIT_H #define EMAILLINEEDIT_H -#include #include +#include class QLineEdit; class QToolButton; class EmailLineEdit : public KSieveUi::AbstractSelectEmailLineEdit @@ -40,6 +40,7 @@ private: void verifyAddress(); void slotSelectEmail(); void verifyAkonadiStatus(); + void akonadiStateChanged(Akonadi::ServerManager::State state); QString mNegativeBackground; QLineEdit *mLineEdit = nullptr; QToolButton *mEmailButton = nullptr;