- Allow clicking anywhere on event line to select person (like selecting event)
- Selected events always show single-line text (no multi-line expansion)
- Force is_expanded=False for selected events to prevent text switching
- Always collapse expanded events when selecting person
- Selection and expansion are now completely separate actions
- Move vertical connection line from timeline_x - 40 to x=5
- Position line clearly to the left of year labels (x=90-130)
- Horizontal lines connect vertical line to each event marker
- Improved visual hierarchy: vertical line → year labels → timeline → events
- Fix mouse coordinate transformation to account for zoom level
- Enable whole-line selection (click anywhere on event line to select person)
- Update tooltip to show date first, then event type
- Make connection lines more visible with increased opacity and width
- Improved click detection using scaled coordinates
- Expanded clickable area to include both marker and label regions
- Added 12 different event types (Baptism, Education, Occupation, etc.)
- Fixed missing event references by storing and reusing original events
- Made event generation deterministic with random seed
- Updated gen_person to return both XML and tuple format for event reuse
- All event references now properly defined and validated
- Demo family now includes 240+ additional events for comprehensive testing
- Implement detect_label_overlaps() to prevent text label overlaps
- Automatically adjust Y positions while maintaining chronological order
- Enhanced tooltips to show all events for a person, not just hovered event
- Added person selection on event marker click
- Implement draw_person_connections() to visually connect selected person's events
- Selected person's events highlighted with blue color and connecting lines
- Click on marker selects person, click on label expands event details
- Fixed EventType objects not being hashable by extracting integer value
- Fixed UnboundLocalError by removing variable shadowing of translation function _
- Updated all tuple unpacking to use proper variable names instead of _
- All event types now properly supported with color/shape mapping
- Plugin fully compatible with Gramps 5.1
- Fix get_pixel_size() usage in draw_year_markers() method
- Replace incorrect get_extents() with get_pixel_size() for text measurement
- Verified compatibility with Gramps 5.1.7
- All required APIs and methods confirmed available
- Replace get_extents() with get_pixel_size() for correct text measurement
- Fixes ValueError: not enough values to unpack error
- get_pixel_size() returns (width, height) tuple directly in pixels
- Create interactive preview page showing timeline visualization
- Display demo family events (Smith family) with color-coded markers
- Responsive design with modern styling
- Shows birth (green), death (red), and marriage (blue) events
- Includes year markers and event details
- Implement build_tree() method required by NavigationView
- Calls goto_handle() with active family to rebuild display
- Fixes TypeError when loading MyTimeline view
- Add parentin references for fathers and mothers
- Add childof references for children
- Regenerate person XMLs with correct family relationships
- Fixes import errors about missing bidirectional references
- Add generate_demo_family.py script to generate demo data
- Add demo_family.gramps with large family tree:
* 2 parents (John and Mary Smith)
* 15 children
* 5 spouses
* ~20 grandchildren
* Multiple families with marriage events
* Birth and death events for all members
- Perfect for testing the MyTimeline plugin with real data