summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKali Kaneko <kali@leap.se>2013-09-02 00:53:01 +0200
committerKali Kaneko <kali@leap.se>2013-09-02 00:53:01 +0200
commit39c0bc2671910f46ec565f57ce450438a51bb858 (patch)
tree876c46eff48980c9f1645931b394f1f96d7eeb4c
parentc80eaa6d594092d02f4739a7db85551ac229957c (diff)
Send UNREAD event to UI when flag changes.
Closes: #3662
-rw-r--r--changes/bug_3662_signal_unread_when_flag_changes1
-rw-r--r--src/leap/mail/imap/server.py10
2 files changed, 11 insertions, 0 deletions
diff --git a/changes/bug_3662_signal_unread_when_flag_changes b/changes/bug_3662_signal_unread_when_flag_changes
new file mode 100644
index 0000000..216c2a9
--- /dev/null
+++ b/changes/bug_3662_signal_unread_when_flag_changes
@@ -0,0 +1 @@
+ o Signal unread to UI when flag in message change. Closes: #3662
diff --git a/src/leap/mail/imap/server.py b/src/leap/mail/imap/server.py
index cfcb3d6..ae76833 100644
--- a/src/leap/mail/imap/server.py
+++ b/src/leap/mail/imap/server.py
@@ -35,6 +35,8 @@ from twisted.python import log
#import u1db
+from leap.common import events as leap_events
+from leap.common.events.events_pb2 import IMAP_UNREAD_MAIL
from leap.common.check import leap_assert, leap_assert_type
from leap.soledad.client import Soledad
@@ -1405,6 +1407,13 @@ class SoledadMailbox(WithMsgFields):
result.append((msg_id, msg))
return tuple(result)
+ def _signal_unread_to_ui(self):
+ """
+ Sends unread event to ui.
+ """
+ leap_events.signal(
+ IMAP_UNREAD_MAIL, str(self.getUnseenCount()))
+
def store(self, messages, flags, mode, uid):
"""
Sets the flags of one or more messages.
@@ -1455,6 +1464,7 @@ class SoledadMailbox(WithMsgFields):
self._update(msg.setFlags(flags))
result[msg_id] = msg.getFlags()
+ self._signal_unread_to_ui()
return result
def close(self):