Not the prettiest (yet) but now on the touch selector entry
[quicknote] / src / quicknote_gtk.py
index f1e8699..e8aa54c 100644 (file)
@@ -103,11 +103,11 @@ class QuicknoteProgram(hildonize.get_app_class()):
 
                        menu_items = gtk.MenuItem(_("Delete"))
                        categorymenu.append(menu_items)
-                       menu_items.connect("activate", self._on_delete_category, None)
+                       menu_items.connect("activate", self._on_delete_category)
 
                        menu_items = gtk.MenuItem(_("Move To Category"))
                        categorymenu.append(menu_items)
-                       menu_items.connect("activate", self._on_move_category, None)
+                       menu_items.connect("activate", self._on_move_category)
 
                        category_menu = gtk.MenuItem(_("Category"))
                        category_menu.show()
@@ -117,9 +117,13 @@ class QuicknoteProgram(hildonize.get_app_class()):
 
                        menu_items = gtk.MenuItem(_("Word Wrap"))
                        viewmenu.append(menu_items)
-                       menu_items.connect("activate", self._on_toggle_word_wrap, None)
+                       menu_items.connect("activate", self._on_toggle_word_wrap)
 
-                       view_menu = gtk.MenuItem(_("View"))
+                       menu_items = gtk.MenuItem(_("History"))
+                       viewmenu.append(menu_items)
+                       menu_items.connect("activate", self._on_show_history)
+
+                       view_menu = gtk.MenuItem(_("Note"))
                        view_menu.show()
                        view_menu.set_submenu(viewmenu)
 
@@ -174,13 +178,17 @@ class QuicknoteProgram(hildonize.get_app_class()):
                )
                if hildonize.IS_FREMANTLE_SUPPORTED:
                        moveToCategoryButton = gtk.Button(_("Move To Category"))
-                       moveToCategoryButton.connect("clicked", self._on_move_category, None)
+                       moveToCategoryButton.connect("clicked", self._on_move_category)
                        menuBar.append(moveToCategoryButton)
 
                        deleteCategoryButton = gtk.Button(_("Delete Category"))
-                       deleteCategoryButton.connect("clicked", self._on_delete_category, None)
+                       deleteCategoryButton.connect("clicked", self._on_delete_category)
                        menuBar.append(deleteCategoryButton)
 
+                       historyButton= gtk.Button(_("Note History"))
+                       historyButton.connect("clicked", self._on_show_history)
+                       menuBar.append(historyButton)
+
                        menuBar.show_all()
 
                if not hildonize.IS_HILDON_SUPPORTED:
@@ -278,10 +286,8 @@ class QuicknoteProgram(hildonize.get_app_class()):
                self._isZoomEnabled = zoomEnabled
                if zoomEnabled:
                        self._topBox.hide()
-                       self._notizen.show_history_area(False)
                else:
                        self._topBox.show()
-                       self._notizen.show_history_area(True)
 
        @gtk_toolbox.log_exception(_moduleLogger)
        def _on_device_state_change(self, shutdown, save_unsaved_data, memory_low, system_inactivity, message, userData):
@@ -344,6 +350,10 @@ class QuicknoteProgram(hildonize.get_app_class()):
                        return True
 
        @gtk_toolbox.log_exception(_moduleLogger)
+       def _on_show_history(self, *args):
+               self._notizen.show_history()
+
+       @gtk_toolbox.log_exception(_moduleLogger)
        def _on_view_sql_history(self, widget = None, data = None, data2 = None):
                import sqldialog
                sqldiag = sqldialog.SqlDialog(self._db)
@@ -395,7 +405,7 @@ class QuicknoteProgram(hildonize.get_app_class()):
 
                        noteid, pcdatum, category, note = self._db.loadNote(self._notizen.noteId)
                        self._db.saveNote(noteid, note, cat_id, pcdatum = None)
-                       self._topBox.category_combo_changed()
+                       self._topBox.set_category() # force it to update
                else:
                        mbox = gtk.MessageDialog(self._window, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, _("No note selected."))
                        response = mbox.run()
@@ -406,25 +416,21 @@ class QuicknoteProgram(hildonize.get_app_class()):
        def _on_delete_category(self, *args):
                if self._topBox.get_category() == "%" or self._topBox.get_category() == "undefined":
                        mbox = gtk.MessageDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, _("This category can not be deleted"))
-                       response = mbox.run()
-                       mbox.hide()
-                       mbox.destroy()
+                       try:
+                               response = mbox.run()
+                       finally:
+                               mbox.hide()
+                               mbox.destroy()
                        return
 
                mbox = gtk.MessageDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_WARNING, gtk.BUTTONS_YES_NO, _("Are you sure to delete the current category?"))
-               response = mbox.run()
-               mbox.hide()
-               mbox.destroy()
+               try:
+                       response = mbox.run()
+               finally:
+                       mbox.hide()
+                       mbox.destroy()
                if response == gtk.RESPONSE_YES:
-                       sql = "UPDATE notes SET category = ? WHERE category = ?"
-                       self._db.speichereSQL(sql, ("undefined", self._topBox.get_category()))
-                       sql = "DELETE FROM categories WHERE liste = ?"
-                       self._db.speichereSQL(sql, (self._topBox.get_category(), ))
-                       model = self._topBox.categoryCombo.get_model()
-                       pos = self._topBox.categoryCombo.get_active()
-                       if (pos>1):
-                               self._topBox.categoryCombo.remove_text(pos)
-                               self._topBox.categoryCombo.set_active(0)
+                       self._topBox.delete_this_category()
 
        @gtk_toolbox.log_exception(_moduleLogger)
        def _on_sync_finished(self, data = None, data2 = None):