aboutsummaryrefslogtreecommitdiff

Features

  • Manage events and repeated events.
  • Store events in a single SQLite file.
  • List today’s events with CLI option --list-today.

Screenshot

Screenshot

Links

  • gtk4-rs book: https://gtk-rs.org/gtk4-rs/git/book/
  • gtk4-rs documentation: https://gtk-rs.org/gtk4-rs/stable/latest/docs/gtk4/
  • Event-Driven GTK by Example — 2021 Edition: https://mmstick.github.io/gtkrs-tutorials/

Getting started

Bootstrap a shell with all the required dependencies with nix develop (requires nix).

Start the application with:

cargo run

Run tests with:

cargo test

Get today’s events with:

cargo run -- --list-today

TODO

  • Add description textarea field
  • More visible months

Categories CRUD

  1. Add category form
  2. Show categories
  3. Update category
  4. Delete category

Optimizations

  • Optimize refresh. https://users.rust-lang.org/t/profilers-and-how-to-interpret-results-on-recursive-functions/13222

Multi day events

  • Try width parameter using grid.attach.

Nice to have

  • Drag & drop events.
  • Prevent launching multiple instances.
  • Show a date picker in dialog form.
  • Print errors on forms when validating.
  • Validate the form when pressing enter on any field.
  • Select the default focus with a button or a shortcut.