correctly delete the QtDo process when finished

This commit is contained in:
Romain Bignon 2010-07-10 13:30:31 +02:00
commit 6edfcfd574
3 changed files with 10 additions and 4 deletions

View file

@ -82,6 +82,7 @@ class MessagesManager(QWidget):
def _gotMessage(self, backend, message): def _gotMessage(self, backend, message):
if message is None: if message is None:
self.ui.backendsList.setEnabled(True) self.ui.backendsList.setEnabled(True)
self.process = None
return 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.get_date().timetuple()),

View file

@ -67,14 +67,15 @@ class ContactThread(QWidget):
else: else:
command = 'iter_messages' command = 'iter_messages'
self.process = QtDo(self.weboob, self.gotMessage) self.process_msg = QtDo(self.weboob, self.gotMessage)
self.process.do_backends(self.contact.backend, command, thread=self.contact.id) self.process_msg.do_backends(self.contact.backend, command, thread=self.contact.id)
def gotMessage(self, backend, message): def gotMessage(self, backend, message):
if not message: if not message:
v = self.ui.scrollArea.verticalScrollBar() v = self.ui.scrollArea.verticalScrollBar()
print v.minimum(), v.value(), v.maximum(), v.sliderPosition() print v.minimum(), v.value(), v.maximum(), v.sliderPosition()
self.ui.scrollArea.verticalScrollBar().setValue(self.ui.scrollArea.verticalScrollBar().maximum()) self.ui.scrollArea.verticalScrollBar().setValue(self.ui.scrollArea.verticalScrollBar().maximum())
self.process_msg = None
return return
widget = ThreadMessage(message) widget = ThreadMessage(message)
@ -91,14 +92,15 @@ class ContactThread(QWidget):
text = unicode(self.ui.textEdit.toPlainText()) text = unicode(self.ui.textEdit.toPlainText())
self.ui.textEdit.setEnabled(False) self.ui.textEdit.setEnabled(False)
self.ui.sendButton.setEnabled(False) self.ui.sendButton.setEnabled(False)
self.process = QtDo(self.weboob, self.replyPosted, self.replyNotPosted) self.process_reply = QtDo(self.weboob, self.replyPosted, self.replyNotPosted)
self.process.do_backends(self.contact.backend, 'post_reply', self.contact.id, 0, '', text) self.process_reply.do_backends(self.contact.backend, 'post_reply', self.contact.id, 0, '', text)
def replyPosted(self, backend, ignored): def replyPosted(self, backend, ignored):
self.ui.textEdit.clear() self.ui.textEdit.clear()
self.ui.textEdit.setEnabled(True) self.ui.textEdit.setEnabled(True)
self.ui.sendButton.setEnabled(True) self.ui.sendButton.setEnabled(True)
self.refreshMessages() self.refreshMessages()
self.process_reply = None
def replyNotPosted(self, backend, error, backtrace): def replyNotPosted(self, backend, error, backtrace):
content = unicode(self.tr('Unable to send message:\n%s\n')) % error content = unicode(self.tr('Unable to send message:\n%s\n')) % error
@ -142,6 +144,8 @@ class MetaGroup(IGroup):
def cb(self, cb, backend, contact): def cb(self, cb, backend, contact):
if contact: if contact:
contact.backend = backend contact.backend = backend
else:
self.process = None
cb(contact) cb(contact)
class ContactsWidget(QWidget): class ContactsWidget(QWidget):

View file

@ -88,6 +88,7 @@ class MainWindow(QtMainWindow):
def addVideo(self, backend, video): def addVideo(self, backend, video):
if not backend: if not backend:
self.ui.searchEdit.setEnabled(True) self.ui.searchEdit.setEnabled(True)
self.process = None
return return
minivideo = MiniVideo(backend, video) minivideo = MiniVideo(backend, video)
self.ui.scrollAreaContent.layout().addWidget(minivideo) self.ui.scrollAreaContent.layout().addWidget(minivideo)