port QHaveSex and QBoobMsg to new ICapMessage.Message API

This commit is contained in:
Romain Bignon 2010-08-13 16:24:59 +02:00
commit 843db82d8a
3 changed files with 15 additions and 11 deletions

View file

@ -82,7 +82,7 @@ class MessagesManager(QWidget):
self.process = None
return
item = QTreeWidgetItem(None, [time.strftime('%Y-%m-%d %H:%M:%S', message.get_date().timetuple()),
item = QTreeWidgetItem(None, [time.strftime('%Y-%m-%d %H:%M:%S', message.date.timetuple()),
message.sender, message.title])
item.setData(0, Qt.UserRole, message)
@ -99,7 +99,7 @@ class MessagesManager(QWidget):
for i in xrange(root.childCount()):
sub = root.child(i)
sub_message = sub.data(0, Qt.UserRole).toPyObject()
if sub_message.thread_id == message.thread_id and sub_message.reply_id == message.id:
if sub_message.thread_id == message.thread_id and sub_message.parent_message_id == message.message_id:
# do not remove it now because childCount() would change.
to_remove.append(sub)
@ -111,7 +111,7 @@ class MessagesManager(QWidget):
top_message = top.data(0, Qt.UserRole).toPyObject()
item_message = item.data(0, Qt.UserRole).toPyObject()
if top_message and top_message.thread_id == item_message.thread_id and top_message.id == item_message.reply_id:
if top_message and top_message.thread_id == item_message.thread_id and top_message.id == item_message.parent_message_id:
# it's my parent
top.addChild(item)
return True

View file

@ -42,11 +42,11 @@ class ThreadMessage(QFrame):
self.ui = Ui_ThreadMessage()
self.ui.setupUi(self)
self.date = message.get_date()
self.date = message.date
self.ui.nameLabel.setText(message.sender)
self.ui.headerLabel.setText(time.strftime('%Y-%m-%d %H:%M:%S', message.get_date().timetuple()))
if message.is_html:
self.ui.headerLabel.setText(time.strftime('%Y-%m-%d %H:%M:%S', message.date.timetuple()))
if message.flags & message.IS_HTML:
content = message.content
else:
content = message.content.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;').replace('\n', '<br />')
@ -128,7 +128,7 @@ class ContactProfile(QWidget):
self.weboob = weboob
self.contact = contact
if self.gotProfile(contact.backend, contact):
if self.gotProfile(self.weboob.get_backend(contact.backend), contact):
self.process_contact = QtDo(self.weboob, self.gotProfile)
self.process_contact.do('fillobj', self.contact, ['photos', 'profile'], backends=self.contact.backend)
@ -218,7 +218,6 @@ class MetaGroup(IGroup):
def cb(self, cb, backend, contact):
if contact:
contact.backend = backend
cb(contact)
elif not backend:
self.process = None
@ -290,7 +289,7 @@ class ContactsWidget(QWidget):
status += u'%s' % contact.status_msg
item = QListWidgetItem()
item.setText('<h2>%s</h2><font color="#%06X">%s</font><br /><i>%s</i>' % (contact.name, status_color, status, contact.backend.name))
item.setText('<h2>%s</h2><font color="#%06X">%s</font><br /><i>%s</i>' % (contact.name, status_color, status, contact.backend))
item.setData(Qt.UserRole, contact)
process = QtDo(self.weboob, lambda b, c: self.setPhoto(c, item))
@ -315,10 +314,12 @@ class ContactsWidget(QWidget):
if not self.contact:
return
backend = self.weboob.get_backend(self.contact.backend)
self.ui.tabWidget.addTab(ContactProfile(self.weboob, self.contact), self.tr('Profile'))
if self.contact.backend.has_caps(ICapMessages):
if backend.has_caps(ICapMessages):
self.ui.tabWidget.addTab(ContactThread(self.weboob, self.contact), self.tr('Messages'))
if self.contact.backend.has_caps(ICapChat):
if backend.has_caps(ICapChat):
self.ui.tabWidget.addTab(QWidget(), self.tr('Chat'))
self.ui.tabWidget.addTab(QWidget(), self.tr('Calendar'))
self.ui.tabWidget.addTab(QWidget(), self.tr('Notes'))

View file

@ -114,6 +114,9 @@ class Weboob(object):
with backend:
backend.deinit()
def get_backend(self, name):
return self.backend_instances[name]
def iter_backends(self, caps=None):
"""
Iter on each backends.