15 Commits

Author SHA1 Message Date
52fece65a9 Reposition vertical connection line to left of year markers
- 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
2025-11-28 23:42:34 +01:00
0642e20315 Fix mouse position/selection mismatch and improve interaction
- 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
2025-11-28 23:34:52 +01:00
0abe20849c Fix demo family generation: add diverse events and fix missing event references
- 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
2025-11-28 23:19:09 +01:00
8be124f5e0 Add text overlap prevention, enhanced tooltips, and person selection with visual connections
- 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
2025-11-28 23:08:04 +01:00
f13f5e1141 Add .gitignore for Python cache files 2025-11-28 22:52:22 +01:00
6f0ccc04b4 Fix EventType dictionary key error and translation function shadowing
- 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
2025-11-28 22:52:16 +01:00
ea4c95ac5f Fix Pango layout extents error and ensure Gramps 5.1 compatibility
- 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
2025-11-28 22:29:29 +01:00
d9c8bb8e34 Fix Pango layout extents error in draw_year_markers
- 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
2025-11-28 22:23:28 +01:00
a94b01c4d8 Add HTML preview website for MyTimeline plugin
- 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
2025-11-28 22:20:34 +01:00
6d5db75411 Add missing build_tree() abstract method implementation
- Implement build_tree() method required by NavigationView
- Calls goto_handle() with active family to rebuild display
- Fixes TypeError when loading MyTimeline view
2025-11-28 22:19:03 +01:00
b3488a29e8 Fix bidirectional family references in demo family generator
- 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
2025-11-28 22:14:03 +01:00
da620972a6 Add huge demo family for testing MyTimeline plugin
- 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
2025-11-28 22:09:31 +01:00
77f36d6b8b Update plugin author information 2025-11-28 22:07:36 +01:00
2d724f9a0a Update plugin version to match Gramps 5.1
Changed MODULE_VERSION from 6.0 to 5.1 to match installed Gramps version
2025-11-28 22:06:34 +01:00
581a6c1f59 Initial commit: MyTimeline plugin for Gramps
- Add MyTimeline.gpr.py plugin registration file
- Add MyTimeline.py view implementation with vertical timeline
- Displays family events (marriage, birth, death) in a vertical timeline
- Supports navigation, bookmarks, and database updates
2025-11-28 21:49:59 +01:00