From 0d0d65bdb76cc413d79c58c632786ac989286bcf Mon Sep 17 00:00:00 2001 From: Ed Page Date: Thu, 24 Feb 2011 22:12:55 -0600 Subject: [PATCH] Switching from sound to an alert --- src/dialcentral_qt.py | 11 ++--------- src/session.py | 29 +++++++++++++++++++++-------- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/src/dialcentral_qt.py b/src/dialcentral_qt.py index f68280e..152d0f5 100755 --- a/src/dialcentral_qt.py +++ b/src/dialcentral_qt.py @@ -369,11 +369,7 @@ class MainWindow(qwrappers.WindowWrapper): self._voicemailRefreshDelay.setSingleShot(True) self._callHandler = call_handler.MissedCallWatcher() self._callHandler.callMissed.connect(self._voicemailRefreshDelay.start) - self._alertSoundPath = self._app.get_resource("bell.wav") - if QtGui.QSound.isAvailable(): - self._session.newMessages.connect(self._on_new_message_alert) - else: - _moduleLogger.info("No sound support available") + self._session.newMessages.connect(self._on_new_message_alert) self._defaultCredentials = "", "" self._curentCredentials = "", "" self._currentTab = 0 @@ -611,10 +607,7 @@ class MainWindow(qwrappers.WindowWrapper): @misc_utils.log_exception(_moduleLogger) def _on_new_message_alert(self): with qui_utils.notify_error(self._errorLog): - if self._alertSoundPath is not None: - QtGui.QSound.play(self._alertSoundPath) - else: - _moduleLogger.info("Alert but alas I am missing my voice") + self._errorLog.push_message("New messages available") @QtCore.pyqtSlot(str) @misc_utils.log_exception(_moduleLogger) diff --git a/src/session.py b/src/session.py index e1962f5..c325d92 100644 --- a/src/session.py +++ b/src/session.py @@ -678,12 +678,25 @@ class Session(QtCore.QObject): def _clean_messages(self, messages): for message in messages: - cleaned = dict(message) - del cleaned["relTime"] - del cleaned["time"] - del cleaned["isArchived"] - del cleaned["isRead"] - del cleaned["isSpam"] - del cleaned["isTrash"] - cleaned["messageParts"] = [tuple(part[0:-1]) for part in cleaned["messageParts"] if part[0] != "Me:"] + cleaned = dict( + kv + for kv in message.iteritems() + if kv[0] not in + [ + "relTime", + "time", + "isArchived", + "isRead", + "isSpam", + "isTrash", + ] + ) + + # Don't let outbound messages cause alerts, especially if the package has only outbound + cleaned["messageParts"] = [ + tuple(part[0:-1]) for part in cleaned["messageParts"] if part[0] != "Me:" + ] + if not cleaned["messageParts"]: + continue + yield cleaned -- 1.7.9.5