From 668d6d0fa0d1d775c53695b4469813a2b79db0fc Mon Sep 17 00:00:00 2001 From: Christian Jacobs Date: Sun, 24 Mar 2013 17:37:45 +0000 Subject: [PATCH] Improvements on the new "Update Record" dialog. --- src/pyqso.py | 14 +++++++++++--- src/record_dialog.py | 23 +++++++++++++---------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/src/pyqso.py b/src/pyqso.py index 632f521..2816e02 100644 --- a/src/pyqso.py +++ b/src/pyqso.py @@ -90,9 +90,17 @@ class PyQSO(Gtk.Window): return def add_record_callback(self, widget): - self.logbook.add_record() - # Select the new Record's row. - self.treeselection.select_path(self.logbook.get_number_of_records()-1) + + dialog = RecordDialog(self) + + response = dialog.run() + if(response == Gtk.ResponseType.OK): + self.logbook.add_record() + # Select the new Record's row. + self.treeselection.select_path(self.logbook.get_number_of_records()-1) + + dialog.destroy() + return def delete_record_callback(self, widget): diff --git a/src/record_dialog.py b/src/record_dialog.py index c7d7d03..e00dd7a 100644 --- a/src/record_dialog.py +++ b/src/record_dialog.py @@ -28,23 +28,26 @@ class RecordDialog(Gtk.Dialog): def __init__(self, parent): logging.debug("New RecordDialog instance created!") - Gtk.Dialog.__init__(self, title="Update Record") + Gtk.Dialog.__init__(self, title="Add/Edit Record", parent=parent, flags=Gtk.DialogFlags.DESTROY_WITH_PARENT, buttons=(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OK, Gtk.ResponseType.OK)) + + frame = Gtk.Frame() + label = Gtk.Label("QSO Data") + frame.set_label_widget(label) + self.vbox.add(frame) # Create label:entry pairs and store them in a dictionary self.sources = {} field_names = parent.logbook.SELECTED_FIELD_NAMES_TYPES.keys() + vbox_inner = Gtk.VBox(spacing=2) for i in range(0, len(field_names)): - hbox_temp = Gtk.HBox(spacing=2) - hbox_temp.pack_start(Gtk.Label(field_names[i]), False, False, 0) + vbox_temp = Gtk.VBox(spacing=2) + vbox_temp.pack_start(Gtk.Label(field_names[i]), False, False, 0) self.sources[field_names[i]] = Gtk.Entry() - hbox_temp.pack_start(self.sources[field_names[i]], True, True, 0) - self.pack_start(hbox_temp, False, False, 0) + vbox_temp.pack_start(self.sources[field_names[i]], True, True, 0) + vbox_inner.pack_start(vbox_temp, False, False, 0) + frame.add(vbox_inner) - self.update = Gtk.Button("Update Record") - self.update.connect("clicked", parent.update_record_callback) - self.pack_start(self.update, expand=False, fill=True, padding=2) - - #hbox_parent.pack_start(self, False, False, 0) + self.show_all() return