fix tabs, disable widgets during load/save, don't crash when there isn't any notes
This commit is contained in:
parent
b8adf34e52
commit
3cd28382e8
1 changed files with 34 additions and 23 deletions
|
|
@ -342,28 +342,33 @@ class ContactNotes(QWidget):
|
||||||
""" Widget for storing notes about a contact """
|
""" Widget for storing notes about a contact """
|
||||||
|
|
||||||
def __init__(self, weboob, contact, parent=None):
|
def __init__(self, weboob, contact, parent=None):
|
||||||
QWidget.__init__(self, parent)
|
QWidget.__init__(self, parent)
|
||||||
self.ui = Ui_Notes()
|
self.ui = Ui_Notes()
|
||||||
self.ui.setupUi(self)
|
self.ui.setupUi(self)
|
||||||
|
|
||||||
self.weboob = weboob
|
self.weboob = weboob
|
||||||
self.contact = contact
|
self.contact = contact
|
||||||
|
|
||||||
self.process = QtDo(self.weboob, self._getNotes_cb, self._getNotes_eb)
|
self.ui.textEdit.setEnabled(False)
|
||||||
self.process.do('get_notes', self.contact.id, backends=(self.contact.backend,))
|
self.ui.saveButton.setEnabled(False)
|
||||||
|
self.process = QtDo(self.weboob, self._getNotes_cb, self._getNotes_eb)
|
||||||
|
self.process.do('get_notes', self.contact.id, backends=(self.contact.backend,))
|
||||||
|
|
||||||
self.connect(self.ui.saveButton, SIGNAL('clicked()'), self.saveNotes)
|
self.connect(self.ui.saveButton, SIGNAL('clicked()'), self.saveNotes)
|
||||||
|
|
||||||
|
|
||||||
def _getNotes_cb(self, backend, data):
|
def _getNotes_cb(self, backend, data):
|
||||||
if not backend:
|
if not backend or not data:
|
||||||
self.process = None
|
self.process = None
|
||||||
|
self.ui.textEdit.setEnabled(True)
|
||||||
|
self.ui.saveButton.setEnabled(True)
|
||||||
return
|
return
|
||||||
|
|
||||||
self.ui.textEdit.setText(data)
|
self.ui.textEdit.setText(data)
|
||||||
|
|
||||||
|
|
||||||
def _getNotes_eb(self, backend, error, backtrace):
|
def _getNotes_eb(self, backend, error, backtrace):
|
||||||
|
self.ui.textEdit.setEnabled(True)
|
||||||
|
self.ui.saveButton.setEnabled(True)
|
||||||
content = unicode(self.tr('Unable to load notes:\n%s\n')) % to_unicode(error)
|
content = unicode(self.tr('Unable to load notes:\n%s\n')) % to_unicode(error)
|
||||||
if logging.root.level == logging.DEBUG:
|
if logging.root.level == logging.DEBUG:
|
||||||
content += '\n%s\n' % to_unicode(backtrace)
|
content += '\n%s\n' % to_unicode(backtrace)
|
||||||
|
|
@ -372,14 +377,20 @@ class ContactNotes(QWidget):
|
||||||
|
|
||||||
def saveNotes(self):
|
def saveNotes(self):
|
||||||
text = unicode(self.ui.textEdit.toPlainText())
|
text = unicode(self.ui.textEdit.toPlainText())
|
||||||
|
self.ui.saveButton.setEnabled(False)
|
||||||
|
self.ui.textEdit.setEnabled(False)
|
||||||
|
|
||||||
self.process = QtDo(self.weboob, self._saveNotes_cb, self._saveNotes_eb)
|
self.process = QtDo(self.weboob, self._saveNotes_cb, self._saveNotes_eb)
|
||||||
self.process.do('save_notes', self.contact.id, text, backends=(self.contact.backend,))
|
self.process.do('save_notes', self.contact.id, text, backends=(self.contact.backend,))
|
||||||
|
|
||||||
def _saveNotes_cb(self, backend, data):
|
def _saveNotes_cb(self, backend, data):
|
||||||
|
self.ui.saveButton.setEnabled(True)
|
||||||
|
self.ui.textEdit.setEnabled(True)
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def _saveNotes_eb(self, backend, error, backtrace):
|
def _saveNotes_eb(self, backend, error, backtrace):
|
||||||
|
self.ui.saveButton.setEnabled(True)
|
||||||
|
self.ui.textEdit.setEnabled(True)
|
||||||
content = unicode(self.tr('Unable to save notes:\n%s\n')) % to_unicode(error)
|
content = unicode(self.tr('Unable to save notes:\n%s\n')) % to_unicode(error)
|
||||||
if logging.root.level == logging.DEBUG:
|
if logging.root.level == logging.DEBUG:
|
||||||
content += '\n%s\n' % to_unicode(backtrace)
|
content += '\n%s\n' % to_unicode(backtrace)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue