_moduleLogger = logging.getLogger("history")
-class Dialog(gtk.Dialog):
+class HistorySelectionDialog(gtk.Dialog):
def __init__(self, daten = None):
- super(Dialog, self).__init__(
+ super(HistorySelectionDialog, self).__init__(
_("History:"),
None,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
- (gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, gtk.STOCK_OK, gtk.RESPONSE_ACCEPT),
+ (gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, gtk.STOCK_SAVE, gtk.RESPONSE_ACCEPT),
)
self.set_position(gtk.WIN_POS_CENTER)
str #param schön
)
- # create the TreeView using liststore
self._historyView = gtk.TreeView(self.noteHistory)
self._historyView.set_rules_hint(True)
- # create a CellRenderers to render the data
- self._timestampCell = gtk.CellRendererText()
- self._noteCell = gtk.CellRendererText()
- # create the TreeViewColumns to display the data
+ self._timestampCell = gtk.CellRendererText()
self._timestampColumn = gtk.TreeViewColumn(_('Timestamp'))
- self._noteColumn = gtk.TreeViewColumn(_('Note'))
- # add columns to treeview
- self._historyView.append_column(self._timestampColumn)
- self._historyView.append_column(self._noteColumn)
-
- # add the cells to the columns - 2 in the first
self._timestampColumn.pack_start(self._timestampCell, True)
- self._noteColumn.pack_start(self._noteCell, True)
self._timestampColumn.set_attributes(self._timestampCell, text = 1) #Spalten setzten hier!!!!
+
+ self._noteCell = gtk.CellRendererText()
+ self._noteColumn = gtk.TreeViewColumn(_('Note'))
+ self._noteColumn.pack_start(self._noteCell, True)
self._noteColumn.set_attributes(self._noteCell, text = 4)
+ # add columns to treeview
+ self._historyView.append_column(self._timestampColumn)
+ self._historyView.append_column(self._noteColumn)
self._historyView.set_reorderable(False)
scrolled_window = gtk.ScrolledWindow()
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):
"""
@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)