X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fgv_views.py;h=03dea178e170b059f1a2485a86eec5b43b5fe811;hb=61a6356ed9c2f7b1e8e59a2fa2f8fa7c770eabaf;hp=0ec77c529d115bf0ebe33da6522e8a8b79c8efa8;hpb=1a0a1d09e2259498973a59a5165e23ce85f6f489;p=gc-dialer diff --git a/src/gv_views.py b/src/gv_views.py index 0ec77c5..03dea17 100644 --- a/src/gv_views.py +++ b/src/gv_views.py @@ -17,6 +17,12 @@ Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +@todo Add CTRL-V support to Dialpad +@todo Touch selector for addressbook selection +@todo Touch selector for callback number +@todo Look into top half of dialogs being a treeview rather than a label +@todo Alternate UI for dialogs (stackables) """ from __future__ import with_statement @@ -472,18 +478,18 @@ class Dialpad(object): self._smsDialog = SmsEntryDialog(widgetTree) self._numberdisplay = widgetTree.get_widget("numberdisplay") + self._smsButton = widgetTree.get_widget("sms") self._dialButton = widgetTree.get_widget("dial") self._backButton = widgetTree.get_widget("back") self._phonenumber = "" self._prettynumber = "" callbackMapping = { - "on_dial_clicked": self._on_dial_clicked, - "on_sms_clicked": self._on_sms_clicked, "on_digit_clicked": self._on_digit_clicked, - "on_clear_number": self._on_clear_number, } widgetTree.signal_autoconnect(callbackMapping) + self._dialButton.connect("clicked", self._on_dial_clicked) + self._smsButton.connect("clicked", self._on_sms_clicked) self._originalLabel = self._backButton.get_label() self._backTapHandler = gtk_toolbox.TapOrHold(self._backButton) @@ -563,12 +569,6 @@ class Dialpad(object): except Exception, e: self._errorDisplay.push_exception() - def _on_clear_number(self, *args): - try: - self.clear() - except Exception, e: - self._errorDisplay.push_exception() - def _on_digit_clicked(self, widget): try: self.set_number(self._phonenumber + widget.get_name()[-1]) @@ -651,7 +651,7 @@ class AccountInfo(object): self._smsCheckbox.set_active(self._notifyOnSms) self._onNotifyToggled = self._notifyCheckbox.connect("toggled", self._on_notify_toggled) - self._onMinutesChanged = self._minutesEntryButton.connect("clicked", self._on_minutes_changed) + self._onMinutesChanged = self._minutesEntryButton.connect("clicked", self._on_minutes_clicked) self._onMissedToggled = self._missedCheckbox.connect("toggled", self._on_missed_toggled) self._onVoicemailToggled = self._voicemailCheckbox.connect("toggled", self._on_voicemail_toggled) self._onSmsToggled = self._smsCheckbox.connect("toggled", self._on_sms_toggled) @@ -754,7 +754,7 @@ class AccountInfo(object): def _set_callback_number(self, number): try: - if not self._backend.is_valid_syntax(number): + if not self._backend.is_valid_syntax(number) and 0 < len(number): self._errorDisplay.push_message("%s is not a valid callback number" % number) elif number == self._backend.get_callback_number(): logging.warning( @@ -802,11 +802,33 @@ class AccountInfo(object): except Exception, e: self._errorDisplay.push_exception() - def _on_minutes_changed(self, *args): + def _on_minutes_clicked(self, *args): + recurrenceChoices = [ + (1, "1 minute"), + (3, "3 minutes"), + (5, "5 minutes"), + (10, "10 minutes"), + (15, "15 minutes"), + (30, "30 minutes"), + (45, "45 minutes"), + (60, "1 hour"), + (12*60, "12 hours"), + ] try: - recurrence = hildonize.request_number( - self._window, "Minutes", (1, 50), self._alarmHandler.recurrence + actualSelection = self._alarmHandler.recurrence + + closestSelectionIndex = 0 + for i, possible in enumerate(recurrenceChoices): + if possible[0] <= actualSelection: + closestSelectionIndex = i + recurrenceIndex = hildonize.touch_selector( + self._window, + "Minutes", + (("%s" % m[1]) for m in recurrenceChoices), + closestSelectionIndex, ) + recurrence = recurrenceChoices[recurrenceIndex][0] + self._update_alarm_settings(recurrence) except Exception, e: self._errorDisplay.push_exception() @@ -886,7 +908,6 @@ class RecentCallsView(object): textrenderer = gtk.CellRendererText() textrenderer.set_property("yalign", 0) - hildonize.set_cell_thumb_selectable(textrenderer) self._numberColumn = gtk.TreeViewColumn("Number") self._numberColumn.pack_start(textrenderer, expand=True) self._numberColumn.add_attribute(textrenderer, "text", self.NUMBER_IDX)