Fixing a bug with launching from a fresh system
[quicknote] / src / simple_list.py
index 7e1e511..34849da 100644 (file)
@@ -9,11 +9,13 @@ it under the terms of the GNU General Public License version 2 as
 published by the Free Software Foundation.\r
 """\r
 \r
 published by the Free Software Foundation.\r
 """\r
 \r
+import logging\r
 \r
 import pango\r
 import gtk\r
 \r
 import hildonize\r
 \r
 import pango\r
 import gtk\r
 \r
 import hildonize\r
+import gtk_toolbox\r
 \r
 \r
 try:\r
 \r
 \r
 try:\r
@@ -22,12 +24,13 @@ except NameError:
        _ = lambda x: x\r
 \r
 \r
        _ = lambda x: x\r
 \r
 \r
-class SimpleList(gtk.ScrolledWindow):\r
+_moduleLogger = logging.getLogger(__name__)\r
+\r
+\r
+class SimpleList(object):\r
        """\r
        Stellt eine einfache Liste mit Laufbalken dar. Das wird mit\r
        den Objekten ScrolledWindow und TreeView erreicht.\r
        """\r
        Stellt eine einfache Liste mit Laufbalken dar. Das wird mit\r
        den Objekten ScrolledWindow und TreeView erreicht.\r
-\r
-       @todo Decouple SimpleList from scrolled window to be able to hildonize it\r
        """\r
 \r
        KEY_IDX = 0\r
        """\r
 \r
        KEY_IDX = 0\r
@@ -37,21 +40,13 @@ class SimpleList(gtk.ScrolledWindow):
                """\r
                Initialisieren\r
                """\r
                """\r
                Initialisieren\r
                """\r
-\r
-               gtk.ScrolledWindow.__init__(self)\r
                self._selectedItem = None # (<Position>, <Key>, <Value>)\r
 \r
                self._selectedItem = None # (<Position>, <Key>, <Value>)\r
 \r
-               # Liste\r
-               self._itemlist = gtk.ListStore(str, str)\r
-\r
-               # ScrolledWindow\r
-               self.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)\r
-               self.set_shadow_type(gtk.SHADOW_IN)\r
-\r
                # Treeview\r
                # Treeview\r
+               self._itemlist = gtk.ListStore(str, str)\r
                self._itemView = gtk.TreeView(self._itemlist)\r
                self._itemView.set_headers_visible(False)\r
                self._itemView = gtk.TreeView(self._itemlist)\r
                self._itemView.set_headers_visible(False)\r
-               self._itemView.get_selection().set_mode(gtk.SELECTION_BROWSE)\r
+               self._itemView.get_selection().set_mode(gtk.SELECTION_SINGLE)\r
                self._itemView.connect("cursor-changed", self._on_cursor_changed)\r
                self._itemView.connect("row-activated", self._on_row_activated)\r
                self._itemView.show()\r
                self._itemView.connect("cursor-changed", self._on_cursor_changed)\r
                self._itemView.connect("row-activated", self._on_row_activated)\r
                self._itemView.show()\r
@@ -77,9 +72,23 @@ class SimpleList(gtk.ScrolledWindow):
                # wie ich das möchte. Deshalb habe ich die Suche abgeschaltet.\r
                self._itemView.set_enable_search(False)\r
 \r
                # wie ich das möchte. Deshalb habe ich die Suche abgeschaltet.\r
                self._itemView.set_enable_search(False)\r
 \r
-               # Anzeigen\r
-               self.add(self._itemView)\r
-               self.show()\r
+               self._maemo5HackVBox = gtk.VBox()\r
+               self._maemo5HackVBox.pack_start(self._itemView)\r
+               self._maemo5HackViewport = gtk.Viewport()\r
+               self._maemo5HackViewport.add(self._maemo5HackVBox)\r
+\r
+               # ScrolledWindow\r
+               self._scrolledWindow = gtk.ScrolledWindow()\r
+               self._scrolledWindow.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)\r
+               self._scrolledWindow.set_shadow_type(gtk.SHADOW_IN)\r
+               self._scrolledWindow.add(self._maemo5HackViewport)\r
+\r
+               self._scrolledWindow = hildonize.hildonize_scrollwindow(self._scrolledWindow)\r
+               self._scrolledWindow.show()\r
+\r
+       @property\r
+       def widget(self):\r
+               return self._scrolledWindow\r
 \r
        def append_item(self, value, key = ""):\r
                """\r
 \r
        def append_item(self, value, key = ""):\r
                """\r
@@ -121,11 +130,13 @@ class SimpleList(gtk.ScrolledWindow):
                """\r
 \r
                self._itemView.connect("cursor-changed", function)\r
                """\r
 \r
                self._itemView.connect("cursor-changed", function)\r
+               self._itemView.connect("row-activated", function)\r
 \r
 \r
+       @gtk_toolbox.log_exception(_moduleLogger)\r
        def _on_row_activated(self, treeview, path, view_column, data = None):\r
                """\r
        def _on_row_activated(self, treeview, path, view_column, data = None):\r
                """\r
-               Setzt den Wert von self._selectedItems. Dieser Wert kann\r
-               mit der Methode "get_selection_data" abgerufen werden.\r
+               Sets the value of self._selectedItems. This value can\r
+               be retrieved using the method "get_selection_data.\r
                """\r
 \r
                iter = self._itemlist.get_iter(path)\r
                """\r
 \r
                iter = self._itemlist.get_iter(path)\r
@@ -138,10 +149,11 @@ class SimpleList(gtk.ScrolledWindow):
                        self._itemlist.get_value(iter, self.VALUE_IDX) # Value\r
                )\r
 \r
                        self._itemlist.get_value(iter, self.VALUE_IDX) # Value\r
                )\r
 \r
+       @gtk_toolbox.log_exception(_moduleLogger)\r
        def _on_cursor_changed(self, widget, data1 = None, data2 = None):\r
                """\r
        def _on_cursor_changed(self, widget, data1 = None, data2 = None):\r
                """\r
-               Setzt den Wert von self._selectedItems. Dieser Wert kann\r
-               mit der Methode "get_selection_data" abgerufen werden.\r
+               Sets the value of self._selectedItems. This value can\r
+               be retrieved using the method "get_selection_data.\r
                """\r
 \r
                selection = widget.get_selection()\r
                """\r
 \r
                selection = widget.get_selection()\r