Add face identification GUI and related features to PhotoTagger
This commit introduces a new IdentifyGUI class for handling face identification within the PunimTag application. The GUI allows users to identify faces interactively, with features such as batch processing, date filtering, and a user-friendly interface for entering person details. The PhotoTagger class is updated to integrate this new functionality, enabling seamless face identification directly from the tagging interface. Additionally, enhancements to the calendar dialog and improved quit validation are included, ensuring a smoother user experience. The README is updated to reflect these new features and usage instructions.
This commit is contained in:
@@ -646,18 +646,25 @@ When you click the 📅 calendar button, you'll see:
|
||||
**Calendar Features:**
|
||||
- **Visual Grid Layout** - Traditional 7x7 calendar with clickable dates
|
||||
- **Month/Year Navigation** - Use << >> < > buttons to navigate
|
||||
- **Date Selection** - Click any date to select it
|
||||
- **Date Selection** - Click any date to select it (doesn't close calendar immediately)
|
||||
- **Visual Feedback** - Selected dates highlighted in bright blue, today's date in orange
|
||||
- **Future Date Restrictions** - Future dates are disabled and grayed out (birth dates cannot be in the future)
|
||||
- **Smart Pre-population** - Opens to existing date when editing previous identifications
|
||||
- **Smooth Operation** - Opens centered without flickering
|
||||
|
||||
**Calendar Navigation:**
|
||||
- **<< >>** - Jump by year (limited to 1900-current year)
|
||||
- **< >** - Navigate by month
|
||||
- **Click Date** - Select any visible date
|
||||
- **Select Button** - Confirm your date choice
|
||||
- **< >** - Navigate by month (prevents navigation to future months)
|
||||
- **Click Date** - Select any visible date (highlights in blue, doesn't close calendar)
|
||||
- **Select Button** - Confirm your date choice and close calendar
|
||||
- **Cancel Button** - Close without selecting
|
||||
|
||||
**New Calendar Behavior:**
|
||||
- **Two-Step Process** - Click date to select, then click "Select" to confirm
|
||||
- **Future Date Protection** - Cannot select dates after today (logical for birth dates)
|
||||
- **Smart Navigation** - Month/year buttons prevent going to future periods
|
||||
- **Visual Clarity** - Selected dates clearly highlighted, future dates clearly disabled
|
||||
|
||||
### GUI Tips
|
||||
- **Window Resizing**: Resize the window - it remembers your size preference
|
||||
- **Keyboard Shortcuts**: Press Enter in the name field to identify
|
||||
@@ -668,7 +675,9 @@ When you click the 📅 calendar button, you'll see:
|
||||
- **Bulk Selection**: Use Select All/Clear All buttons to quickly select or clear all similar faces
|
||||
- **Smart Buttons**: Select All/Clear All buttons are only enabled when Compare mode is active
|
||||
- **Navigation Warnings**: System warns if you try to navigate away with selected faces but no person name
|
||||
- **Smart Quit Validation**: Quit button only shows warning when all three required fields are filled (first name, last name, date of birth)
|
||||
- **Quit Confirmation**: When closing, system asks if you want to save pending identifications
|
||||
- **Cancel Protection**: Clicking "Cancel" in quit warning keeps the main window open
|
||||
- **Consistent Results**: Compare mode shows the same faces as auto-match with identical confidence scoring
|
||||
- **Multiple Matches**: In auto-match, you can select multiple faces to identify with one person
|
||||
- **Smart Navigation**: Back/Next buttons are disabled appropriately (Back disabled on first, Next disabled on last)
|
||||
@@ -786,11 +795,20 @@ This is now a minimal, focused tool. Key principles:
|
||||
- ✅ **Today Highlighting** - Current date shown in orange when visible
|
||||
- ✅ **Smooth Positioning** - Calendar opens centered without flickering
|
||||
- ✅ **Isolated Styling** - Calendar styles don't affect other dialog buttons
|
||||
- ✅ **Future Date Restrictions** - Future dates are disabled and grayed out (birth dates cannot be in the future)
|
||||
- ✅ **Select/Cancel Buttons** - Proper confirmation workflow - click date to select, then click "Select" to confirm
|
||||
- ✅ **Smart Navigation Limits** - Month/year navigation prevents going to future months/years
|
||||
|
||||
### 🔄 Smart Field Management
|
||||
- ✅ **Forward Navigation** - Date of birth, middle name, and maiden name fields clear when moving to next face
|
||||
- ✅ **Backward Navigation** - All fields repopulate with previously entered data
|
||||
|
||||
### 🛡️ Enhanced Quit Validation (NEW!)
|
||||
- ✅ **Smart Form Validation** - Quit button only shows warning when ALL three required fields are filled (first name, last name, date of birth)
|
||||
- ✅ **Proper Cancel Behavior** - Clicking "Cancel" in quit warning keeps the main window open instead of closing it
|
||||
- ✅ **Unsaved Changes Detection** - Accurately detects when you have complete identification data ready but haven't pressed "Identify" yet
|
||||
- ✅ **Improved User Experience** - No more false warnings when only partially filling form fields
|
||||
|
||||
### 🆕 Enhanced Person Information (LATEST!)
|
||||
- ✅ **Middle Name Field** - Optional middle name input field added to person identification
|
||||
- ✅ **Maiden Name Field** - Optional maiden name input field added to person identification
|
||||
|
||||
Reference in New Issue
Block a user