Work in progress!
Tagberry is a tag-oriented Qt5 desktop calendar, task manager, and todo list.
Available features:
- create and edit tasks with tags on the calendar
- markdown highlighting
- SQLite3 database
Planned features:
- create and edit subtasks
- organize tasks in lists
- manage tag properties
- various UI improvements
The code is written in a cross-platform manner, but only Linux was tested so far.
- C++17 compiler
- CMake >= 3.0
- qmake from Qt5 (for dependencies)
- Qt5 >= 5.9
- SQLite3
- QMarkdownTextEdit (shipped as a submodule)
- QSqlMigrator (shipped as a submodule)
sudo apt install qt5-default cmake
git clone --recurse-submodules https://github.com/tagberry/tagberry-qt.git
cd tagberry-qt
mkdir build
cd build
cmake ..
make -j4
cd ..
./bin/tagberry-qt
cd build
sudo make install
cd ..
./scripts/format.sh
The codebase is divided into four parts:
-
widgets - A collection of application-specific widgets, supplementing standard Qt widgets. Widgets don't know anything about models and business-logic.
-
models - A collection of data objects to be displayed and manipulated by user. Models don't know anything about widgets and UI.
-
storage - Classes to read and write models from a persistent storage.
-
presenters - Classes that put all these things together. Presenters create the UI using widgets and interconnect models with widgets and storage.
See here.