_ = lambda x: x
-_moduleLogger = logging.getLogger("notizen")
+_moduleLogger = logging.getLogger(__name__)
class Notizen(gtk.HBox):
self._db = db
self._category = category
self._search = search
+ self._search.connect("hide", self._on_search_close)
self.noteId = -1
self._pos = -1
self._noteBody = None #Last notetext
_moduleLogger.info("load_notes params: pos:"+str(self._pos)+" noteid:"+str(self.noteId))
self._noteslist.clear_items()
- self._categoryName = self._category.get_category()
+ self._categoryName = self._category.get_queryable_category()
search = self._search.get_search_pattern()
notes = self._db.searchNotes(search, self._categoryName)
else:
self._db.saveNote(self.noteId, buf, self._categoryName)
- self._category.define_this_category()
-
def show_history(self, *args):
if self.noteId == -1:
mbox = gtk.MessageDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_INFO, gtk.BUTTONS_OK, _("No note selected."))
rows = self._db.getNoteHistory(self.noteId)
import history
- dialog = history.Dialog()
+ dialog = history.HistorySelectionDialog()
lastNoteStr = ""
for row in rows:
dialog.vbox.show_all()
dialog.set_size_request(600, 380)
- if dialog.run() == gtk.RESPONSE_ACCEPT:
- print "saving"
- self.save_note()
- data = dialog.get_selected_row()
- if data is not None:
- self._db.speichereSQL(data[2], data[3].split(" <<Tren-ner>> "), rowid = self.noteId)
- _moduleLogger.info("loading History")
- self._update_noteslist()
+ try:
+ userResponse = dialog.run()
- dialog.destroy()
+ if userResponse == gtk.RESPONSE_ACCEPT:
+ self.save_note()
+ data = dialog.get_selected_row()
+ if data is not None:
+ self._db.speichereSQL(data[2], data[3].split(" <<Tren-ner>> "), rowid = self.noteId)
+ _moduleLogger.info("loading History")
+ self._update_noteslist()
+
+ finally:
+ dialog.destroy()
def _get_title(self, buf):
"""
gobject.timeout_add(200, self._set_focus)
@gtk_toolbox.log_exception(_moduleLogger)
+ def _on_search_close(self, *args):
+ if self.noteId != -1:
+ self._noteBodyView.grab_focus()
+
+ @gtk_toolbox.log_exception(_moduleLogger)
def _on_note_changed(self, widget = None, data = None):
if self._pos == -1 or self.noteId == -1:
return
@gtk_toolbox.log_exception(_moduleLogger)
def _on_delete_note(self, widget = None, data = None):
- if (self.noteId == -1):
+ if self.noteId == -1:
return
- mbox = gtk.MessageDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_WARNING, gtk.BUTTONS_YES_NO, _("Really delete?"))
- response = mbox.run()
- mbox.hide()
- mbox.destroy()
- if response == gtk.RESPONSE_YES:
+
+ doDeletion = False
+ if self._noteBodyView.get_buffer().get_char_count() == 0:
+ doDeletion = True
+ else:
+ mbox = gtk.MessageDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_WARNING, gtk.BUTTONS_YES_NO, _("Really delete?"))
+ try:
+ response = mbox.run()
+ finally:
+ mbox.hide()
+ mbox.destroy()
+
+ doDeletion = response == gtk.RESPONSE_YES
+
+ if doDeletion:
self._db.delNote(self.noteId)
self.noteId = -1
self._noteslist.remove_item(self._pos)