Turbocharging Kalendar — Kalendar devlog 16

Note: Kalendar is still under heavy development. You’re free to poke around and try it out, but it is not yet final software! If you want to contribute to its development, join us in Kalendar’s Matrix room.

This week, we have focused on one thing: speed. From UI additions to under-the-hood improvements, Kalendar is now quicker to use and faster to act than ever!

Big optimisations to Kalendar

!71: Optimise the monthview and schedule view (Claudio Cambra)

A lot of this week has been spent profiling Kalendar, finding hotspots, and minimising them. As a result, lots of tweaks now help Kalendar perform better, particularly when using the month and schedule views. By limiting the number of view resets each second, using less resource-intensive components, and eliminating cruft, Kalendar is now significantly faster.

These improvements can be felt on every start up and on every month switch, and should be particularly noticeable on lower-power machines and especially the Pinephone. With this update, Kalendar is much smoother on this device (though we will keep optimising!)

Change dates more quickly with the new date changer

!69: Add a date change popup (Claudio Cambra)

Also new this week is a date changer popup, which you can bring up by clicking on the date title in the month and schedule view. This popup contains a month, year, and decade view that should help you select a date far more quickly than by scrolling through each month. The popup can be close by simply clicking/tapping anywhere else.

UI improvements on mobile

!74: Move mobile sidebar handles to toolbar (Devin Lin)
!76: Use NavigationTabBar component (Devin Lin)

Thanks to new contributions by Devin Lin, Kalendar is now a little better to use on mobile: the sidebar handle is in the toolbar, moving it out of the way of the app contents. Kalendar now uses the freshly-baked Kirigami NavigationTabBar component, also made by Devin, which should ensure that Kalendar’s bottom nav bar behaves the same way as other Kirigami apps’.


Todos are now Tasks

!75: Replace ‘todo’ strings in the UI with ‘task’ (Claudio Cambra)

After a (lively!) discussion on this proposed change, Kalendar has replaced its wording for tasks from ‘todo’ to ‘task’, and all of these words variations. This change only affects the user interface, and not the back-end classes and their existing names — I suppose you will care more about the former than the latter 🙂

Bug-fixes and other changes

!78: Add “About Kalendar” action to global/in-window menu (Felipe Kinoshita)

  • Added an ‘About Kalendar’ button to the global and in-window menu, in keeping with other KDE apps

!77: Don’t keep the settings action highlighted (Felipe Kinoshita)

  • The ‘settings’ entry on the sidebar no longer stays highlighted after exiting settings

!73: Fix colouring of icons meant to be coloured (Claudio Cambra)

  • Icons now have correct colours across Kalendar, instead of just being white regardless of set colour

!72: Bump KF5 requirement to 5.86 (Elias Probst)

  • Compiling Kalendar now requires you to have KFrameworks 5.86, meaning you will not be able to use Kalendar on a system where it will not function properly

!70: Add shortcut to quit action in the in-window menubar (Felipe Kinoshita)

  • Quit action shortcut is now working regardless of the menubar being used (or if a menu bar is being used at all)

Commit e26d93ff: Fixed duration strings (Claudio Cambra)

  • Duration strings for all-day events are now correct (shown in incidence info drawer/sidebar)

Commit 027107a6: Fixed recurrence strings (Claudio Cambra)

  • Recurrence strings for weekly recurrence now appear correctly (shown in incidence info drawer/sidebar)

Coming up next

The week view is coming!

Is there anything you’d like to see added to Kalendar? Get in touch! I’m @clau-cambra:kde.org on Matrix.

New tag management capabilities, usability improvements, and a bunch of fixes — Kalendar devlog 15

Note: Kalendar is still under heavy development. You’re free to poke around and try it out, but it is not yet final software! If you want to contribute to its development, join us in Kalendar’s Matrix room.

This week, we have once again included a big number of little UI changes that should make Kalendar easier to use and prettier to look at than ever.

Building upon our tag work from last week, we have also made tags far more feature complete this week. Let’s take a look!

Introducing tag assignment, improving tag management, and better displaying of tags

!55: Show incidence tags/categories in incidence info drawer (Claudio Cambra)
!59: Add ability to set an incidence’s tags in the incidence editor (Claudio Cambra)
!61: Use Koko’s tags to show incidence tags (Claudio Cambra)
!67: Add a new tag manager UI (Claudio Cambra)

Lots of changes to tags have taken place this week!

First, you can expect to see tags wherever they may be relevant. The incidence information drawer, for instance, now shows an incidence’s tags. The incidence editor now also displays an incidence’s tags, letting you set an incidence’s tags as you please.

The way tags are presented has also been changed. Rather than showing them as normal strings, tags are now presented in a nice ‘tag’ component courtesy of the Koko team. This helps make tags visually distinct from other characteristics of an incidence wherever they are shown, and make them look very pretty too!

Lastly, we are also introducing a tag manager page that lets you modify, delete, and create tags quickly and easily. This tag manager is accessible either through Kalendar’s global/window/hamburger menus or directly though the incidence editor if needed.

Usability improvements galore!

!54: Remember last-opened view (Felipe Kinoshita)
!58: Assign Left/Right arrow key to change the current month (Felipe Kinoshita)
!63: Add scrollview to todo page for better desktop scrolling (Claudio Cambra)
!65: Add configure keyboard shortcuts action to in-window menubar (Felipe Kinoshita)

Good news: if the default view is not your favourite view, you no longer have to switch to your preferred view every time you open Kalendar. This should make it quicker for you to get on with your calendaring needs!

The todo view also now uses a scrollview, which should make scrolling feel far more natural with a mouse while retaining inertia and other touch-focused scroll features when using on mobile.

You can also now use the left and right keyboard keys in order to easily switch between the months in the month and schedule view.

Lastly, you can now expect to use the same keyboard shortcut for setting up your keyboard shortcuts as in other KDE apps, no matter what menu you are using.

Tweaking and improving visuals

!52: Make all title headers’ padding consistent (Felipe Kinoshita)
!62: Tweak spacing and layout in sidebar and todo view (Claudio Cambra)
!64: Improve month grid border drawing method and make width customisable (Claudio Cambra)
!66: Add more top margin between the day indicator and the incidence list (Felipe Kinoshita)

As some of you have pointed out, padding and spacing have been at times inconsistent across Kalendar. This week we have made some efforts to improve consistency on these fronts. All title headers now have consistent padding regardless of the page, drawer, or sidebar on which they appear, making everything look more cohesive. We have also tweaked the spacing and alignment of elements in the sidebar, which makes everything look more cohesive here too.

The sidebar also features some different text sizes and icons to make everything more glanceable and to make the hierarchy of elements more clear.

We have also tweaked the padding between the day headers in the month grid cells and the incidences in order to make each cell feel a little bit less cramped.

Finally, we have also improved the drawing method for month grid cell borders, which can now be customised in Kalendar’s settings.


Bug-fixes, UI tweaks and performance improvements

!56: Fixed displaying of time-related info for todos in todo view (Claudio Cambra)

  • When opening todos in the todo view, the incidence information drawer now displays end times correctly without superfluous hyphen

!57: New TagManager and tag model fixes (Claudio Cambra)

  • Sidebar now displays all tags, eliminating duplicates

!60: Make IncidenceWrapper inherit IncidenceObserver (Claudio Cambra)

  • This helps propagate updates to incidences across Kalendar, meaning that changing an incidence in the incidence editor will automatically update said incidence in an open incidence information drawer

!62: Tweak spacing and layout in sidebar and todo view (Claudio Cambra)

  • Fixed enabling of undo/redo

Commit a7dee26d: Fixed visibility of end date combo when all day checkbox ticked (Claudio Cambra)

  • End date combo box now visible when all day checkbox is checked in the incidence editor

Coming up next

So tags are fully here. Kinda. We still want to make tag filtering work in all views, not just the todo view. And what about that week view? Hmmm… 😉

Is there anything you’d like to see added to Kalendar? Get in touch! I’m @clau-cambra:kde.org on Matrix.

Tag filtering, better navigation and lots of little UI tweaks — Kalendar devlog 14

Note: Kalendar is still under heavy development. You’re free to poke around and try it out, but it is not yet final software! If you want to contribute to its development, join us in Kalendar’s Matrix room.

This week, we have done lots of small tweaks to Kalendar and are introducing a big, new, highly requested feature by many of you.

Added displaying of todo tags and filtering todos by tags in the Todo View

!51: Add tag filtering and displaying capabilities for todos in Kalendar (Claudio Cambra)

Tags! Kalendar now has some tag capabilities for the todo view. Kalendar displays todo tags from calendar services that support tagging, placing them to the right of the todo item in the list view. All synchronised tags are displayed in the sidebar, above calendars, and in the todo view clicking on them will filter todos to those that have the selected tag.

As before, tag filtering can also be filtered by todo calendar. The currently selected tag can be seen at the top right of the todo view page, and the currently selected filtering tag can be removed by clicking the ‘clear’ button to its right.

Tag support as a whole is still a work in progress: Kalendar still does not support assigning tags to a todo or creating new tags. This will be added soon!

Improvements to navigation

!50: Add bottom toolbar on mobile (Felipe Kinoshita)
!48: Give view actions better default shortcuts (Felipe Kinoshita)
!41: Make Menubar toggleable (Felipe Kinoshita)

Kalendar now features a bottom toolbar for changing views in mobile mode. This allows you to more quickly and visible change views in the app!


On the desktop, we have now added fast new shortcuts for switching between different views:

  • CTRL + 1: Month view
  • CTRL + 2: Schedule view
  • CTRL + 3: Todo view

In the month and schedule view, the mouse back and forward buttons (usually on the side of your mouse) now let you go backwards and forwards a month.

Lastly, for those of you who prefer not to have a menu bar and instead like the hamburger, the menu bar is now toggle-able and is replaced by a hamburger when hidden.

Bug-fixes, UI tweaks and performance improvements

!48: Captalize create actions correctly (Felipe Kinoshita)

  • Create actions now capitalised correctly,a s per the KDE HIG

!46: Make the “Calendars” header a bit bigger and remove it’s boldness (Felipe Kinoshita)

  • “Calendars” header now slightly larger and not bold

!45: Placeholder messages and helpful actions for the todo view (Claudio Cambra)

  • Significant optimisations to IncidenceMouseArea component, which should improve performance across Kalendar

!44: Stop using devicePixelRatio (Felipe Kinoshita)

  • DevicePixelRatio now not used after deprecation

!42: Make sidebar aware of the current view (Felipe Kinoshita)

  • Sidebar now aware of current view and highlights list items accordingly

!40: Add missing icons to Global and Window menu (Felipe Kinoshita)

  • Global and window menus now contain all icons

Coming up next

Tag support is here, but not fully. We are going to keep working on this: next up is creating new tags and assigning them to todos.

Is there anything you’d like to see added to Kalendar? Get in touch! I’m @clau-cambra:kde.org on Matrix.