Add Tag Management GUI to PhotoTagger

Introduce a new tag management interface with a file explorer-like design, allowing users to manage photo tags efficiently. Features include multiple view modes (list, icons, compact), resizable columns, and column visibility management through a right-click context menu. Update README to document the new functionality and usage instructions.
This commit is contained in:
tanyar09
2025-10-01 13:57:45 -04:00
parent 68ec18b822
commit b6e6b38a76
2 changed files with 715 additions and 1 deletions
+60
View File
@@ -175,6 +175,55 @@ python3 photo_tagger.py modifyidentified
This GUI lets you quickly review all identified people, rename them, and temporarily unmatch faces before committing.
### Tag Manager GUI (NEW)
```bash
# Open the Tag Management interface
python3 photo_tagger.py tag-manager
```
This GUI provides a file explorer-like interface for managing photo tags with advanced column resizing and multiple view modes.
**🎯 Tag Manager Features:**
- 📊 **Multiple View Modes** - List view, icon view, and compact view for different needs
- 🔧 **Resizable Columns** - Drag column separators to resize both headers and data rows
- 👁️ **Column Visibility** - Right-click to show/hide columns in each view mode
- 🖼️ **Thumbnail Display** - Icon view shows photo thumbnails with metadata
- 📱 **Responsive Layout** - Adapts to window size with proper scrolling
- 🎨 **Modern Interface** - Clean, intuitive design with visual feedback
-**Fast Performance** - Optimized for large photo collections
**📋 Available View Modes:**
**List View:**
- 📄 **Detailed Information** - Shows ID, filename, path, processed status, date taken, face count, and tags
- 🔧 **Resizable Columns** - Drag red separators between columns to resize
- 📊 **Column Management** - Right-click headers to show/hide columns
- 🎯 **Full Data Access** - Complete photo information in tabular format
**Icon View:**
- 🖼️ **Photo Thumbnails** - Visual grid of photo thumbnails (150x150px)
- 📝 **Metadata Overlay** - Shows ID, filename, processed status, date taken, face count, and tags
- 📱 **Responsive Grid** - Thumbnails wrap to fit window width
- 🎨 **Visual Navigation** - Easy browsing through photo collection
**Compact View:**
- 📄 **Essential Info** - Shows filename, face count, and tags only
-**Fast Loading** - Minimal data for quick browsing
- 🎯 **Focused Display** - Perfect for quick tag management
**🔧 Column Resizing:**
- 🖱️ **Drag to Resize** - Click and drag red separators between columns
- 📏 **Minimum Width** - Columns maintain minimum 50px width
- 🔄 **Real-time Updates** - Both headers and data rows resize together
- 💾 **Persistent Settings** - Column widths remembered between sessions
- 🎯 **Visual Feedback** - Cursor changes and separator highlighting during resize
**👁️ Column Management:**
- 🖱️ **Right-click Headers** - Access column visibility menu
-**Toggle Columns** - Show/hide individual columns in each view mode
- 🎯 **View-Specific** - Column settings saved per view mode
- 🔄 **Instant Updates** - Changes apply immediately
**Left Panel (People):**
- 🔍 **Last Name Search** - Search box to filter people by last name (case-insensitive)
- 🔎 **Search Button** - Apply filter to show only matching people
@@ -271,6 +320,12 @@ python3 photo_tagger.py search "Joh"
python3 photo_tagger.py stats
```
### Tag Manager GUI
```bash
# Open tag management interface
python3 photo_tagger.py tag-manager
```
## 📊 Enhanced Example Workflow
```bash
@@ -297,6 +352,9 @@ python3 photo_tagger.py search "Alice"
# 7. Add some tags
python3 photo_tagger.py tag --pattern "birthday"
# 8. Manage tags with GUI interface
python3 photo_tagger.py tag-manager
```
## 🗃️ Database
@@ -743,6 +801,7 @@ python3 -m venv venv && source venv/bin/activate && python3 setup.py
./run.sh identify --show-faces --batch 10
./run.sh auto-match --show-faces
./run.sh modifyidentified
./run.sh tag-manager
./run.sh stats
# Daily usage - Option 2: Manual venv activation (GUI-ENHANCED)
@@ -752,5 +811,6 @@ python3 photo_tagger.py process --limit 50
python3 photo_tagger.py identify --show-faces --batch 10 # Opens GUI
python3 photo_tagger.py auto-match --show-faces # Opens GUI
python3 photo_tagger.py modifyidentified # Opens GUI to view/modify
python3 photo_tagger.py tag-manager # Opens GUI for tag management
python3 photo_tagger.py stats
```