Automatically populate the place title field
This commit is contained in:
parent
d268a966bd
commit
ad4737edd5
@ -59,9 +59,10 @@ class PlaceRefEmbedList(EmbeddedList):
|
|||||||
(_('Date'), 3, 150, TEXT_COL, -1, None),
|
(_('Date'), 3, 150, TEXT_COL, -1, None),
|
||||||
]
|
]
|
||||||
|
|
||||||
def __init__(self, dbstate, uistate, track, data, handle):
|
def __init__(self, dbstate, uistate, track, data, handle, callback):
|
||||||
self.data = data
|
self.data = data
|
||||||
self.handle = handle
|
self.handle = handle
|
||||||
|
self.callback = callback
|
||||||
EmbeddedList.__init__(self, dbstate, uistate, track,
|
EmbeddedList.__init__(self, dbstate, uistate, track,
|
||||||
_('Parents'), PlaceRefModel,
|
_('Parents'), PlaceRefModel,
|
||||||
move_buttons=True)
|
move_buttons=True)
|
||||||
@ -99,3 +100,6 @@ class PlaceRefEmbedList(EmbeddedList):
|
|||||||
|
|
||||||
def edit_callback(self, name):
|
def edit_callback(self, name):
|
||||||
self.rebuild()
|
self.rebuild()
|
||||||
|
|
||||||
|
def post_rebuild(self, prebuildpath):
|
||||||
|
self.callback()
|
||||||
|
@ -47,6 +47,7 @@ from gi.repository import Gtk
|
|||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from gramps.gen.lib import NoteType, Place
|
from gramps.gen.lib import NoteType, Place
|
||||||
from gramps.gen.db import DbTxn
|
from gramps.gen.db import DbTxn
|
||||||
|
from gramps.gen.utils.location import get_location_list
|
||||||
from .editprimary import EditPrimary
|
from .editprimary import EditPrimary
|
||||||
from .displaytabs import (PlaceRefEmbedList, AltNameEmbedList,
|
from .displaytabs import (PlaceRefEmbedList, AltNameEmbedList,
|
||||||
LocationEmbedList, CitationEmbedList,
|
LocationEmbedList, CitationEmbedList,
|
||||||
@ -111,7 +112,8 @@ class EditPlace(EditPrimary):
|
|||||||
|
|
||||||
self.name = MonitoredEntry(self.top.get_object("name_entry"),
|
self.name = MonitoredEntry(self.top.get_object("name_entry"),
|
||||||
self.obj.set_name, self.obj.get_name,
|
self.obj.set_name, self.obj.get_name,
|
||||||
self.db.readonly)
|
self.db.readonly,
|
||||||
|
changed=self.name_changed)
|
||||||
|
|
||||||
self.gid = MonitoredEntry(self.top.get_object("gid"),
|
self.gid = MonitoredEntry(self.top.get_object("gid"),
|
||||||
self.obj.set_gramps_id,
|
self.obj.set_gramps_id,
|
||||||
@ -161,6 +163,14 @@ class EditPlace(EditPrimary):
|
|||||||
return ValidationError(_("Invalid longitude (syntax: 18\u00b09'") +
|
return ValidationError(_("Invalid longitude (syntax: 18\u00b09'") +
|
||||||
_('48.21"E, -18.2412 or -18:9:48.21)'))
|
_('48.21"E, -18.2412 or -18:9:48.21)'))
|
||||||
|
|
||||||
|
def update_title(self):
|
||||||
|
new_name = ', '.join(get_location_list(self.db, self.obj))
|
||||||
|
self.top.get_object("place_title").set_text(new_name)
|
||||||
|
self.obj.set_title(new_name)
|
||||||
|
|
||||||
|
def name_changed(self, obj):
|
||||||
|
self.update_title()
|
||||||
|
|
||||||
def build_menu_names(self, place):
|
def build_menu_names(self, place):
|
||||||
return (_('Edit Place'), self.get_menu_title())
|
return (_('Edit Place'), self.get_menu_title())
|
||||||
|
|
||||||
@ -176,7 +186,8 @@ class EditPlace(EditPrimary):
|
|||||||
self.uistate,
|
self.uistate,
|
||||||
self.track,
|
self.track,
|
||||||
self.obj.get_placeref_list(),
|
self.obj.get_placeref_list(),
|
||||||
self.obj.handle)
|
self.obj.handle,
|
||||||
|
self.update_title)
|
||||||
self._add_tab(notebook, self.placeref_list)
|
self._add_tab(notebook, self.placeref_list)
|
||||||
self.track_ref_for_deletion("placeref_list")
|
self.track_ref_for_deletion("placeref_list")
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user