Checking events and ticking todos on your Pinephone — Kalendar devlog 12

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 added a host of improvements to Kalendar that should make using it on a touchscreen a significantly nicer experience. To demonstrate, we are going to show Kalendar running on the Pinephone!

We also have a number of usability improvements on the desktop, additions to the todo view, and some performance improvements. Here we go!

Improving usability of touchscreens

!27: Mobile touch fixes and improvements (Claudio Cambra)
!29: Turn month view into a PathView (Claudio Cambra)

After briefly trying out Kalendar on the Pinephone over the course of the week, we found the experience finicky. This week, then, we have a couple of fixes. I’ll let this video do most of the talking:

A significant improvement to the interaction areas for incidences should improve navigation on a touch screen.

A bigger change is the implementation of the Month View as a PathView. Put simply, this lets us put several month grids on a path that you can swipe through. This has two effects: you can swipe through months on a touchscreen in a pretty intuitive manner, and on the desktop you also get nice animations!

Improving our use of space on the desktop

!25: Add simple global menu (Carl Schwan)
!31: Add sidebar to Kalendar (Felipe Kinoshita)

If you use Plasma’s global menu, you’ll be pleased to hear that we have added support for it this week! You will now be able to use a slickly-integrated menu for all your needs while using Kalendar. This menu has all the typical actions you will frequently use: adding new events/todos, undo/redo, etc.

We have also included a new left sidebar that will make navigation and interaction significantly easier, especially on the desktop. This sidebar gives you actions to quickly access each of Kalendar’s views and to filter your calendars, making use of the ample space on your desktop screen to make things more accessible. Its behaviour also changes depending on the view you are currently in: in the month and schedule views, it presents you with all your calendars and lets you enable/disable them; in the todo view, you are simply presented with your todo calendars which you can not only enable/disable, but also click on to access only the todos in said calendar.

Making todos faster and more powerful

!21: Add a specialised todo view to Kalendar (Claudio Cambra)
!24: Add more and better ways to add todos (and subtodos) (Claudio Cambra)

Last week we added a new todo view that let you easily and quickly access your todos. This week we have added some new features that will make this view even more useful.

For one, you can now add sub-todos in a variety of different ways. First, you can do this through the incidence information drawer, which shows a convenient ‘Add sub-todo’ button now when viewing a todo. Additionally, you can also right-click (or hold tap) on a todo and then select ‘Add sub-todo’ from the popup menu.

There is also now a quick-add todo text field. This lets you just write in the name of your new todo and add it instantly to the todo calendar of your choice, saving you time and effort! When viewing all your todos, you will be prompted for the todo calendar you’d like to add your todo to; when you’re already looking at a particular todo calendar, it will just get added to this one.

Lastly, we have also introduced a new search bar that lets you quickly search through all of your todos to find the right one.

Bug-fixes and performance improvements

!21: Add a specialised todo view to Kalendar (Claudio Cambra)

  • Incidence info drawer button now longer overlaps with actions in toolbar (Claudio Cambra)

!Simplify and moderately accelerate IncidenceOccurrenceModel’s updateFromSource()

  • Kalendar is now slightly faster at loading incidences

Coming up next

Now that the month view is swipeable, we want to give the schedule view the same treatment and make it a much nicer experience on mobile. We have also received numerous requests for tag support in the todo view, and we will be working on that too. There are more things in wait too 😉

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

Say hello to your new todo app! – Kalendar week 11 (GSoC 2021)

Note: Kalendar is still under heavy development. You’re free to poke around and try it out, but it is not yet final software!

This week, we have something new to show you: Kalendar is getting ready to become your new todo app!

The work you will see is not yet finished — there are a lot of visual tweaks that will happen soon and it is still missing some important capabilities. However, we are happy to show you what will become the base for the productivity-focused section of KDE’s new calendar application.

Also new this week are several bug fixes that address important issues, making Kalendar more stable and usable.

The new todo view

!21: Add a specialised todo view to Kalendar

While Kalendar has previously allowed you to view todos, this came with some caveats: they had to have a set date, you couldn’t complete them with one click, and you couldn’t see which todos were subtodos of other todos.

The new todo view is designed to make viewing all of your todos simple and fast. Upon opening the view you will be able to see all of your uncompleted todos with some of their relevant details, including their due dates (if set) and their priority levels (if set). Overdue todos will have their dates marked in red. The circular checkboxes next to each task match the colour of the todo’s parent calendar.

The todo view is centered around a Kirigami TreeListView, which lets you expand and contract todos to view or hide subtodos. You can interact with these subtodos in the same way you can with top-level todos. Clicking on any todo will open the information drawer, universal throughout Kalendar, letting you interact with a todo just like you would interact with an event in the month view.

The todo view also has a sidebar. This sidebar shows a list of all your todo calendars, both local and from your online accounts. You can select or deselect the calendars you’d like included in your ‘All todos’ view by clicking on the calendar’s checkbox. Clicking on the calendar item itself presents you with a filtered view of your todos, displaying only the todos contained in that specific calendar.

Your todo views can also be sorted according to your todo’s due dates, priorities, or names. A button next to the calendar title lets you change whether this should be in ascending or descending order.

While your incomplete todos are visible in the main view, your completed todos are saved in a drawer. Clicking on the ‘Show complete’ button opens this drawer with all your completed todos. This drawer’s todos are sorted and filtered in exactly the same way as the main todo view.

We hope you like our new todo view and that you will find it useful!

Bug-fixes

This week, we have fixed a pair of pretty annoying bugs:

Commit 35b992c5: Fixed all day event or todo handling in incidence editor when editing

  • Editing all-day events in the incidence editor now works as it should, with the ehckbox correctly reflecting the incidence’s state

!19: Unify date and time combos and fix their editing issues

  • Refactored code for date and time editable combo boxes in incidence editor, eliminating bugs and making behaviour more in line with user expectations

Coming up next

Our todo view needs some tweaking and especially needs to incorporate the ability to add sub-todos. We are also exploring the ability to view todos as a kanban board, which should make Kalendar even more suitable for productivity purposes! Besides this, we want to get started with making Kalendar more friendly for first-time users, with some onboarding and handling of the creation of basic a basic local calendar. Expect some more visual tweaks over the coming days too!

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

Big fixes, more customisation, many improvements — Kalendar week 10 (GSoC 2021)

Over the past week, work has focused on three things: stability, tweaks, and options. Once again, all of your feedback has been valuable and it has driven many of the additions and changes you all have asked about over the past few weeks.

There’s a lot to get through, so let’s get started!

Making maps even more useful

!15: Add opt-in location maps to Kalendar
!16: Also consider existing geo coordinates for positioning the map

Last week we showed off our new maps in the incidence information sidebar/drawer, showing the location of an event or todo. This week we added a couple of extra location-related features.

Clicking on the location text for an incidence now copies this text to your clipboard, letting you quickly paste this location into your desired mapping application. Clicking on the map itself now opens OpenStreetMaps at the incidence’s set location, for extra convenience. You can still click and drag the map to see stuff as usual, but a quick click will open OSM.

Furthermore, the event and todo editors now also have a map you can use to set an event or todo’s location. All you have to do is click on where you’d like to set this incidence and the relevant location text will be set.

While setting a location manually, you’ll also now get location suggestions automatically, making it quicker for you to fill in this field!

Volker Krause also kindly submitted a merge request adding support in Kalendar for Akonadi incidences that have their locations set as coordinates. This should enable compatibility with certain applications and plugins such as KMail’s Itinerary plugin.

Visual tweaks and improvements

!17: Collection of fixes for bugs and visual tweaks throughout Kalendar

We have changed the colouration of the incidence lines to now be even prettier than before. Whereas incidences were previously coloured as a solid colour, with black or white text, incidences now have slightly transparent backgrounds with matching coloured text. We have taken care to make sure there is still enough contrast to make text readable, tweaking and refining our colours and slightly thickening incidence texts so that they remain readable. We have also tweaked the colours depending on whether your system is set to light or dark mode for the best contrast and the coolest aesthetic possible. 😉

To further differentiate between incidences in the currently-viewed month and incidences in previous/future months, we have also changed these incidences to only show their text and no background.

When clicking on an incidence, it will be highlighted. Its background will become solid and the text will return to being black or white depending on what will provide more contrast. This way, you will know exactly what event or todo you are looking at in your views.

We have also added some padding to incidences on all sides, which should help make the view feel slightly more spacious and less cramped.

Customisation

!18: Add customisation options to Kalendar

Kalendar now also lets you customise much of its appearance. A major new feature is the ability to customise your calendars’ colours. A new colorpicker can be found in Kalendar’s settings (Settings -> Calendars -> Change calendar colour), letting you select any colour you want. The calendar settings now also let you see what colour each of your calendars is set to have.

Some of the month view’s aesthetics can now be changed. The week numbers previously seen to the left of the month grid can now be enabled and disabled. The weekday labels can now also be customised, both in alignment and in format.

Month view with no week numbers, centre-aligned and abbreviated weekday labels

Similar options can be found for the schedule view, which now lets you enable and disable the top month header as well as the weekly section headers.

Finally, you can now also set what sort of marker you’d like to see for the set locations of Kalendar’s maps. Your choices are either a pin, which shows a place’s exact location, or a circle, which shows the location’s overall area.

Bug-fixes

This week, we have fixed many bugs, both the annoying and the disastrous kind.

!17: Collection of fixes for bugs and visual tweaks throughout Kalendar

  • Dates are now all aligned correctly in the month grid view no matter what timezone you are in. This was caused by a bad conversion from a C++ QDate object to a QML date object.
  • Rewrote the layoutLines function that handled laying out all incidence’s lines in the month view. Now it is faster and less bug-prone. No longer will some incidences cover up others.
  • Incidences now no longer sometimes leave an empty line when there are all-day events in the month grid view. Now, all incidences go top to bottom, as you’d expect.
  • Fixed horizontal scrollbars appearing on each of the month grid’s rows.

!18: Add customisation options to Kalendar

  • Calendar colours are now correctly pulled from the Akonadi backend, meaning calendar services that support synchronisation of your calendar colours will now have matching colours. Kalendar will now also try to pull user-set calendar colours from KOrganiser if these exist.
  • Fixed clipping issues in the month view, affecting weekday labels and the ‘Today’ text on the current day of the grid.
  • Fixed ‘Calendar sources’ page of settings not working properly on mobile.

These fixes should go a long way to letting more of you test Kalendar!

Coming up next

We’re getting close to a usable product here! We do want to add a couple of new views (todo and week views, mainly) and to also iron out remaining issues.

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