From d4550b508b3eb10738cccc5ba1ea8d94bc80d11c Mon Sep 17 00:00:00 2001 From: Ed Page Date: Thu, 27 Jan 2011 21:52:49 -0600 Subject: [PATCH] Using raise to get things to come out clean and restoring caching of the window --- src/dialogs.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/dialogs.py b/src/dialogs.py index 4d0649d..e381dc3 100644 --- a/src/dialogs.py +++ b/src/dialogs.py @@ -600,10 +600,10 @@ class SMSEntryWindow(object): self._scrollTimer.setSingleShot(True) self._scrollTimer.timeout.connect(self._on_delayed_scroll_to_bottom) - self._window.show() self._smsEntry.setPlainText(self._session.draft.message) self._update_letter_count() self._update_target_fields() + self._window.show() @property def window(self): @@ -613,6 +613,17 @@ class SMSEntryWindow(object): if self._window is None: # Already closed return + window = self._window + try: + message = unicode(self._smsEntry.toPlainText()) + self._session.draft.message = message + window.hide() + except AttributeError: + _moduleLogger.exception("Oh well") + except RuntimeError: + _moduleLogger.exception("Oh well") + + def destroy(self): self._session.draft.recipientsChanged.disconnect(self._on_recipients_changed) self._session.draft.sendingMessage.disconnect(self._on_op_started) self._session.draft.calling.disconnect(self._on_op_started) @@ -625,9 +636,6 @@ class SMSEntryWindow(object): window = self._window self._window = None try: - message = unicode(self._smsEntry.toPlainText()) - self._session.draft.message = message - window.hide() window.close() window.destroy() except AttributeError: @@ -693,8 +701,9 @@ class SMSEntryWindow(object): self._scroll_to_bottom() self._window.setWindowTitle(title) - self._window.show() self._smsEntry.setFocus(QtCore.Qt.OtherFocusReason) + self._window.show() + self._window.raise_() else: self._targetList.setVisible(True) self._targetList.update() @@ -704,8 +713,9 @@ class SMSEntryWindow(object): self._scroll_to_bottom() self._window.setWindowTitle("Contacts") - self._window.show() self._smsEntry.setFocus(QtCore.Qt.OtherFocusReason) + self._window.show() + self._window.raise_() def _populate_number_selector(self, selector, cid, cidIndex, numbers): selector.clear() -- 1.7.9.5