Start of slow work to hildonize this mess
authorepage <eopage@byu.net>
Wed, 28 Oct 2009 02:06:57 +0000 (02:06 +0000)
committerepage <eopage@byu.net>
Wed, 28 Oct 2009 02:06:57 +0000 (02:06 +0000)
git-svn-id: file:///svnroot/quicknote/trunk@61 bb7704e3-badb-4cfa-9ab3-9374dc87eaa2

src/notizen.py
src/quicknote_gtk.py
src/simple_list.py

index 19bf8d1..87bf2de 100644 (file)
@@ -45,19 +45,15 @@ class Notizen(gtk.HBox):
                gtk.HBox.__init__(self, homogeneous = False, spacing = 0)
                _moduleLogger.info("libnotizen, init")
 
                gtk.HBox.__init__(self, homogeneous = False, spacing = 0)
                _moduleLogger.info("libnotizen, init")
 
+               # Note list
                self._noteslist = simple_list.SimpleList()
                self._noteslist.set_eventfunction_cursor_changed(self._update_noteslist)
                self._noteslist = simple_list.SimpleList()
                self._noteslist.set_eventfunction_cursor_changed(self._update_noteslist)
-
                self._noteslist.set_size_request(250, -1)
 
                self._noteslist.set_size_request(250, -1)
 
-               vbox = gtk.VBox(homogeneous = False, spacing = 0)
-
                frame = gtk.Frame(_("Titles"))
                frame.add(self._noteslist)
                frame = gtk.Frame(_("Titles"))
                frame.add(self._noteslist)
-               vbox.pack_start(frame, expand = True, fill = True, padding = 3)
 
                buttonHBox = gtk.HBox()
 
                buttonHBox = gtk.HBox()
-               vbox.pack_start(buttonHBox, expand = False, fill = True, padding = 3)
 
                button = gtk.Button(stock = gtk.STOCK_ADD)
                button.connect("clicked", self._on_add_note, None)
 
                button = gtk.Button(stock = gtk.STOCK_ADD)
                button.connect("clicked", self._on_add_note, None)
@@ -67,8 +63,12 @@ class Notizen(gtk.HBox):
                button.connect("clicked", self._on_delete_note, None)
                buttonHBox.pack_start(button, expand = True, fill = True, padding = 3)
 
                button.connect("clicked", self._on_delete_note, None)
                buttonHBox.pack_start(button, expand = True, fill = True, padding = 3)
 
-               self.pack_start(vbox, expand = False, fill = True, padding = 3)
+               listVbox = gtk.VBox(homogeneous = False, spacing = 0)
+               listVbox.pack_start(frame, expand = True, fill = True, padding = 3)
+               listVbox.pack_start(buttonHBox, expand = False, fill = True, padding = 3)
+               self.pack_start(listVbox, expand = False, fill = True, padding = 3)
 
 
+               # Note view
                self._noteBodyView = gtk.TextView()
                self._noteBodyView.connect("focus-out-event", self.save_note, "focus-out-event")
                buf = self._noteBodyView.get_buffer()
                self._noteBodyView = gtk.TextView()
                self._noteBodyView.connect("focus-out-event", self.save_note, "focus-out-event")
                buf = self._noteBodyView.get_buffer()
@@ -79,7 +79,6 @@ class Notizen(gtk.HBox):
                else:
                        self._noteBodySpellChecker = None
 
                else:
                        self._noteBodySpellChecker = None
 
-               #self.textviewNotiz.set_size_request(-1, 50)
                self._noteScrollWindow = gtk.ScrolledWindow()
                self._noteScrollWindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
                self._noteScrollWindow.add(self._noteBodyView)
                self._noteScrollWindow = gtk.ScrolledWindow()
                self._noteScrollWindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
                self._noteScrollWindow.add(self._noteBodyView)
@@ -87,9 +86,7 @@ class Notizen(gtk.HBox):
                frame = gtk.Frame(_("Note"))
                frame.add(self._noteScrollWindow)
 
                frame = gtk.Frame(_("Note"))
                frame.add(self._noteScrollWindow)
 
-               vbox = gtk.VBox(homogeneous = False, spacing = 0)
-               vbox.pack_start(frame, expand = True, fill = True, padding = 3)
-
+               # History
                self._historyBox = gtk.HBox(homogeneous = False, spacing = 0)
 
                self._historyStatusLabel = gtk.Label(_("No History"))
                self._historyBox = gtk.HBox(homogeneous = False, spacing = 0)
 
                self._historyStatusLabel = gtk.Label(_("No History"))
@@ -100,9 +97,11 @@ class Notizen(gtk.HBox):
                button.connect("clicked", self._on_show_history, None)
                self._historyBox.pack_start(button, expand = True, fill = True, padding = 3)
 
                button.connect("clicked", self._on_show_history, None)
                self._historyBox.pack_start(button, expand = True, fill = True, padding = 3)
 
-               vbox.pack_start(self._historyBox, expand = False, fill = True, padding = 3)
-
-               self.pack_start(vbox, expand = True, fill = True, padding = 3)
+               # Note and history stuff in same column
+               noteVbox = gtk.VBox(homogeneous = False, spacing = 0)
+               noteVbox.pack_start(frame, expand = True, fill = True, padding = 3)
+               noteVbox.pack_start(self._historyBox, expand = False, fill = True, padding = 3)
+               self.pack_start(noteVbox, expand = True, fill = True, padding = 3)
 
                self.load_notes()
                self._topBox.connect("reload_notes", self.load_notes)
 
                self.load_notes()
                self._topBox.connect("reload_notes", self.load_notes)
index c89f704..c392447 100644 (file)
@@ -36,6 +36,7 @@ except ImportError:
        osso = None
 
 import constants
        osso = None
 
 import constants
+import hildonize
 
 import speichern
 import kopfzeile
 
 import speichern
 import kopfzeile
@@ -52,7 +53,7 @@ except NameError:
 _moduleLogger = logging.getLogger("quick")
 
 
 _moduleLogger = logging.getLogger("quick")
 
 
-class QuicknoteProgram(hildon.Program):
+class QuicknoteProgram(hildonize.get_app_class()):
 
        _user_data = os.path.join(os.path.expanduser("~"), ".%s" % constants.__app_name__)
        _user_settings = "%s/settings.ini" % _user_data
 
        _user_data = os.path.join(os.path.expanduser("~"), ".%s" % constants.__app_name__)
        _user_settings = "%s/settings.ini" % _user_data
@@ -74,99 +75,82 @@ class QuicknoteProgram(hildon.Program):
                        self._osso_c = None
                        self._deviceState = None
 
                        self._osso_c = None
                        self._deviceState = None
 
-               #Get the Main Window, and connect the "destroy" event
-               self._window = hildon.Window()
-               self.add_window(self._window)
-
-               if not IS_HILDON:
-                       self._window.set_title(constants.__pretty_app_name__)
-               self._window.connect("delete_event", self._on_delete_event)
-               self._window.connect("destroy", self._on_destroy)
-               self._window.connect("key-press-event", self._on_key_press)
-               self._window.connect("window-state-event", self._on_window_state_change)
                self._window_in_fullscreen = False #The window isn't in full screen mode initially.
                self._isZoomEnabled = False
 
                self._db = speichern.Speichern()
                self._syncDialog = None
                self._window_in_fullscreen = False #The window isn't in full screen mode initially.
                self._isZoomEnabled = False
 
                self._db = speichern.Speichern()
                self._syncDialog = None
-               self._prepare_sync_dialog()
 
                #Create GUI main vbox
                vbox = gtk.VBox(homogeneous = False, spacing = 0)
 
 
                #Create GUI main vbox
                vbox = gtk.VBox(homogeneous = False, spacing = 0)
 
-               #Create Menu and apply it for hildon
-               filemenu = gtk.Menu()
+               if not hildonize.IS_FREMANTLE_SUPPORTED:
+                       #Create Menu and apply it for hildon
+                       filemenu = gtk.Menu()
 
 
-               menu_items = gtk.MenuItem(_("Set DB file"))
-               filemenu.append(menu_items)
-               menu_items.connect("activate", self.set_db_file, None)
+                       menu_items = gtk.MenuItem(_("Set DB file"))
+                       filemenu.append(menu_items)
+                       menu_items.connect("activate", self.set_db_file, None)
 
 
-               menu_items = gtk.MenuItem(_("SQL History"))
-               filemenu.append(menu_items)
-               menu_items.connect("activate", self._on_view_sql_history, None)
+                       menu_items = gtk.MenuItem(_("SQL History"))
+                       filemenu.append(menu_items)
+                       menu_items.connect("activate", self._on_view_sql_history, None)
 
 
-               menu_items = gtk.MenuItem(_("Sync notes"))
-               filemenu.append(menu_items)
-               menu_items.connect("activate", self._on_sync_notes, None)
+                       menu_items = gtk.MenuItem(_("Sync notes"))
+                       filemenu.append(menu_items)
+                       menu_items.connect("activate", self._on_sync_notes, None)
 
 
-               menu_items = gtk.MenuItem(_("Quit"))
-               filemenu.append(menu_items)
-               menu_items.connect("activate", self._on_destroy, None)
+                       menu_items = gtk.MenuItem(_("Quit"))
+                       filemenu.append(menu_items)
+                       menu_items.connect("activate", self._on_destroy, None)
 
 
-               file_menu = gtk.MenuItem(_("File"))
-               file_menu.show()
-               file_menu.set_submenu(filemenu)
+                       file_menu = gtk.MenuItem(_("File"))
+                       file_menu.show()
+                       file_menu.set_submenu(filemenu)
 
 
-               categorymenu = gtk.Menu()
+                       categorymenu = gtk.Menu()
 
 
-               menu_items = gtk.MenuItem(_("Delete"))
-               categorymenu.append(menu_items)
-               menu_items.connect("activate", self._on_delete_category, None)
+                       menu_items = gtk.MenuItem(_("Delete"))
+                       categorymenu.append(menu_items)
+                       menu_items.connect("activate", self._on_delete_category, None)
 
 
-               menu_items = gtk.MenuItem(_("Move To Category"))
-               categorymenu.append(menu_items)
-               menu_items.connect("activate", self._on_move_category, None)
+                       menu_items = gtk.MenuItem(_("Move To Category"))
+                       categorymenu.append(menu_items)
+                       menu_items.connect("activate", self._on_move_category, None)
 
 
-               category_menu = gtk.MenuItem(_("Category"))
-               category_menu.show()
-               category_menu.set_submenu(categorymenu)
+                       category_menu = gtk.MenuItem(_("Category"))
+                       category_menu.show()
+                       category_menu.set_submenu(categorymenu)
 
 
-               viewmenu = gtk.Menu()
+                       viewmenu = gtk.Menu()
 
 
-               menu_items = gtk.MenuItem(_("Word Wrap"))
-               viewmenu.append(menu_items)
-               menu_items.connect("activate", self._on_toggle_word_wrap, None)
-               self._wordWrapEnabled = False
+                       menu_items = gtk.MenuItem(_("Word Wrap"))
+                       viewmenu.append(menu_items)
+                       menu_items.connect("activate", self._on_toggle_word_wrap, None)
+                       self._wordWrapEnabled = False
 
 
-               view_menu = gtk.MenuItem(_("View"))
-               view_menu.show()
-               view_menu.set_submenu(viewmenu)
+                       view_menu = gtk.MenuItem(_("View"))
+                       view_menu.show()
+                       view_menu.set_submenu(viewmenu)
 
 
-               helpmenu = gtk.Menu()
+                       helpmenu = gtk.Menu()
 
 
-               menu_items = gtk.MenuItem(_("About"))
-               helpmenu.append(menu_items)
-               menu_items.connect("activate", self._on_show_about, None)
+                       menu_items = gtk.MenuItem(_("About"))
+                       helpmenu.append(menu_items)
+                       menu_items.connect("activate", self._on_show_about, None)
 
 
-               help_menu = gtk.MenuItem(_("Help"))
-               help_menu.show()
-               help_menu.set_submenu(helpmenu)
+                       help_menu = gtk.MenuItem(_("Help"))
+                       help_menu.show()
+                       help_menu.set_submenu(helpmenu)
 
 
-               menu_bar = gtk.MenuBar()
-               menu_bar.show()
-               menu_bar.append (file_menu)
-               menu_bar.append (category_menu)
-               menu_bar.append (view_menu)
-               menu_bar.append (help_menu)
+                       menu_bar = gtk.MenuBar()
+                       menu_bar.show()
+                       menu_bar.append (file_menu)
+                       menu_bar.append (category_menu)
+                       menu_bar.append (view_menu)
+                       menu_bar.append (help_menu)
 
 
-               menu_bar.show()
-               if IS_HILDON:
-                       menu = gtk.Menu()
-                       for child in menu_bar.get_children():
-                               child.reparent(menu)
-                       self._window.set_menu(menu)
-                       menu_bar.destroy()
-               else:
+                       menu_bar.show()
                        vbox.pack_start(menu_bar, False, False, 0)
 
                #Create GUI elements
                        vbox.pack_start(menu_bar, False, False, 0)
 
                #Create GUI elements
@@ -175,8 +159,16 @@ class QuicknoteProgram(hildon.Program):
 
                self._notizen = notizen.Notizen(self._db, self._topBox)
                vbox.pack_start(self._notizen, True, True, 0)
 
                self._notizen = notizen.Notizen(self._db, self._topBox)
                vbox.pack_start(self._notizen, True, True, 0)
+
+               #Get the Main Window, and connect the "destroy" event
+               self._window = gtk.Window()
                self._window.add(vbox)
 
                self._window.add(vbox)
 
+               self._window.connect("delete_event", self._on_delete_event)
+               self._window.connect("destroy", self._on_destroy)
+               self._window.connect("key-press-event", self._on_key_press)
+               self._window.connect("window-state-event", self._on_window_state_change)
+
                self._on_toggle_word_wrap()
 
                try:
                self._on_toggle_word_wrap()
 
                try:
@@ -184,6 +176,18 @@ class QuicknoteProgram(hildon.Program):
                except OSError, e:
                        if e.errno != 17:
                                raise
                except OSError, e:
                        if e.errno != 17:
                                raise
+
+               self._window = hildonize.hildonize_window(self, self._window)
+               hildonize.set_application_title(self._window, "%s" % constants.__pretty_app_name__)
+               if not hildonize.IS_FREMANTLE_SUPPORTED:
+                       menu_bar = hildonize.hildonize_menu(
+                               self._window,
+                               menu_bar,
+                               []
+                       )
+
+               self._prepare_sync_dialog()
+
                self._window.show_all()
                self._load_settings()
 
                self._window.show_all()
                self._load_settings()
 
@@ -284,7 +288,11 @@ class QuicknoteProgram(hildon.Program):
                        self._window_in_fullscreen = False
 
        def _on_key_press(self, widget, event, *args):
                        self._window_in_fullscreen = False
 
        def _on_key_press(self, widget, event, *args):
-               if event.keyval == gtk.keysyms.F6:
+               RETURN_TYPES = (gtk.keysyms.Return, gtk.keysyms.ISO_Enter, gtk.keysyms.KP_Enter)
+               if (
+                       event.keyval == gtk.keysyms.F6 or
+                       event.keyval in RETURN_TYPES and event.get_state() & gtk.gdk.CONTROL_MASK
+               ):
                        # The "Full screen" hardware key has been pressed 
                        if self._window_in_fullscreen:
                                self._window.unfullscreen ()
                        # The "Full screen" hardware key has been pressed 
                        if self._window_in_fullscreen:
                                self._window.unfullscreen ()
index e512e10..7e1e511 100644 (file)
@@ -13,6 +13,8 @@ published by the Free Software Foundation.
 import pango\r
 import gtk\r
 \r
 import pango\r
 import gtk\r
 \r
+import hildonize\r
+\r
 \r
 try:\r
        _\r
 \r
 try:\r
        _\r
@@ -24,6 +26,8 @@ class SimpleList(gtk.ScrolledWindow):
        """\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