First of all: happy birthday to KDE! If you hadn’t heard, KDE is now 25 years old (which means that KDE is 3 years older than I am — oof). I first started using KDE (3) on Mandrake after, out of the blue, my dad decided to nuke our family computer’s Windows 95 installation. I was 3 at the time, and very angry at the fact that I would no longer be able to play Monster Truck Madness. Now, here we are, almost 20 years later!
Without the efforts of the KDE community and its amazing software, Kalendar wouldn’t exist. We depend on so many different things — Kirigami, Akonadi, the KFrameworks, and more — that without two and a half decades of prior efforts from other community members, this application just wouldn’t exist. So, from myself and from everyone who has been involved in creating Kalendar — thanks!!
Back to Kalendar. Last Sunday, we submitted Kalendar for KDE Review… and we received our first review! That has meant fixing bugs, improving UI stuff, and more. Seriously — scroll to the bugfix section and check it out. As always, though, we have some new features to show off too.
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.
Our progress on KDE review
Last Sunday, we received our first round of feedback for KDE Review (thanks Albert!) and have spent this week addressing the issues brought up there. These were mainly technical, but we also had some useful UI feedback which we have taken on board and addressed (and are included in this update post).
You can follow the KDE Review process for Kalendar on the mailing list, or keep tuning in to the weekly updates, where we will let you know how things are going.
Tweaks to Kalendar’s logo
Every week we tweak and adjust the UI to make sure it is as good as it can be. The same goes for our logo 😉
After revealing our new logo last week, we had some feedback that the large number of small squares would be difficult to distinguish as a small icon. We therefore have tweaked the logo to have just four, larger squares rather than the 6 it previously had, which should make them much easier to distinguish at the small size of an icon.
We are now on apps.kde.org and plasma-mobile.org!
Improved support for mirrored layouts
!117: Layout mirroring support for menubar (Carl Schwan)
Kalendar should now adapt better to languages and locales where the layouts are right-to-left thanks to some changes in how the the relevant components assign actions to action slots. This should make Kalendar’s layout more logical when using it in right-to-left mode!
Resizeable incidence information drawer!
!86: Make it possible to resize the right drawer (Carl Schwan)
Since we first introduced the incidence information drawer, we thought it would be nice to make it resizeable on the desktop and to let the user decide how much space it should take up. Well, we now have this feature, and it works pretty dang well!
The set size of the incidence information drawer is remembered so it will remain consistent once it is set by you, no matter which incidence you open or how many times you have closed Kalendar.
Improved date picker
!119: Rewrite date picker and unify infinite calendar view models (Claudio Cambra)
We have completely rewritten the date picker. Why? Well, to improve it!
Our previous iteration was buggy and difficult to use on mobile, owing to the fact that you had to interact with tiny buttons up in the picker’s header. Now, the datepicker is bug-free, and you can interact with it as you would expect to interact with any of Kalendar’s other calendar views.
The month, year, and decade views are all infinitely swipeable, letting you select any date you would like by simply swiping to it and tapping it. You can also easily return to the current day by tapping the ‘Today’ button. We have made sure to retain the same design as Plasma’s Calendar widget, which should make this picker feel very familiar.
We have also submitted a merge request to include this date picker in the Kirigami Addons package, which hopefully means that it will be easily usable by other KDE app developers in the near future!
Easy deselection of incidences by clicking on empty space
!121: Deselect incidence upon clicking on empty space (Claudio Cambra)
You can now easily deselect an incidence (and, by extension, close the incidence information drawer) on the desktop by clicking on empty space within your current calendar view. This makes Kalendar behave more as you would expect it to, and help you easily dismiss the drawer when you don’t want it to be there.
Bug-fixes and other changes
Pretty sure this is one of our longest bug-fix sections yet…
- The gigantic commit message explains exactly what was fixed: if you went to click ‘edit’ in the incidence information drawer after selecting a task in the tasks view, it wouldn’t let you save the changes to the task. Now fixed.
Commit 4fe0bd89: Full reuse compliance (Carl Schwan)
- Kalendar now has full REUSE compliance and we added a bunch of legal-related files and headers.
Commit 5bf9ce59: Fix sort read (Claudio Cambra)
Commit 1ccf7700: Fix sorting in tasks view and ensure that when sorting by values, null values are always at bottom (Claudio Cambra)
Commit c6bdd120: More sort fixes (Claudio Cambra)
- Fixed numerous issues with sorting in the tasks view. Sorting should now behave as expected: null values are always at the bottom, with non-null values being sorted in the expected order above them.
- Sort options are now correctly saved and restored after closing the application.
- Kalendar now properly sets KLocalizedString domain, needed to have any translations at all (!!)
- Opening an incidence no longer outputs a console error about i18n arguments
- Various parts of Kalendar now use i18n based standaloneMonthName month-year strings to avoid risk of ‘of Month’ strings in certain languages (e.g. of November 2019 in the page title)
- Improved efficiency of AttendeeStatusModel constructor, which should improve performance a little (though admittedly not a huge amount)
Commit aaadf2af: Fixed property warnings (Claudio Cambra)
- Compiling Kalendar should no longer result in several warnings regarding Q_PROPERTY properties of a number of classes
Commit 9602d477: Remove not needed kpackage dependency (Carl Schwan)
- Removed an unneeded dependency, reducing the number of required packages to install for Kalendar
Commit a0672920: Fix deletion of attachments from incidence editor (Claudio Cambra)
- Deleting attachments now works again
Commit 1a198c46: Todo page now loads correctly when opening Kalendar (Claudio Cambra)
- The todo page now loads correctly when opening Kalendar, instead of getting stuck in a half-loaded state and without correct sorting.
- Additionally, adding a new task should make it appear in the correct place according to the current sorting.
- Fixed a bunch of QML errors regarding undefined/null variables
Commit ac6fbac2: Links in incidence info now have pointy hand cursor (Claudio Cambra)
- Hovering above a link — whether it is a location website, an attendee’s email, or something else — should now change your cursor into a pointing hand cursor, as you would expect
Commit 9ebc2bc6: Make IncidenceEditor’s description text area wrap it’s text (Felipe Kinoshita)
- The incidence editor’s description text area no longer expands in width before wrapping its contained text
!120: Add vendored TreeView components (Claudio Cambra)
- This is an important change: you no longer need to have Kirigami Addons installed in order to run Kalendar. This has been necessary for passing KDE Review as Kirigami Addons is still technically an unstable project, and something we cannot depend on until it is considered stable. This should make it a lot easier for you to test and run Kalendar on your own system.
Commit 2547d957: Remove minor build warning (Carl Schwan)
- This eliminates yet another compilation warning.
- This eliminates a regression caused by MR 121 which prevented you from clicking on certain parts of the task view’s tree list.
Commit edfcf7a5: Fix QML warning in task view (Carl Schwan)
- Fix warnings caused by grid layout used by incidence delegates in the tasks tree view
Commit 149b594c: Fixed leak in AttendeeStatusModel constructor (Claudio Cambra)
- Fixed Valgrind issue caused by AttendeeStatusModel constructor
Coming up next
Is there anything you’d like to see added to Kalendar? Get in touch! I’m @clau-cambra:kde.org on Matrix.