set message as read when viewing one, and display unread messages in yellow in list
This commit is contained in:
parent
8199dd0581
commit
e64d4fc288
1 changed files with 14 additions and 3 deletions
|
|
@ -18,7 +18,7 @@
|
||||||
import time
|
import time
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from PyQt4.QtGui import QWidget, QTreeWidgetItem, QListWidgetItem, QMessageBox
|
from PyQt4.QtGui import QWidget, QTreeWidgetItem, QListWidgetItem, QMessageBox, QBrush
|
||||||
from PyQt4.QtCore import SIGNAL, Qt
|
from PyQt4.QtCore import SIGNAL, Qt
|
||||||
|
|
||||||
from weboob.capabilities.messages import ICapMessages, ICapMessagesPost, Message
|
from weboob.capabilities.messages import ICapMessages, ICapMessagesPost, Message
|
||||||
|
|
@ -130,6 +130,10 @@ class MessagesManager(QWidget):
|
||||||
item = QTreeWidgetItem(None, [message.title or '', message.sender or 'Unknown',
|
item = QTreeWidgetItem(None, [message.title or '', message.sender or 'Unknown',
|
||||||
time.strftime('%Y-%m-%d %H:%M:%S', message.date.timetuple())])
|
time.strftime('%Y-%m-%d %H:%M:%S', message.date.timetuple())])
|
||||||
item.setData(0, Qt.UserRole, message)
|
item.setData(0, Qt.UserRole, message)
|
||||||
|
if message.flags & message.IS_UNREAD:
|
||||||
|
item.setForeground(0, QBrush(Qt.darkYellow))
|
||||||
|
item.setForeground(1, QBrush(Qt.darkYellow))
|
||||||
|
item.setForeground(2, QBrush(Qt.darkYellow))
|
||||||
|
|
||||||
top.addChild(item)
|
top.addChild(item)
|
||||||
|
|
||||||
|
|
@ -139,9 +143,9 @@ class MessagesManager(QWidget):
|
||||||
def _messageSelected(self, item, column):
|
def _messageSelected(self, item, column):
|
||||||
message = item.data(0, Qt.UserRole).toPyObject()
|
message = item.data(0, Qt.UserRole).toPyObject()
|
||||||
|
|
||||||
self.showMessage(message)
|
self.showMessage(message, item)
|
||||||
|
|
||||||
def showMessage(self, message):
|
def showMessage(self, message, item=None):
|
||||||
backend = self.weboob.get_backend(message.thread.backend)
|
backend = self.weboob.get_backend(message.thread.backend)
|
||||||
if backend.has_caps(ICapMessagesPost):
|
if backend.has_caps(ICapMessagesPost):
|
||||||
self.ui.replyButton.setEnabled(True)
|
self.ui.replyButton.setEnabled(True)
|
||||||
|
|
@ -172,6 +176,13 @@ class MessagesManager(QWidget):
|
||||||
"<p>%s</p>"
|
"<p>%s</p>"
|
||||||
% (message.title, str(message.date), message.sender, extra, content))
|
% (message.title, str(message.date), message.sender, extra, content))
|
||||||
|
|
||||||
|
if item and message.flags & message.IS_UNREAD:
|
||||||
|
backend.set_message_read(message)
|
||||||
|
message.flags &= ~message.IS_UNREAD
|
||||||
|
item.setForeground(0, QBrush())
|
||||||
|
item.setForeground(1, QBrush())
|
||||||
|
item.setForeground(2, QBrush())
|
||||||
|
|
||||||
def displayReply(self):
|
def displayReply(self):
|
||||||
self.ui.replyButton.setText(self.tr('Cancel'))
|
self.ui.replyButton.setText(self.tr('Cancel'))
|
||||||
self.ui.replyWidget.show()
|
self.ui.replyWidget.show()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue