diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-01-11 14:46:04 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-01-11 15:59:24 +0100 |
commit | 489d5b72696d5c5f802ee206bdde0693ba172018 (patch) | |
tree | 057a02663a11ac9f031d7e91b1b12f85cd5c0216 /examples/imapresource/imapserverproxy.cpp | |
parent | 051a0be95cbe4fe5eb0c7431e13987a2aa56bcc0 (diff) | |
download | sink-489d5b72696d5c5f802ee206bdde0693ba172018.tar.gz sink-489d5b72696d5c5f802ee206bdde0693ba172018.zip |
Set enabled state from subscription
Diffstat (limited to 'examples/imapresource/imapserverproxy.cpp')
-rw-r--r-- | examples/imapresource/imapserverproxy.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/examples/imapresource/imapserverproxy.cpp b/examples/imapresource/imapserverproxy.cpp index 6f8d18b..f54eeb5 100644 --- a/examples/imapresource/imapserverproxy.cpp +++ b/examples/imapresource/imapserverproxy.cpp | |||
@@ -395,11 +395,15 @@ KAsync::Job<QString> ImapServerProxy::renameSubfolder(const QString &oldMailbox, | |||
395 | KAsync::Job<void> ImapServerProxy::fetchFolders(std::function<void(const Folder &)> callback) | 395 | KAsync::Job<void> ImapServerProxy::fetchFolders(std::function<void(const Folder &)> callback) |
396 | { | 396 | { |
397 | SinkTrace() << "Fetching folders"; | 397 | SinkTrace() << "Fetching folders"; |
398 | return list(KIMAP2::ListJob::IncludeUnsubscribed, [callback](const KIMAP2::MailBoxDescriptor &mailbox, const QList<QByteArray> &flags){ | 398 | auto subscribedList = QSharedPointer<QSet<QString>>::create() ; |
399 | bool noselect = flags.contains(QByteArray(FolderFlags::Noselect).toLower()) || flags.contains(QByteArray(FolderFlags::Noselect)); | 399 | return list(KIMAP2::ListJob::NoOption, [=](const KIMAP2::MailBoxDescriptor &mailbox, const QList<QByteArray> &){ |
400 | SinkLog() << "Found mailbox: " << mailbox.name << flags << FolderFlags::Noselect << noselect; | 400 | *subscribedList << mailbox.name; |
401 | callback(Folder{mailbox.name, mailbox.separator, noselect}); | 401 | }).then(list(KIMAP2::ListJob::IncludeUnsubscribed, [=](const KIMAP2::MailBoxDescriptor &mailbox, const QList<QByteArray> &flags) { |
402 | }); | 402 | bool noselect = flags.contains(QByteArray(FolderFlags::Noselect).toLower()) || flags.contains(QByteArray(FolderFlags::Noselect)); |
403 | bool subscribed = subscribedList->contains(mailbox.name); | ||
404 | SinkLog() << "Found mailbox: " << mailbox.name << flags << FolderFlags::Noselect << noselect << " sub: " << subscribed; | ||
405 | callback(Folder{mailbox.name, mailbox.separator, noselect, subscribed, flags}); | ||
406 | })); | ||
403 | } | 407 | } |
404 | 408 | ||
405 | QString ImapServerProxy::mailboxFromFolder(const Folder &folder) const | 409 | QString ImapServerProxy::mailboxFromFolder(const Folder &folder) const |