Daniel Viegas 6dc5f16a94 Additional code quality improvements
- 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
2025-11-30 00:34:56 +01:00
Description
MyTimeline Gramps plugin
822 KiB
Languages
Python 94.2%
Shell 5.8%