Fixing of several diablo bugs
authorepage <eopage@byu.net>
Thu, 24 Sep 2009 12:42:49 +0000 (12:42 +0000)
committerepage <eopage@byu.net>
Thu, 24 Sep 2009 12:42:49 +0000 (12:42 +0000)
git-svn-id: file:///svnroot/gc-dialer/trunk@474 c39d3808-3fe2-4d86-a59f-b7f623ee9f21

src/gv_views.py
src/hildonize.py

index 41c56ba..5521bd5 100644 (file)
@@ -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)
 
index 40ea501..8706b1d 100644 (file)
@@ -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)