Add source fields to citation editor
This commit is contained in:
@@ -174,7 +174,8 @@ class EditCitation(EditPrimary):
|
|||||||
self.glade.get_object("source"),
|
self.glade.get_object("source"),
|
||||||
self.obj.set_reference_handle,
|
self.obj.set_reference_handle,
|
||||||
self.obj.get_reference_handle,
|
self.obj.get_reference_handle,
|
||||||
self.add_del_btn, self.share_btn)
|
self.add_del_btn, self.share_btn,
|
||||||
|
callback=self.source_changed)
|
||||||
|
|
||||||
self.date = MonitoredDate(
|
self.date = MonitoredDate(
|
||||||
self.glade.get_object("date_entry"),
|
self.glade.get_object("date_entry"),
|
||||||
@@ -249,6 +250,21 @@ class EditCitation(EditPrimary):
|
|||||||
notebook.show_all()
|
notebook.show_all()
|
||||||
self.glade.get_object('vbox').pack_start(notebook, True, True, 0)
|
self.glade.get_object('vbox').pack_start(notebook, True, True, 0)
|
||||||
|
|
||||||
|
def source_changed(self):
|
||||||
|
handle = self.obj.get_reference_handle()
|
||||||
|
if handle:
|
||||||
|
source = self.db.get_source_from_handle(handle)
|
||||||
|
author = source.get_author()
|
||||||
|
pub_info = source.get_publication_info()
|
||||||
|
abbrev = source.get_abbreviation()
|
||||||
|
else:
|
||||||
|
author = ''
|
||||||
|
pub_info = ''
|
||||||
|
abbrev = ''
|
||||||
|
self.glade.get_object("author").set_text(author)
|
||||||
|
self.glade.get_object("pub_info").set_text(pub_info)
|
||||||
|
self.glade.get_object("abbrev").set_text(abbrev)
|
||||||
|
|
||||||
def build_menu_names(self, source):
|
def build_menu_names(self, source):
|
||||||
"""
|
"""
|
||||||
Provide the information needed by the base class to define the
|
Provide the information needed by the base class to define the
|
||||||
|
@@ -78,7 +78,7 @@ class ObjEntry(object):
|
|||||||
DEL_STR = ""
|
DEL_STR = ""
|
||||||
|
|
||||||
def __init__(self, dbstate, uistate, track, label, set_val,
|
def __init__(self, dbstate, uistate, track, label, set_val,
|
||||||
get_val, add_edt, share):
|
get_val, add_edt, share, callback=None):
|
||||||
"""Pass the dbstate and uistate and present track.
|
"""Pass the dbstate and uistate and present track.
|
||||||
label is a Gtk.Label that shows the persent value
|
label is a Gtk.Label that shows the persent value
|
||||||
set_val is function that is called when handle changes, use it
|
set_val is function that is called when handle changes, use it
|
||||||
@@ -98,6 +98,7 @@ class ObjEntry(object):
|
|||||||
self.set_val = set_val
|
self.set_val = set_val
|
||||||
self.uistate = uistate
|
self.uistate = uistate
|
||||||
self.track = track
|
self.track = track
|
||||||
|
self.callback = callback
|
||||||
|
|
||||||
#connect drag and drop
|
#connect drag and drop
|
||||||
self._init_dnd()
|
self._init_dnd()
|
||||||
@@ -141,6 +142,8 @@ class ObjEntry(object):
|
|||||||
else:
|
else:
|
||||||
self.label.set_text(name)
|
self.label.set_text(name)
|
||||||
self.label.set_ellipsize(Pango.EllipsizeMode.END)
|
self.label.set_ellipsize(Pango.EllipsizeMode.END)
|
||||||
|
if self.callback:
|
||||||
|
self.callback()
|
||||||
|
|
||||||
def _init_dnd(self):
|
def _init_dnd(self):
|
||||||
"""inheriting objects must set this
|
"""inheriting objects must set this
|
||||||
@@ -167,6 +170,8 @@ class ObjEntry(object):
|
|||||||
def after_edit(self, obj):
|
def after_edit(self, obj):
|
||||||
name = self.get_label(obj)
|
name = self.get_label(obj)
|
||||||
self.label.set_text(name)
|
self.label.set_text(name)
|
||||||
|
if self.callback:
|
||||||
|
self.callback()
|
||||||
|
|
||||||
def add_edt_clicked(self, obj):
|
def add_edt_clicked(self, obj):
|
||||||
""" if value, edit, if no value, call editor on new object
|
""" if value, edit, if no value, call editor on new object
|
||||||
@@ -198,6 +203,8 @@ class ObjEntry(object):
|
|||||||
self.set_val(data.handle)
|
self.set_val(data.handle)
|
||||||
self.label.set_text(self.get_label(data))
|
self.label.set_text(self.get_label(data))
|
||||||
self.set_button(True)
|
self.set_button(True)
|
||||||
|
if self.callback:
|
||||||
|
self.callback()
|
||||||
|
|
||||||
def share_clicked(self, obj):
|
def share_clicked(self, obj):
|
||||||
""" if value, delete connect, in no value, select existing object
|
""" if value, delete connect, in no value, select existing object
|
||||||
@@ -207,6 +214,8 @@ class ObjEntry(object):
|
|||||||
self.label.set_text(self.EMPTY_TEXT)
|
self.label.set_text(self.EMPTY_TEXT)
|
||||||
self.label.set_use_markup(True)
|
self.label.set_use_markup(True)
|
||||||
self.set_button(False)
|
self.set_button(False)
|
||||||
|
if self.callback:
|
||||||
|
self.callback()
|
||||||
else:
|
else:
|
||||||
select = self.call_selector()
|
select = self.call_selector()
|
||||||
obj = select.run()
|
obj = select.run()
|
||||||
@@ -315,9 +324,9 @@ class SourceEntry(ObjEntry):
|
|||||||
DEL_STR = _('Remove source')
|
DEL_STR = _('Remove source')
|
||||||
|
|
||||||
def __init__(self, dbstate, uistate, track, label, set_val,
|
def __init__(self, dbstate, uistate, track, label, set_val,
|
||||||
get_val, add_edt, share):
|
get_val, add_edt, share, callback):
|
||||||
ObjEntry.__init__(self, dbstate, uistate, track, label, set_val,
|
ObjEntry.__init__(self, dbstate, uistate, track, label, set_val,
|
||||||
get_val, add_edt, share)
|
get_val, add_edt, share, callback)
|
||||||
|
|
||||||
def _init_dnd(self):
|
def _init_dnd(self):
|
||||||
"""connect drag and drop of sources
|
"""connect drag and drop of sources
|
||||||
|
@@ -79,13 +79,28 @@
|
|||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="border_width">12</property>
|
<property name="border_width">12</property>
|
||||||
<property name="n_rows">5</property>
|
<property name="n_rows">8</property>
|
||||||
<property name="n_columns">4</property>
|
<property name="n_columns">4</property>
|
||||||
<property name="column_spacing">12</property>
|
<property name="column_spacing">12</property>
|
||||||
<property name="row_spacing">6</property>
|
<property name="row_spacing">6</property>
|
||||||
<child>
|
<child>
|
||||||
<placeholder/>
|
<placeholder/>
|
||||||
</child>
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkLabel" id="label612">
|
<object class="GtkLabel" id="label612">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
@@ -97,8 +112,8 @@
|
|||||||
<property name="mnemonic_widget">date_entry</property>
|
<property name="mnemonic_widget">date_entry</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="top_attach">1</property>
|
<property name="top_attach">4</property>
|
||||||
<property name="bottom_attach">2</property>
|
<property name="bottom_attach">5</property>
|
||||||
<property name="x_options">GTK_FILL</property>
|
<property name="x_options">GTK_FILL</property>
|
||||||
<property name="y_options"/>
|
<property name="y_options"/>
|
||||||
</packing>
|
</packing>
|
||||||
@@ -133,8 +148,8 @@
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="left_attach">3</property>
|
<property name="left_attach">3</property>
|
||||||
<property name="right_attach">4</property>
|
<property name="right_attach">4</property>
|
||||||
<property name="top_attach">1</property>
|
<property name="top_attach">4</property>
|
||||||
<property name="bottom_attach">2</property>
|
<property name="bottom_attach">5</property>
|
||||||
<property name="x_options">GTK_FILL</property>
|
<property name="x_options">GTK_FILL</property>
|
||||||
<property name="y_options"/>
|
<property name="y_options"/>
|
||||||
</packing>
|
</packing>
|
||||||
@@ -151,8 +166,8 @@
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="left_attach">1</property>
|
<property name="left_attach">1</property>
|
||||||
<property name="right_attach">3</property>
|
<property name="right_attach">3</property>
|
||||||
<property name="top_attach">2</property>
|
<property name="top_attach">5</property>
|
||||||
<property name="bottom_attach">3</property>
|
<property name="bottom_attach">6</property>
|
||||||
<property name="y_options"/>
|
<property name="y_options"/>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
@@ -167,8 +182,8 @@
|
|||||||
<property name="mnemonic_widget">volume</property>
|
<property name="mnemonic_widget">volume</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="top_attach">2</property>
|
<property name="top_attach">5</property>
|
||||||
<property name="bottom_attach">3</property>
|
<property name="bottom_attach">6</property>
|
||||||
<property name="x_options">GTK_FILL</property>
|
<property name="x_options">GTK_FILL</property>
|
||||||
<property name="y_options"/>
|
<property name="y_options"/>
|
||||||
</packing>
|
</packing>
|
||||||
@@ -183,8 +198,8 @@
|
|||||||
<property name="justify">center</property>
|
<property name="justify">center</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="top_attach">3</property>
|
<property name="top_attach">6</property>
|
||||||
<property name="bottom_attach">4</property>
|
<property name="bottom_attach">7</property>
|
||||||
<property name="x_options">GTK_FILL</property>
|
<property name="x_options">GTK_FILL</property>
|
||||||
<property name="y_options"/>
|
<property name="y_options"/>
|
||||||
</packing>
|
</packing>
|
||||||
@@ -201,8 +216,8 @@
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="left_attach">1</property>
|
<property name="left_attach">1</property>
|
||||||
<property name="right_attach">3</property>
|
<property name="right_attach">3</property>
|
||||||
<property name="top_attach">1</property>
|
<property name="top_attach">4</property>
|
||||||
<property name="bottom_attach">2</property>
|
<property name="bottom_attach">5</property>
|
||||||
<property name="y_options"/>
|
<property name="y_options"/>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
@@ -268,8 +283,8 @@ Very High =Direct and primary evidence used, or by dominance of the evidence </p
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="left_attach">1</property>
|
<property name="left_attach">1</property>
|
||||||
<property name="right_attach">3</property>
|
<property name="right_attach">3</property>
|
||||||
<property name="top_attach">3</property>
|
<property name="top_attach">6</property>
|
||||||
<property name="bottom_attach">4</property>
|
<property name="bottom_attach">7</property>
|
||||||
<property name="x_options">GTK_FILL</property>
|
<property name="x_options">GTK_FILL</property>
|
||||||
<property name="y_options"/>
|
<property name="y_options"/>
|
||||||
</packing>
|
</packing>
|
||||||
@@ -365,15 +380,12 @@ Very High =Direct and primary evidence used, or by dominance of the evidence </p
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="left_attach">3</property>
|
<property name="left_attach">3</property>
|
||||||
<property name="right_attach">4</property>
|
<property name="right_attach">4</property>
|
||||||
<property name="top_attach">2</property>
|
<property name="top_attach">5</property>
|
||||||
<property name="bottom_attach">3</property>
|
<property name="bottom_attach">6</property>
|
||||||
<property name="x_options">GTK_FILL</property>
|
<property name="x_options">GTK_FILL</property>
|
||||||
<property name="y_options"/>
|
<property name="y_options"/>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
|
||||||
<placeholder/>
|
|
||||||
</child>
|
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkLabel" id="label1">
|
<object class="GtkLabel" id="label1">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
@@ -382,8 +394,8 @@ Very High =Direct and primary evidence used, or by dominance of the evidence </p
|
|||||||
<property name="label" translatable="yes">Tags:</property>
|
<property name="label" translatable="yes">Tags:</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="top_attach">4</property>
|
<property name="top_attach">7</property>
|
||||||
<property name="bottom_attach">5</property>
|
<property name="bottom_attach">8</property>
|
||||||
<property name="x_options">GTK_FILL</property>
|
<property name="x_options">GTK_FILL</property>
|
||||||
<property name="y_options"/>
|
<property name="y_options"/>
|
||||||
</packing>
|
</packing>
|
||||||
@@ -398,8 +410,8 @@ Very High =Direct and primary evidence used, or by dominance of the evidence </p
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="left_attach">1</property>
|
<property name="left_attach">1</property>
|
||||||
<property name="right_attach">2</property>
|
<property name="right_attach">2</property>
|
||||||
<property name="top_attach">4</property>
|
<property name="top_attach">7</property>
|
||||||
<property name="bottom_attach">5</property>
|
<property name="bottom_attach">8</property>
|
||||||
<property name="x_options">GTK_FILL</property>
|
<property name="x_options">GTK_FILL</property>
|
||||||
<property name="y_options"/>
|
<property name="y_options"/>
|
||||||
</packing>
|
</packing>
|
||||||
@@ -420,6 +432,93 @@ Very High =Direct and primary evidence used, or by dominance of the evidence </p
|
|||||||
<property name="y_options"/>
|
<property name="y_options"/>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label4">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="xalign">1</property>
|
||||||
|
<property name="label" translatable="yes">Author:</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="top_attach">1</property>
|
||||||
|
<property name="bottom_attach">2</property>
|
||||||
|
<property name="x_options">GTK_FILL</property>
|
||||||
|
<property name="y_options"/>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label5">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="xalign">1</property>
|
||||||
|
<property name="label" translatable="yes">Publication Info.:</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="top_attach">2</property>
|
||||||
|
<property name="bottom_attach">3</property>
|
||||||
|
<property name="x_options">GTK_FILL</property>
|
||||||
|
<property name="y_options"/>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label6">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="xalign">1</property>
|
||||||
|
<property name="label" translatable="yes">Abbreviation:</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="top_attach">3</property>
|
||||||
|
<property name="bottom_attach">4</property>
|
||||||
|
<property name="x_options">GTK_FILL</property>
|
||||||
|
<property name="y_options"/>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="author">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">1</property>
|
||||||
|
<property name="right_attach">3</property>
|
||||||
|
<property name="top_attach">1</property>
|
||||||
|
<property name="bottom_attach">2</property>
|
||||||
|
<property name="x_options">GTK_FILL</property>
|
||||||
|
<property name="y_options"/>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="pub_info">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">1</property>
|
||||||
|
<property name="right_attach">3</property>
|
||||||
|
<property name="top_attach">2</property>
|
||||||
|
<property name="bottom_attach">3</property>
|
||||||
|
<property name="x_options">GTK_FILL</property>
|
||||||
|
<property name="y_options"/>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="abbrev">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">1</property>
|
||||||
|
<property name="right_attach">3</property>
|
||||||
|
<property name="top_attach">3</property>
|
||||||
|
<property name="bottom_attach">4</property>
|
||||||
|
<property name="x_options">GTK_FILL</property>
|
||||||
|
<property name="y_options"/>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
Reference in New Issue
Block a user