A lightweight, customizable desktop widget for managing to-do tasks built with Qt and C++.
TODO Widget is a desktop application that provides a minimalist yet powerful interface for managing daily tasks. The application follows the Model-View-Controller (MVC) architectural pattern and supports features such as:
- Task categorization with color coding
- Due date reminders and notifications
- Task prioritization
- Desktop and system tray integration
- Customizable appearance
- Data persistence using SQLite
- Import/export functionality
The project is organized into the following directories:
-
controllers/: Business logic components that connect models and views
categorycontroller: Manages category operationsnotificationcontroller: Handles due date notificationstaskcontroller: Manages task operations
-
models/: Data structures and their associated logic
category: Represents a task categorycategorymodel: List model for categoriestask: Represents a single to-do itemtaskmodel: List model for tasks
-
services/: Utility services and managers
databasemanager: Handles database operationsimportexportservice: Handles importing/exporting taskssettingsmanager: Manages application settings
-
views/: UI components and custom widgets
categorydelegate: Custom rendering for categoriescategoryeditor: Dialog for editing categoriesmainwindow: Main application windowsettingsdialog: Application settings dialogtaskeditor: Dialog for editing taskstaskitemdelegate: Custom rendering for taskstasklistview: Custom view for the task list
-
resources/: Application resources
icons/: SVG icons for the applicationstyles/: QSS stylesheets
The codebase follows these documentation standards:
-
File Headers: Each file includes a header comment with:
- File name
- Brief description
- Author information
- Last updated date
-
Class Documentation: Each class is documented with:
- Brief description
- Detailed explanation of purpose and functionality
- Any important implementation details or usage notes
-
Method Documentation: Each method is documented with:
- Brief description of its purpose
- Parameter descriptions
- Return value description
- Any side effects or important notes
-
Property Documentation: Class member variables are documented with:
- Brief inline comments explaining their purpose
-
Doxygen Compatibility: Documentation follows Doxygen syntax for automatic documentation generation.
- Qt 5.12 or later
- C++11 compatible compiler
- Open
TODO-Widget.proin Qt Creator - Configure the project for your target platform
- Build the project
GNU GPL v3
Cornebidouil