本文整理汇总了Python中weboob.tools.application.qt5.QtDo类的典型用法代码示例。如果您正苦于以下问题:Python QtDo类的具体用法?Python QtDo怎么用?Python QtDo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QtDo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ContactNotes
class ContactNotes(QWidget):
""" Widget for storing notes about a contact """
def __init__(self, weboob, contact, parent=None):
super(ContactNotes, self).__init__(parent)
self.ui = Ui_Notes()
self.ui.setupUi(self)
self.weboob = weboob
self.contact = contact
self.ui.textEdit.setEnabled(False)
self.ui.saveButton.setEnabled(False)
def finished():
self.process = None
self.ui.textEdit.setEnabled(True)
self.ui.saveButton.setEnabled(True)
self.process = QtDo(self.weboob, self._getNotes_cb, self._getNotes_eb, finished)
self.process.do('get_notes', self.contact.id, backends=(self.contact.backend,))
self.ui.saveButton.clicked.connect(self.saveNotes)
def _getNotes_cb(self, data):
if data:
self.ui.textEdit.setText(data)
def _getNotes_eb(self, backend, error, backtrace):
if isinstance(error, NotImplementedError):
return
self.ui.textEdit.setEnabled(True)
self.ui.saveButton.setEnabled(True)
content = self.tr('Unable to load notes:\n%s\n') % to_unicode(error)
if logging.root.level <= logging.DEBUG:
content += '\n%s\n' % to_unicode(backtrace)
QMessageBox.critical(self, self.tr('Error while loading notes'),
content, QMessageBox.Ok)
@Slot()
def saveNotes(self):
text = self.ui.textEdit.toPlainText()
self.ui.saveButton.setEnabled(False)
self.ui.textEdit.setEnabled(False)
self.process = QtDo(self.weboob, None, self._saveNotes_eb, self._saveNotes_fb)
self.process.do('save_notes', self.contact.id, text, backends=(self.contact.backend,))
def _saveNotes_fb(self):
self.ui.saveButton.setEnabled(True)
self.ui.textEdit.setEnabled(True)
def _saveNotes_eb(self, backend, error, backtrace):
content = self.tr('Unable to save notes:\n%s\n') % to_unicode(error)
if logging.root.level <= logging.DEBUG:
content += '\n%s\n' % to_unicode(backtrace)
QMessageBox.critical(self, self.tr('Error while saving notes'),
content, QMessageBox.Ok)
示例2: saveNotes
def saveNotes(self):
text = self.ui.textEdit.toPlainText()
self.ui.saveButton.setEnabled(False)
self.ui.textEdit.setEnabled(False)
self.process = QtDo(self.weboob, None, self._saveNotes_eb, self._saveNotes_fb)
self.process.do('save_notes', self.contact.id, text, backends=(self.contact.backend,))
示例3: savePage
def savePage(self):
""" Saves the current page to the remote site """
if self.backend is None:
return
new_content = self.ui.contentEdit.toPlainText()
minor = self.ui.minorBox.isChecked()
if new_content != self.content.content:
self.ui.saveButton.setEnabled(False)
self.ui.saveButton.setText('Saving...')
self.ui.contentEdit.setReadOnly(True)
self.content.content = new_content
message = self.ui.descriptionEdit.text()
def finished():
self.process = None
self.ui.saveButton.setText('Saved')
self.ui.descriptionEdit.clear()
self.ui.contentEdit.setReadOnly(False)
self.process = QtDo(self.weboob,
None,
self._errorSavePage,
finished)
self.process.do('push_content',
self.content,
message,
minor=minor,
backends=self.backend)
示例4: doOpen
def doOpen(self):
qidxes = self.ui.bugList.selectionModel().selectedIndexes()
rows = set()
for qidx in qidxes:
if qidx.row() in rows:
continue
rows.add(qidx.row())
issue = qidx.data(ResultModel.RoleObject)
def onFillobj(issue):
dlg = DetailDialog(issue, parent=self)
dlg.show()
process = QtDo(self.weboob, onFillobj)
process.do('fillobj', issue, ['history'], backends=(issue.backend,))
示例5: refreshHousingsList
def refreshHousingsList(self):
name = self.ui.queriesList.itemText(self.ui.queriesList.currentIndex())
q = self.config.get('queries', name)
if q is None:
return q
self.ui.housingsList.clear()
self.ui.queriesList.setEnabled(False)
self.ui.bookmarksButton.setEnabled(False)
query = Query()
query.type = int(q.get('type', 0))
query.cities = []
for c in q['cities']:
city = City(c['id'])
city.backend = c['backend']
city.name = c['name']
query.cities.append(city)
query.area_min = int(q['area_min']) or None
query.area_max = int(q['area_max']) or None
query.cost_min = int(q['cost_min']) or None
query.cost_max = int(q['cost_max']) or None
query.nb_rooms = int(q['nb_rooms']) or None
self.process = QtDo(self.weboob, self.addHousing, fb=self.addHousingEnd)
self.process.do(self.app._do_complete, 20, (), 'search_housings', query)
示例6: _sendPressed
def _sendPressed(self):
if not self.ui.replyWidget.isVisible():
return
text = self.ui.replyEdit.toPlainText()
title = self.ui.titleEdit.text()
self.ui.backendsList.setEnabled(False)
self.ui.threadsList.setEnabled(False)
self.ui.messagesTree.setEnabled(False)
self.ui.replyButton.setEnabled(False)
self.ui.replyWidget.setEnabled(False)
self.ui.sendButton.setText(self.tr('Sending...'))
flags = 0
if self.ui.htmlBox.currentIndex() == 0:
flags = Message.IS_HTML
m = Message(thread=self.thread,
id=0,
title=title,
sender=None,
receivers=None,
content=text,
parent=self.message,
flags=flags)
self.process_reply = QtDo(self.weboob, None, self._postReply_eb, self._postReply_fb)
self.process_reply.do('post_message', m, backends=self.thread.backend)
示例7: loadHistory
def loadHistory(self):
""" Loads the page's log into the 'History' tab """
if self.backend is None:
return
self.ui.loadHistoryButton.setEnabled(False)
self.ui.loadHistoryButton.setText("Loading...")
self.ui.historyTable.clear()
self.ui.historyTable.setRowCount(0)
self.ui.historyTable.setHorizontalHeaderLabels(["Revision",
"Time",
"Author",
"Summary"])
self.ui.historyTable.setColumnWidth(3, 1000)
def finished():
self.process = None
self.ui.loadHistoryButton.setEnabled(True)
self.ui.loadHistoryButton.setText("Reload")
self.process = QtDo(self.weboob,
self._gotRevision,
self._errorHistory,
finished)
self.process.do(self.app._do_complete,
self.ui.nbRevBox.value(),
(),
'iter_revisions',
self.content.id,
backends=(self.backend,))
示例8: searchCity
def searchCity(self):
pattern = self.ui.cityEdit.text()
self.ui.resultsList.clear()
self.ui.cityEdit.clear()
self.ui.cityEdit.setEnabled(False)
self.search_process = QtDo(self.weboob, self.addResult, fb=self.addResultEnd)
self.search_process.do('search_city', pattern)
示例9: doSearch
def doSearch(self):
QApplication.setOverrideCursor(Qt.WaitCursor)
pattern = self.ui.searchEdit.text()
self.ui.searchEdit.completer().addString(pattern)
self.ui.jobList.clear()
self.process = QtDo(self.weboob, self.addJobSearch, fb=self.searchFinished)
self.process.do('search_job', pattern)
示例10: iter_contacts
def iter_contacts(self, cb):
if self.id == 'online':
status = Contact.STATUS_ONLINE|Contact.STATUS_AWAY
elif self.id == 'offline':
status = Contact.STATUS_OFFLINE
else:
status = Contact.STATUS_ALL
self.process = QtDo(self.weboob, lambda d: self.cb(cb, d), fb=lambda: self.fb(cb))
self.process.do('iter_contacts', status, caps=CapContact)
示例11: retrieveContact
def retrieveContact(self, url):
backend_name = self.ui.backendsList.currentText()
self.ui.urlButton.setEnabled(False)
def finished():
self.url_process = None
self.ui.urlButton.setEnabled(True)
self.url_process = QtDo(self.weboob, self.retrieveContact_cb, self.retrieveContact_eb, finished)
self.url_process.do('get_contact', url, backends=backend_name)
示例12: MiniVideo
class MiniVideo(QFrame):
def __init__(self, weboob, backend, video, parent=None):
super(MiniVideo, self).__init__(parent)
self.ui = Ui_MiniVideo()
self.ui.setupUi(self)
self.weboob = weboob
self.backend = backend
self.video = video
self.ui.titleLabel.setText(video.title)
self.ui.backendLabel.setText(backend.name)
self.ui.durationLabel.setText(unicode(video.duration))
self.ui.authorLabel.setText(unicode(video.author))
self.ui.dateLabel.setText(video.date and unicode(video.date) or '')
if video.rating_max:
self.ui.ratingLabel.setText('%s / %s' % (video.rating, video.rating_max))
else:
self.ui.ratingLabel.setText('%s' % video.rating)
self.process_thumbnail = QtDo(self.weboob, self.gotThumbnail)
self.process_thumbnail.do('fillobj', self.video, ['thumbnail'], backends=backend)
def gotThumbnail(self, video):
if video.thumbnail and video.thumbnail.data:
img = QImage.fromData(video.thumbnail.data)
self.ui.imageLabel.setPixmap(QPixmap.fromImage(img))
def enterEvent(self, event):
self.setFrameShadow(self.Sunken)
QFrame.enterEvent(self, event)
def leaveEvent(self, event):
self.setFrameShadow(self.Raised)
QFrame.leaveEvent(self, event)
def mousePressEvent(self, event):
QFrame.mousePressEvent(self, event)
video = self.backend.fillobj(self.video)
if video:
video_widget = Video(video, self)
video_widget.show()
示例13: refreshThreadMessages
def refreshThreadMessages(self, backend, id):
self.ui.messagesTree.clear()
self.ui.messageBody.clear()
self.ui.backendsList.setEnabled(False)
self.ui.threadsList.setEnabled(False)
self.ui.replyButton.setEnabled(False)
self.ui.profileButton.hide()
self.hideReply()
self.process = QtDo(self.weboob, self._gotThreadMessages, fb=self._gotThreadMessagesEnd)
self.process.do('get_thread', id, backends=backend)
示例14: MetaGroup
class MetaGroup(IGroup):
def iter_contacts(self, cb):
if self.id == 'online':
status = Contact.STATUS_ONLINE|Contact.STATUS_AWAY
elif self.id == 'offline':
status = Contact.STATUS_OFFLINE
else:
status = Contact.STATUS_ALL
self.process = QtDo(self.weboob, lambda d: self.cb(cb, d), fb=lambda: self.fb(cb))
self.process.do('iter_contacts', status, caps=CapContact)
def cb(self, cb, contact):
if contact:
cb(contact)
def fb(self, fb):
self.process = None
if fb:
fb(None)
示例15: refreshThreads
def refreshThreads(self):
self.ui.messagesTree.clear()
self.ui.threadsList.clear()
self.hideReply()
self.ui.profileButton.hide()
self.ui.replyButton.setEnabled(False)
self.ui.backendsList.setEnabled(False)
self.ui.threadsList.setEnabled(False)
self.process_threads = QtDo(self.weboob, self._gotThread, fb=self._gotThreadsEnd)
self.process_threads.do('iter_threads', backends=self.backend, caps=CapMessages)