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:
@@ -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
|
||||
```
|
||||
Reference in New Issue
Block a user