From b2a30791762b8b200c88d640b2a24f77f6d81742 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Tue, 23 Feb 2010 18:47:46 -0600 Subject: [PATCH] Adding back in separate call and sms buttons --- src/dc_glade.py | 1 + src/dialcentral.glade | 113 +++++++++++++++++++++++++++++++++---------------- src/gv_views.py | 30 ++++++++++--- src/null_views.py | 11 +++-- 4 files changed, 110 insertions(+), 45 deletions(-) diff --git a/src/dc_glade.py b/src/dc_glade.py index 2879788..40b5508 100755 --- a/src/dc_glade.py +++ b/src/dc_glade.py @@ -325,6 +325,7 @@ class Dialcentral(object): self._smsEntryWindow.send_sms = self._on_sms_clicked self._smsEntryWindow.dial = self._on_dial_clicked self._dialpads[self.GV_BACKEND].add_contact = self._add_contact + self._dialpads[self.GV_BACKEND].dial = self._on_dial_clicked self._historyViews[self.GV_BACKEND].add_contact = self._add_contact self._messagesViews[self.GV_BACKEND].add_contact = self._add_contact self._contactsViews[self.GV_BACKEND].add_contact = self._add_contact diff --git a/src/dialcentral.glade b/src/dialcentral.glade index abe73f6..452aabf 100644 --- a/src/dialcentral.glade +++ b/src/dialcentral.glade @@ -111,6 +111,27 @@ True + + True + True + True + False + + + + True + <span size="9000" weight="bold">+</span> + True + center + + + + + False + 0 + + + 50 True @@ -119,7 +140,7 @@ center - 0 + 1 @@ -134,7 +155,7 @@ False - 1 + 2 @@ -175,10 +196,10 @@ False False - - - + + + True @@ -201,10 +222,10 @@ False False - - - + + + True @@ -227,10 +248,10 @@ False False - - - + + + True @@ -253,10 +274,10 @@ False False - - - + + + True @@ -281,10 +302,10 @@ False False - - - + + + True @@ -309,11 +330,11 @@ False False - - - - + + + + True @@ -336,10 +357,10 @@ False False - - - + + + True @@ -364,11 +385,11 @@ False False - - - - + + + + True @@ -411,7 +432,7 @@ - + True False False @@ -434,7 +455,7 @@ True 0 5 - <span size="17000" weight="bold">Ok</span> + <span size="17000" weight="bold">Call</span> True @@ -452,18 +473,36 @@ - + True True True - False - + - + True - <span size="33000" weight="bold">+</span> - True - center + + + True + 1 + gtk-select-font + + + 0 + + + + + True + 0 + 5 + <span size="17000" weight="bold">SMS</span> + True + + + 1 + + diff --git a/src/gv_views.py b/src/gv_views.py index d8833b8..547c431 100644 --- a/src/gv_views.py +++ b/src/gv_views.py @@ -587,7 +587,8 @@ class Dialpad(object): self._errorDisplay = errorDisplay self._numberdisplay = widgetTree.get_widget("numberdisplay") - self._okButton = widgetTree.get_widget("dialpadOk") + self._callButton = widgetTree.get_widget("dialpadCall") + self._sendSMSButton = widgetTree.get_widget("dialpadSMS") self._backButton = widgetTree.get_widget("back") self._plusButton = widgetTree.get_widget("plus") self._phonenumber = "" @@ -597,7 +598,8 @@ class Dialpad(object): "on_digit_clicked": self._on_digit_clicked, } widgetTree.signal_autoconnect(callbackMapping) - self._okButton.connect("clicked", self._on_ok_clicked) + self._sendSMSButton.connect("clicked", self._on_sms_clicked) + self._callButton.connect("clicked", self._on_call_clicked) self._plusButton.connect("clicked", self._on_plus) self._originalLabel = self._backButton.get_label() @@ -611,7 +613,7 @@ class Dialpad(object): self._keyPressEventId = 0 def enable(self): - self._okButton.grab_focus() + self._sendSMSButton.grab_focus() self._backTapHandler.enable() self._keyPressEventId = self._window.connect("key-press-event", self._on_key_press) @@ -623,7 +625,13 @@ class Dialpad(object): def add_contact(self, *args, **kwds): """ - @note Actual dial function is patched in later + @note Actual function is patched in later + """ + raise NotImplementedError("Horrible unknown error has occurred") + + def dial(self, number): + """ + @note Actual function is patched in later """ raise NotImplementedError("Horrible unknown error has occurred") @@ -638,6 +646,10 @@ class Dialpad(object): self._phonenumber = make_ugly(number) self._prettynumber = make_pretty(self._phonenumber) self._numberdisplay.set_label("%s" % (self._prettynumber)) + if self._phonenumber: + self._plusButton.set_sensitive(False) + else: + self._plusButton.set_sensitive(True) except TypeError, e: self._errorDisplay.push_exception() @@ -666,7 +678,15 @@ class Dialpad(object): except Exception, e: self._errorDisplay.push_exception() - def _on_ok_clicked(self, widget): + def _on_call_clicked(self, widget): + try: + phoneNumber = self.get_number() + self.dial(phoneNumber) + self.set_number("") + except Exception, e: + self._errorDisplay.push_exception() + + def _on_sms_clicked(self, widget): try: phoneNumber = self.get_number() self.add_contact( diff --git a/src/null_views.py b/src/null_views.py index 0ca5691..777aba6 100644 --- a/src/null_views.py +++ b/src/null_views.py @@ -26,14 +26,19 @@ import gtk class Dialpad(object): def __init__(self, widgetTree): + self._buttons = [ + widgetTree.get_widget(buttonName) + for buttonName in ("dialpadCall", "dialpadSMS") + ] self._numberdisplay = widgetTree.get_widget("numberdisplay") - self._dialButton = widgetTree.get_widget("dialpadOk") def enable(self): - self._dialButton.set_sensitive(False) + for button in self._buttons: + button.set_sensitive(False) def disable(self): - self._dialButton.set_sensitive(True) + for button in self._buttons: + button.set_sensitive(True) @staticmethod def name(): -- 1.7.9.5