- Move datetime imports to module level (follows Python best practices) Removed 3 duplicate imports from inside methods - Extract remaining hardcoded UI constants Added FILTER_PAGE_VERTICAL_SPACING, FILTER_CATEGORY_SPACING, FILTER_INDENT_MARGIN Added TOOLBAR_SPACING, TOOLBAR_ITEM_MARGIN Added TOOLTIP_SEPARATOR_LENGTH Replaced all hardcoded spacing/margin values in filter page builders - Extract common zoom logic into _update_zoom() helper Reduces duplication across on_zoom_in, on_zoom_out, on_zoom_reset methods - Consolidate date handler methods Created _sync_year_spin_from_calendar() and _sync_calendar_from_year_spin() helpers Created _create_date_from_calendar() helper for date creation Reduced ~60 lines of duplicated code in date handlers - Improve cache management Clear event type normalization cache in _invalidate_cache() to prevent stale data - Improve error messages with more context All error messages now specify which operation/component failed Makes debugging significantly easier
Description
MyTimeline Gramps plugin
Languages
Python
94.2%
Shell
5.8%