Skip to content

Commit

Permalink
Track column width settings for all editor tabs separately
Browse files Browse the repository at this point in the history
Fixes #12945, #12970
  • Loading branch information
cdhorn authored and Nick-Hall committed Aug 20, 2023
1 parent 7703cb6 commit f63b9b4
Show file tree
Hide file tree
Showing 49 changed files with 428 additions and 165 deletions.
6 changes: 2 additions & 4 deletions gramps/gui/editors/displaytabs/addrembedlist.py
Expand Up @@ -82,7 +82,7 @@ class AddrEmbedList(EmbeddedList):
(_("Private"), 9, 30, ICON_COL, -1, "gramps-lock"),
]

def __init__(self, dbstate, uistate, track, data):
def __init__(self, dbstate, uistate, track, data, config_key):
self.data = data
EmbeddedList.__init__(
self,
Expand All @@ -91,6 +91,7 @@ def __init__(self, dbstate, uistate, track, data):
track,
_("_Addresses"),
AddressModel,
config_key,
move_buttons=True,
)

Expand Down Expand Up @@ -170,6 +171,3 @@ def edit_callback(self, name):
Called to update the screen when the address changes
"""
self.rebuild()

def get_config_name(self):
return __name__
6 changes: 2 additions & 4 deletions gramps/gui/editors/displaytabs/attrembedlist.py
Expand Up @@ -66,7 +66,7 @@ class AttrEmbedList(EmbeddedList):
(_("Private"), 3, 30, ICON_COL, -1, "gramps-lock"),
]

def __init__(self, dbstate, uistate, track, data):
def __init__(self, dbstate, uistate, track, data, config_key):
"""
Initialize the displaytab. The dbstate and uistate is needed
track is the list of parent windows
Expand All @@ -81,6 +81,7 @@ def __init__(self, dbstate, uistate, track, data):
track,
_("_Attributes"),
AttrModel,
config_key,
move_buttons=True,
)

Expand Down Expand Up @@ -144,6 +145,3 @@ def edit_button_clicked(self, obj):
def edit_callback(self, name):
self.changed = True
self.rebuild()

def get_config_name(self):
return __name__
11 changes: 6 additions & 5 deletions gramps/gui/editors/displaytabs/backreflist.py
Expand Up @@ -62,9 +62,13 @@ class BackRefList(EmbeddedList):
(_("Name"), 2, 250, TEXT_COL, -1, None),
]

def __init__(self, dbstate, uistate, track, obj, refmodel, callback=None):
def __init__(
self, dbstate, uistate, track, obj, refmodel, config_key, callback=None
):
self.obj = obj
EmbeddedList.__init__(self, dbstate, uistate, track, _("_References"), refmodel)
EmbeddedList.__init__(
self, dbstate, uistate, track, _("_References"), refmodel, config_key
)
self._callback = callback
self.connectid = self.model.connect("row-inserted", self.update_label)
self.db_connect = []
Expand Down Expand Up @@ -153,6 +157,3 @@ def find_node(self):
def edit_button_clicked(self, obj):
(reftype, ref) = self.find_node()
edit_object(self.dbstate, self.uistate, reftype, ref)

def get_config_name(self):
return __name__
11 changes: 9 additions & 2 deletions gramps/gui/editors/displaytabs/citationbackreflist.py
Expand Up @@ -29,9 +29,16 @@


class CitationBackRefList(BackRefList):
def __init__(self, dbstate, uistate, track, obj, callback=None):
def __init__(self, dbstate, uistate, track, obj, config_key, callback=None):
BackRefList.__init__(
self, dbstate, uistate, track, obj, BackRefModel, callback=callback
self,
dbstate,
uistate,
track,
obj,
BackRefModel,
config_key,
callback=callback,
)

def get_icon_name(self):
Expand Down
6 changes: 2 additions & 4 deletions gramps/gui/editors/displaytabs/citationembedlist.py
Expand Up @@ -90,7 +90,7 @@ class CitationEmbedList(EmbeddedList, DbGUIElement):
(_("Sorted date"), 8, 80, TEXT_COL, -1, None),
]

def __init__(self, dbstate, uistate, track, data, callertitle=None):
def __init__(self, dbstate, uistate, track, data, config_key, callertitle=None):
self.data = data
self.callertitle = callertitle
EmbeddedList.__init__(
Expand All @@ -100,6 +100,7 @@ def __init__(self, dbstate, uistate, track, data, callertitle=None):
track,
_("_Source Citations"),
CitationRefModel,
config_key,
share_button=True,
move_buttons=True,
)
Expand Down Expand Up @@ -345,6 +346,3 @@ def handle_extra_type(self, objtype, handle):
)
else:
raise ValueError("selection must be either source or citation")

def get_config_name(self):
return __name__
5 changes: 4 additions & 1 deletion gramps/gui/editors/displaytabs/embeddedlist.py
Expand Up @@ -85,6 +85,7 @@ def __init__(
track,
name,
build_model,
config_key,
share_button=False,
move_buttons=False,
jump_button=False,
Expand All @@ -93,6 +94,8 @@ def __init__(
"""
Create a new list, using the passed build_model to populate the list.
"""
self.config_key = config_key

ButtonTab.__init__(
self,
dbstate,
Expand Down Expand Up @@ -565,7 +568,7 @@ def build_columns(self):

def get_config_name(self):
"""used to associate the selector config name to the PersistentTreeView"""
assert False, "Must be defined in the subclass"
return self.config_key

def icon_func(self, column, renderer, model, iter_, col_num):
"""
Expand Down
7 changes: 2 additions & 5 deletions gramps/gui/editors/displaytabs/eventattrembedlist.py
Expand Up @@ -32,8 +32,8 @@
#
# -------------------------------------------------------------------------
class EventAttrEmbedList(AttrEmbedList):
def __init__(self, dbstate, uistate, track, data):
AttrEmbedList.__init__(self, dbstate, uistate, track, data)
def __init__(self, dbstate, uistate, track, data, config_key):
AttrEmbedList.__init__(self, dbstate, uistate, track, data, config_key)

def get_editor(self):
from .. import EditAttribute
Expand All @@ -42,6 +42,3 @@ def get_editor(self):

def get_user_values(self):
return self.dbstate.db.get_event_attribute_types()

def get_config_name(self):
return __name__
6 changes: 4 additions & 2 deletions gramps/gui/editors/displaytabs/eventbackreflist.py
Expand Up @@ -28,8 +28,10 @@


class EventBackRefList(BackRefList):
def __init__(self, dbstate, uistate, track, obj, callback=None):
BackRefList.__init__(self, dbstate, uistate, track, obj, BackRefModel, callback)
def __init__(self, dbstate, uistate, track, obj, config_key, callback=None):
BackRefList.__init__(
self, dbstate, uistate, track, obj, BackRefModel, config_key, callback
)

def get_icon_name(self):
return "gramps-event"
13 changes: 9 additions & 4 deletions gramps/gui/editors/displaytabs/eventembedlist.py
Expand Up @@ -111,7 +111,14 @@ class EventEmbedList(DbGUIElement, GroupEmbeddedList):
]

def __init__(
self, dbstate, uistate, track, obj, build_model=EventRefModel, **kwargs
self,
dbstate,
uistate,
track,
obj,
config_key,
build_model=EventRefModel,
**kwargs
):
self.obj = obj
self._groups = []
Expand All @@ -124,6 +131,7 @@ def __init__(
track,
_("_Events"),
build_model,
config_key,
share_button=True,
move_buttons=True,
**kwargs,
Expand Down Expand Up @@ -484,6 +492,3 @@ def post_rebuild(self, prebuildpath):
self.tree.expand_all()
if prebuildpath is not None:
self.selection.select_path(prebuildpath)

def get_config_name(self):
return __name__
7 changes: 2 additions & 5 deletions gramps/gui/editors/displaytabs/familyattrembedlist.py
Expand Up @@ -32,8 +32,8 @@
#
# -------------------------------------------------------------------------
class FamilyAttrEmbedList(AttrEmbedList):
def __init__(self, dbstate, uistate, track, data):
AttrEmbedList.__init__(self, dbstate, uistate, track, data)
def __init__(self, dbstate, uistate, track, data, config_key):
AttrEmbedList.__init__(self, dbstate, uistate, track, data, config_key)

def get_editor(self):
from .. import EditAttribute
Expand All @@ -42,6 +42,3 @@ def get_editor(self):

def get_user_values(self):
return self.dbstate.db.get_family_attribute_types()

def get_config_name(self):
return __name__
7 changes: 2 additions & 5 deletions gramps/gui/editors/displaytabs/familyldsembedlist.py
Expand Up @@ -58,8 +58,8 @@ class FamilyLdsEmbedList(LdsEmbedList):
(_("Private"), 6, 30, ICON_COL, -1, "gramps-lock"),
]

def __init__(self, dbstate, uistate, track, data):
LdsEmbedList.__init__(self, dbstate, uistate, track, data)
def __init__(self, dbstate, uistate, track, data, config_key):
LdsEmbedList.__init__(self, dbstate, uistate, track, data, config_key)

def get_editor(self):
from .. import EditFamilyLdsOrd
Expand All @@ -70,6 +70,3 @@ def new_data(self):
lds = LdsOrd()
lds.set_type(LdsOrd.SEAL_TO_SPOUSE)
return lds

def get_config_name(self):
return __name__
5 changes: 2 additions & 3 deletions gramps/gui/editors/displaytabs/groupembeddedlist.py
Expand Up @@ -68,6 +68,7 @@ def __init__(
track,
name,
build_model,
config_key,
share_button=False,
move_buttons=False,
jump_button=False,
Expand All @@ -84,6 +85,7 @@ def __init__(
track,
name,
build_model,
config_key,
share_button,
move_buttons,
jump_button,
Expand Down Expand Up @@ -421,6 +423,3 @@ def down_button_clicked(self, obj):
self._move_down(pos, ref[1])
elif ref and ref[1] is None:
self._move_down_group(ref[0])

def get_config_name(self):
assert False, "Must be defined in the subclass"
14 changes: 9 additions & 5 deletions gramps/gui/editors/displaytabs/ldsembedlist.py
Expand Up @@ -68,10 +68,17 @@ class LdsEmbedList(EmbeddedList):
(_("Private"), 6, 30, ICON_COL, -1, "gramps-lock"),
]

def __init__(self, dbstate, uistate, track, data):
def __init__(self, dbstate, uistate, track, data, config_key):
self.data = data
EmbeddedList.__init__(
self, dbstate, uistate, track, _("_LDS"), LdsModel, move_buttons=True
self,
dbstate,
uistate,
track,
_("_LDS"),
LdsModel,
config_key,
move_buttons=True,
)

def get_editor(self):
Expand Down Expand Up @@ -118,6 +125,3 @@ def edit_button_clicked(self, obj):

def edit_callback(self, name):
self.rebuild()

def get_config_name(self):
return __name__
6 changes: 2 additions & 4 deletions gramps/gui/editors/displaytabs/locationembedlist.py
Expand Up @@ -60,7 +60,7 @@ class LocationEmbedList(EmbeddedList):
(_("Country"), 5, 75, TEXT_COL, -1, None),
]

def __init__(self, dbstate, uistate, track, data):
def __init__(self, dbstate, uistate, track, data, config_key):
self.data = data
EmbeddedList.__init__(
self,
Expand All @@ -69,6 +69,7 @@ def __init__(self, dbstate, uistate, track, data):
track,
_("Alternate _Locations"),
LocationModel,
config_key,
move_buttons=True,
)

Expand Down Expand Up @@ -107,6 +108,3 @@ def edit_button_clicked(self, obj):

def edit_callback(self, name):
self.rebuild()

def get_config_name(self):
return __name__
7 changes: 2 additions & 5 deletions gramps/gui/editors/displaytabs/mediaattrembedlist.py
Expand Up @@ -32,8 +32,8 @@
#
# -------------------------------------------------------------------------
class MediaAttrEmbedList(AttrEmbedList):
def __init__(self, dbstate, uistate, track, data):
AttrEmbedList.__init__(self, dbstate, uistate, track, data)
def __init__(self, dbstate, uistate, track, data, config_key):
AttrEmbedList.__init__(self, dbstate, uistate, track, data, config_key)

def get_editor(self):
from .. import EditAttribute
Expand All @@ -42,6 +42,3 @@ def get_editor(self):

def get_user_values(self):
return self.dbstate.db.get_media_attribute_types()

def get_config_name(self):
return __name__
11 changes: 9 additions & 2 deletions gramps/gui/editors/displaytabs/mediabackreflist.py
Expand Up @@ -28,9 +28,16 @@


class MediaBackRefList(BackRefList):
def __init__(self, dbstate, uistate, track, obj, callback=None):
def __init__(self, dbstate, uistate, track, obj, config_key, callback=None):
BackRefList.__init__(
self, dbstate, uistate, track, obj, BackRefModel, callback=callback
self,
dbstate,
uistate,
track,
obj,
BackRefModel,
config_key,
callback=callback,
)

def get_icon_name(self):
Expand Down
14 changes: 9 additions & 5 deletions gramps/gui/editors/displaytabs/nameembedlist.py
Expand Up @@ -81,15 +81,22 @@ class NameEmbedList(GroupEmbeddedList):
(_("Private"), NameModel.COL_PRIVATE[0], 30, ICON_COL, -1, "gramps-lock"),
]

def __init__(self, dbstate, uistate, track, data, person, callback):
def __init__(self, dbstate, uistate, track, data, person, config_key, callback):
"""callback is the function to call when preferred name changes
on the namelist"""
self.data = data
self.person = person
self.callback = callback

GroupEmbeddedList.__init__(
self, dbstate, uistate, track, _("_Names"), NameModel, move_buttons=True
self,
dbstate,
uistate,
track,
_("_Names"),
NameModel,
config_key,
move_buttons=True,
)
self.tree.expand_all()

Expand Down Expand Up @@ -232,6 +239,3 @@ def post_rebuild(self, prebuildpath):
self.tree.expand_all()
if prebuildpath is not None:
self.selection.select_path(prebuildpath)

def get_config_name(self):
return __name__
11 changes: 9 additions & 2 deletions gramps/gui/editors/displaytabs/notebackreflist.py
Expand Up @@ -29,9 +29,16 @@


class NoteBackRefList(BackRefList):
def __init__(self, dbstate, uistate, track, obj, callback=None):
def __init__(self, dbstate, uistate, track, obj, config_key, callback=None):
BackRefList.__init__(
self, dbstate, uistate, track, obj, BackRefModel, callback=callback
self,
dbstate,
uistate,
track,
obj,
BackRefModel,
config_key,
callback=callback,
)

def get_icon_name(self):
Expand Down

0 comments on commit f63b9b4

Please sign in to comment.