A modern, feature-rich desktop application for monitoring time zones around the world with advanced visualization and management capabilities.
- Real-time Clock Display: Shows current time for major world cities
- Smart Time Zone Management: IANA time zone database with automatic DST handling
- Advanced Search: Multi-term search with real-time filtering
- Favorites System: Mark frequently used time zones with drag-and-drop reordering
- Time-of-Day Colors: Dynamic background colors based on local time periods
- 🌅 Dawn (6:00-8:59): Warm sunrise orange
- ☀️ Day (9:00-17:59): Light blue sky
- 🌅 Dusk (18:00-21:59): Sunset orange
- 🌙 Night (22:00-5:59): Dark navy blue
- Time Zone Overlap Bar: Visual 24-hour timeline showing business hours overlap across zones
- Professional UI: Clean, modern interface with consistent styling
- Comprehensive Preferences: 40+ configurable settings via tabbed dialog
- Display Customization: Multiple time formats, show/hide seconds, timezone names
- Layout Options: Grid layout with configurable columns
- Persistence: All settings and favorites automatically saved
- Keyboard Navigation: Full keyboard support with shortcuts
- Screen Reader Compatible: Proper accessibility attributes
- Responsive Design: Adapts to window resizing
- Cross-platform: Native look and feel on all supported platforms
- Qt 6.9+ (Core, Widgets, GUI modules)
- CMake 3.20+
- C++17 compatible compiler
- GCC 8+, Clang 7+, MSVC 2019+
# Install dependencies
brew install qt cmake
# Clone and build
git clone https://github.com/yourusername/WorldClock.git
cd WorldClock
mkdir build && cd build
cmake ..
make -j$(nproc)
# Run application
./src/app/WorldTimeApp.app/Contents/MacOS/WorldTimeApp# Install dependencies
sudo apt update
sudo apt install qt6-base-dev qt6-tools-dev cmake build-essential
# Clone and build
git clone https://github.com/yourusername/world-time-app.git
cd world-time-app
mkdir build && cd build
cmake ..
make -j$(nproc)
# Run application
./src/app/WorldTimeApp# Install Qt6 and CMake via Qt installer or vcpkg
# Clone repository
git clone https://github.com/yourusername/world-time-app.git
cd world-time-app
# Configure and build
mkdir build && cd build
cmake .. -DCMAKE_PREFIX_PATH="C:/Qt/6.9.1/msvc2019_64"
cmake --build . --config Release
# Run application
.\src\app\Release\WorldTimeApp.exe- Search: Use Ctrl+F or click the search bar to filter time zones
- Favorites: Right-click any clock to add/remove from favorites
- Settings: Access via menu or Ctrl+, (Cmd+, on macOS)
- Refresh: Manual refresh with Ctrl+R or the refresh button
| Shortcut | Action |
|---|---|
Ctrl+F |
Focus search field |
Ctrl+R |
Refresh all clocks |
Ctrl+, |
Open settings |
Ctrl+Q |
Quit application |
Esc |
Clear search |
Tab |
Navigate between clocks |
Enter/Space |
Select focused clock |
- Display: Time format, seconds display, timezone names
- Time Zones: Manage favorites, search filters
- Advanced: Refresh rates, startup options, grid layout
- MVC Architecture: Clean separation between model, view, and controller
- Singleton Pattern: TimeZoneManager and SettingsManager
- Signal-Slot Pattern: Real-time updates throughout the application
src/
├── core/ # Business logic layer
│ ├── TimeZoneManager.* # Time zone operations and caching
│ ├── SettingsManager.* # Application preferences management
│ └── SearchEngine.* # Search and filtering functionality
├── widgets/ # UI components
│ ├── MainWindow.* # Primary application window
│ ├── ClockDisplay.* # Individual time zone display widget
│ ├── SettingsDialog.* # Comprehensive settings interface
│ └── TimeZoneOverlapBar.* # Visual overlap timeline
└── app/
└── main.cpp # Application entry point
Contributions are welcome! Please feel free to submit pull requests or create issues for bugs and feature requests.
- Follow Qt coding conventions
- Maintain MVC architecture separation
- Add appropriate documentation for new features
- Ensure cross-platform compatibility
- Test on multiple Qt versions when possible
This project is licensed under the MIT License - see the LICENSE file for details.
- Qt Framework: Cross-platform application development
- IANA Time Zone Database: Accurate global time zone data
- CMake: Build system configuration
- Modern C++: Language features and best practices
- ✅ Phase 1: Core functionality complete
- ✅ Phase 2: Enhanced features complete
- ✅ Phase 3: Visual enhancements complete
- 🚀 Ready for Production: Full-featured, stable application
Built with ❤️ using Qt6 and Modern C++