From c1345950738da534a68a07cc02fb1d2a33bd0e82 Mon Sep 17 00:00:00 2001 From: epage Date: Thu, 24 Sep 2009 12:42:49 +0000 Subject: [PATCH] Fixing of several diablo bugs git-svn-id: file:///svnroot/gc-dialer/trunk@474 c39d3808-3fe2-4d86-a59f-b7f623ee9f21 --- src/gv_views.py | 26 ++++++++++++++++---------- src/hildonize.py | 52 +++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 57 insertions(+), 21 deletions(-) diff --git a/src/gv_views.py b/src/gv_views.py index 41c56ba..5521bd5 100644 --- a/src/gv_views.py +++ b/src/gv_views.py @@ -20,10 +20,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA @todo Touch selector for callback number @todo Alternate UI for dialogs (stackables) -@bug Contacts don't populate -@bug large scrollbars aren't working -@bug exception when killing banner on contacts -@bug No showing of any banners +@todo Switch to a selector with entry for notification time +@bug Messages can't refresh """ from __future__ import with_statement @@ -864,13 +862,17 @@ class AccountInfo(object): def _on_minutes_clicked(self, *args): recurrenceChoices = [ (1, "1 minute"), + (2, "2 minutes"), (3, "3 minutes"), (5, "5 minutes"), + (8, "8 minutes"), (10, "10 minutes"), (15, "15 minutes"), (30, "30 minutes"), (45, "45 minutes"), (60, "1 hour"), + (3*60, "3 hours"), + (6*60, "6 hours"), (12*60, "12 hours"), ] try: @@ -889,6 +891,8 @@ class AccountInfo(object): recurrence = recurrenceChoices[recurrenceIndex][0] self._update_alarm_settings(recurrence) + except RuntimeError, e: + logging.exception("%s" % str(e)) except Exception, e: self._errorDisplay.push_exception() @@ -959,18 +963,20 @@ class RecentCallsView(object): textrenderer = gtk.CellRendererText() textrenderer.set_property("yalign", 0) + textrenderer.set_property("ellipsize", pango.ELLIPSIZE_END) + textrenderer.set_property("width-chars", len("1 (555) 555-1234")) + self._numberColumn = gtk.TreeViewColumn("Number") + self._numberColumn.pack_start(textrenderer, expand=True) + self._numberColumn.add_attribute(textrenderer, "text", self.NUMBER_IDX) + + textrenderer = gtk.CellRendererText() + textrenderer.set_property("yalign", 0) hildonize.set_cell_thumb_selectable(textrenderer) self._nameColumn = gtk.TreeViewColumn("From") self._nameColumn.pack_start(textrenderer, expand=True) self._nameColumn.add_attribute(textrenderer, "text", self.FROM_IDX) self._nameColumn.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED) - textrenderer = gtk.CellRendererText() - textrenderer.set_property("yalign", 0) - self._numberColumn = gtk.TreeViewColumn("Number") - self._numberColumn.pack_start(textrenderer, expand=True) - self._numberColumn.add_attribute(textrenderer, "text", self.NUMBER_IDX) - self._window = gtk_toolbox.find_parent_window(self._recentview) self._phoneTypeSelector = PhoneTypeSelector(widgetTree, self._backend) diff --git a/src/hildonize.py b/src/hildonize.py index 40ea501..8706b1d 100644 --- a/src/hildonize.py +++ b/src/hildonize.py @@ -111,9 +111,11 @@ def _null_hildonize_menu(window, gtkMenu, ignoredButtons): try: hildon.AppMenu GTK_MENU_USED = False + IS_FREMANTLE_SUPPORTED = True hildonize_menu = _fremantle_hildonize_menu except AttributeError: GTK_MENU_USED = True + IS_FREMANTLE_SUPPORTED = False if IS_HILDON_SUPPORTED: hildonize_menu = _hildon_hildonize_menu else: @@ -134,19 +136,26 @@ else: set_cell_thumb_selectable = _null_set_cell_thumb_selectable -def _hildon_show_information_banner(parent, message): +def _fremantle_show_information_banner(parent, message): hildon.hildon_banner_show_information(parent, "", message) +def _hildon_show_information_banner(parent, message): + hildon.hildon_banner_show_information(parent, None, message) + + def _null_show_information_banner(parent, message): pass -try: - hildon.hildon_banner_show_information - show_information_banner = _hildon_show_information_banner -except AttributeError: - show_information_banner = _null_show_information_banner +if IS_FREMANTLE_SUPPORTED: + show_information_banner = _fremantle_show_information_banner +else: + try: + hildon.hildon_banner_show_information + show_information_banner = _hildon_show_information_banner + except AttributeError: + show_information_banner = _null_show_information_banner def _fremantle_show_busy_banner_start(parent, message): @@ -154,12 +163,12 @@ def _fremantle_show_busy_banner_start(parent, message): return parent -def _fremantle_show_busy_banner_end(parent): - hildon.hildon_gtk_window_set_progress_indicator(parent, False) +def _fremantle_show_busy_banner_end(banner): + hildon.hildon_gtk_window_set_progress_indicator(banner, False) def _hildon_show_busy_banner_start(parent, message): - return hildon.hildon_banner_show_animation(parent, "", message) + return hildon.hildon_banner_show_animation(parent, None, message) def _hildon_show_busy_banner_end(banner): @@ -171,7 +180,7 @@ def _null_show_busy_banner_start(parent, message): def _null_show_busy_banner_end(banner): - return None + assert banner is None try: @@ -487,7 +496,28 @@ except AttributeError: if __name__ == "__main__": app = get_app_class()() + + label = gtk.Label("Hello World from a Label!") + win = gtk.Window() + win.add(label) win = hildonize_window(app, win) - if True: + if False: print touch_selector(win, "Test", ["A", "B", "C", "D"], 2) + if True: + import pprint + name, value = "", "" + goodLocals = [ + (name, value) for (name, value) in locals().iteritems() + if not name.startswith("_") + ] + pprint.pprint(goodLocals) + if False: + import time + show_information_banner(win, "Hello World") + time.sleep(5) + if True: + import time + banner = show_busy_banner_start(win, "Hello World") + time.sleep(5) + show_busy_banner_end(banner) -- 1.7.9.5