Commit graph

4 commits

Author SHA1 Message Date
be6cc4ca44 feat: Add full in-page search functionality
Completed Phase 1 high priority task - comprehensive search system:

Search Features:
- Press '/' to enter search mode with dedicated search input
- Case-insensitive search across all content
- Enter to execute search and find all matches
- Real-time match highlighting:
  * Yellow background = current match
  * Blue background = other matches
- Navigate results with 'n' (next) and 'N' (previous)
- Smart scrolling - auto-scroll to current match
- Match counter in status bar (e.g., "Match 3/10")
- Esc to cancel search input
- Search state clears when loading new pages

Implementation Details:
- Added search state to MainWindow::Impl
  * search_mode, search_query, search_matches, current_match
- Search input component (similar to address bar)
- executeSearch() - finds all matching lines
- nextMatch()/previousMatch() - cycle through results
- Content renderer highlights matches dynamically
- Status panel shows search results with emoji indicator

User Experience:
- Intuitive vim-style '/' to search
- Visual feedback with color highlighting
- Match position indicator in status
- Non-intrusive - doesn't interfere with navigation
- Seamless integration with existing UI

Keyboard shortcuts:
- /: Start search
- Enter: Execute search
- n: Next match
- N: Previous match
- Esc: Cancel search

Documentation:
- Updated KEYBOARD.md with search section and usage example
- Updated STATUS.md to reflect completion
- Added search to interactive features list

The browser now has powerful in-page search! 🔍
2026-01-01 00:51:05 +08:00
159e299e96 feat: Add forward navigation with 'f' key
Completed Phase 1 high priority task:

Interactive Features:
- Add 'f' keyboard shortcut for forward navigation
- Forward button in UI now fully functional
- Works in tandem with Backspace (back) navigation
- Only enabled when browser can go forward

Documentation:
- Updated KEYBOARD.md with 'f' key
- Updated README.md keyboard shortcuts
- Updated STATUS.md to reflect completion
- Updated help text in main.cpp

Keyboard shortcuts:
- Backspace: Go back
- f: Go forward
- Both check navigation state before allowing action

The browser now has complete bidirectional navigation! 
2026-01-01 00:41:07 +08:00
4aae1fa7dc docs: Update STATUS.md to reflect interactive features
Updated development status to v0.2.0-alpha with all interactive
features now working:

 Content scrolling (j/k, g/G, Space/b)
 Link navigation (Tab, numbers, Enter)
 Address bar ('o' to open)
 Back navigation (Backspace)
 Refresh (r/F5)
 Real-time status display

The browser is now fully usable for interactive web browsing!
See KEYBOARD.md for complete keyboard shortcuts.
2025-12-31 17:53:06 +08:00
4c33e6c853 docs: Add comprehensive development status document
Added STATUS.md documenting:
- Working features (HTTP, HTML parsing, rendering, browser engine)
- Known limitations (UI components not yet implemented)
- Next steps roadmap (scrolling, link navigation, bookmarks, etc.)
- Test results showing successful browsing

The core engine is fully functional - main work remaining is
implementing the interactive UI components.
2025-12-31 17:22:31 +08:00