summaryrefslogtreecommitdiffstats
path: root/examples/imapresource/imapserverproxy.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-01-11 14:46:04 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-01-11 15:59:24 +0100
commit489d5b72696d5c5f802ee206bdde0693ba172018 (patch)
tree057a02663a11ac9f031d7e91b1b12f85cd5c0216 /examples/imapresource/imapserverproxy.cpp
parent051a0be95cbe4fe5eb0c7431e13987a2aa56bcc0 (diff)
downloadsink-489d5b72696d5c5f802ee206bdde0693ba172018.tar.gz
sink-489d5b72696d5c5f802ee206bdde0693ba172018.zip
Set enabled state from subscription
Diffstat (limited to 'examples/imapresource/imapserverproxy.cpp')
-rw-r--r--examples/imapresource/imapserverproxy.cpp14
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,
395KAsync::Job<void> ImapServerProxy::fetchFolders(std::function<void(const Folder &)> callback) 395KAsync::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
405QString ImapServerProxy::mailboxFromFolder(const Folder &folder) const 409QString ImapServerProxy::mailboxFromFolder(const Folder &folder) const