March/April KDE PIM summary blog post

Volker Krause vkrause at kde.org
Mon Apr 25 16:02:43 BST 2022


Hello everyone,

it's time for the bi-monthly blog post again :)

If you have contributed in March or April, a summary of your most
noteworthy changes would be helpful, bonus points for corresponding
screenshots or links to already existing blog posts. If you noticed something
noteworthy during the past two months, feel free to add that as well of
course!

To help refresh your memories and to make sure we aren't missing anything
important, there's two files attached here, an auto-generated detailed
changelog (this tends to be 30-50% of the commits, using David F's changelog
scripts for KF5 releases), and basic commit stats for the PIM repositories.

Secondly, we need help with compiling, editing and eventually publishing the
blog post. Ideally this rotates between a number of people so that everyone
has to do that only once per year or so.

Sandro did the last one (https://blog.sandroknauss.de/kde-pim-Januar-februar-2022/), who wants to do this one?

Thanks for you help!
Volker
-------------- next part --------------
### Akonadi #

* Fix 452949: Revert a string to make it suitable for more apps (bug 452949)
* Set useful desktopFileName for agents
* Cleanup leftovers of no longer used Windows build hacks
* Link tests agains shared akonadiprivate
* Use correct kf<version>
* Apparmor: Also look in /usr/libexec
* Fix some qt6 compile error
* Fix install private includes (qt6 compile fix)


### KContacts

* Addressee: make birthday writable from QML (bug 446665)
* Fix bug 451962:  append Instant Messaging service list (bug 451962)
* Split internal and external API into different files
* Also install the address format API header
* Improve output for incomplete addresses and formats with 3+ fields per line
* Rewrite the address formatter


### KCalendarCore

* Create UIDs if necessary (bug 339726)
* Notify on notebook change for exceptions
* Note use of low-level libical function
* Print more information about errors when loading vCalendars (bug 328976)
* Implement notebook association when parsing iCal data
* Correct a comment
* Fix storing of times with UTC offsets
* Second attempt to make testTodoCompletedOnce work all year
* Revert "Don't use the current date for recurring todo completion test"
* Compare QDateTime times, timespecs, and timezones
* Compare timeSpecs when comparing incidences for equality
* Preserve timeSpec of all-day event's dtEnd


### KHolidays #

* Add QML API for the sun and moon computations
* restore deleted parts from merge
* New function for plasma to generate holidays without astro seasons (bug 445324)
* Correct version since added version
* Report intermediate lunar phases as well
* Spelling of test output corrected
* correct spelling mistake
* format category as column in tests
* rearranged assignment of results to temp variable
* All values of category get read from holiday file
* add tests to testfile
* typos, correct Version when fuction added
* add only overloaded function holidays
* remove debug messages
* rebuild parseHoliday with category
* Category added as parameter
* Add functions for holiday only
* Unreliable print of solstice in holidays
* Remove double entries and correct indian- (bug 441275)
* Shift testfiles form 2010 to 2020


## ksmtp

* Add missing q_required_result
* Check if server support dsn before to force it
* Const'ify variable
* Const'ify + use Q_REQUIRED_RESULT


## kpimtextedit

* Remove not necessary margin
* Make sure to update link color when theme changed
* Fix color when we change theme
* Adapt include for 5.93
* Const'ify pointer
* Const'ify pointer
* const'ify + add missing Q_REQUIRED_RESULT
* Fix replace all in richtextedit editor + remove old comment
* Synchronize normalize code
* Disable DiacriticAct when regularexpression is checked
* Fix support for replaceAll
* Remove unused Q_DECLARE_METATYPE
* Remove unused SEARCH_DIACRITIC_WORD
* Use TextEditFindBarBase::FindFlags directly
* Debug--
* Fix replace all
* Rename variable
* Make checked by default
* Add comment
* Try to replace text
* Use macro
* Show headers in qtc6
* Add option for respecting diacritics


### Akonadi Contacts #

* Allow to update view
* Adapt include for 5.93
* Add placeholder
* Improve search element


### Akonadi Calendar #

* Unify calendar item access utility methods
* Add more reminder notification text variants
* Move IncidenceTreeModel from eventviews here
* Adjust the error messages for failed imports (bug 328976)
* We depend against new version
* Move the reminder daemon from Kalendar here
* Explicitly link against MailTransport where needed


### Akonadi Search

* Add missing Q_REQUIRED_RESULT
* Save respectDiacriticAndAccents
* Port some code to qt6 + use Q_REQUIRED_RESULT
* Add missing Q_REQUIRED_RESULT  + explicit
* Start to implement RespectDiacriticAndAccents or not
* Start to implement RespectDiacriticAndAccents or not
* Remove old migrate code
* It was a very old migrate code
* Add missing Q_REQUIRED_RESULT here too
* Add more Q_REQUIRED_RESULT
* Add normalize string
* const'ify + use Q_REQUIRED_RESULT
* "core" is no longer in the include search path
* Don't install the same headers to multiple locations
* Fix generate includes


## pimcommon

* Make akonadi-search as optional on windows
* Make akonadi search as optional on windows
* Make sure to not building against qt6
* Add missing q_required_result
* Remove unused logactivities class
* Remove the now unused Qt::PrintSupport dependency
* not used now (kpimprintpreviewdialog)
* Fix include here too


## kmailtransport

* Remove MailTransport dependency from MailTransportAkonadi
* Simplify qt5/qt6 build


## libkleo

* Replace multiple ternary expressions with single if-statement
* Simplify and avoid word puzzle
* Refactor double ternary operator
* Replace nested ternary expression with switch statement
* Bump library version
* Make the comment argument optional
* Include <iterator>
* Bump library version
* Add default filter for "good", uncertified OpenPGP keys
* More accessible text representations for not applicable model entries
* Make the model used for the key selection combo a single-column model
* Fix check for resolved signing keys
* Add two more recipient-only test keys/certificates


### KCalUtils #

* Fix Bug 452480: Kmail doesn't display calendar invites (bug 452480)


## messagelib

* Increase gpgme dep
* Export QCH targets after they are created
* Fix color when we change color theme
* Fix background color
* Fix update color when theme changed
* Debug--
* Update color when theme changed
* Add missing KCoreAddons dep and link
* use local variable
* Readd support for showing emoticon
* Add missing Q_REQUIRED_RESULT
* const'ify
* Debug--
* const'ify
* Adapt include for 5.93
* Allow to open files
* Add support for open files
* Update number of emails even if it's maximum value
* Add place holder
* Don't rely on implicit QScopedPointer to bool conversion
* Remove duplicate code
* Fix normalize code
* Improve search
* Explicitly link against MailTransport where needed
* Fix akonadisearch includes



## mailcommon

* Disable for the moment  "FilterActionForward::newAction" as it's not ported to async (bug 451126)
* Update color when theme changed here too
* Update color when theme changed
* Use Q_REQUIRED_RESULT + move method in cpp file
* Adapt include for 5.93
* Don't rely on implicit QScopedPointer to bool conversion


### Calendar Support #

* test failed on windows
* Remove libkdepim prefix
* Remove unused CategoryConfig class
* Remove unused CategoryHierarchyReaderQTreeWidget
* Remove unused and unexported CalendarSupport::CalendarUtils class
* QDrag only needs a parent object, not a widget
* Port to QRegularExpression
* Use KWindowStateSaver for the print preview dialog
* Port QTextBrowser::setSource override method


## eventviews

* Move the use of KMessageBox out of TodoModel
* Have the CI build the example app too (and make it build again)
* Rebase TodoModel on to KExtraColumnsProxyModel
* Use IncidenceTreeModel from akonadi-calendar
* Force the todo completion progress bar to be rendered horizontally
* Remove unused (and now gone) includes
* Port to setFilterRegularExpression
* Fix some compile error against qt6


## incidenceeditor

* Use calendar item access utility methods from akonadi-calendar
* Fix failed merge from Release/22.04
* Simplify KTimeZoneComboBox
* Test initialization and display of todo datetime GUI elements
* Add missing dep
* Fix keyboard focus-change order (bug 331543)
* Fix crash when creating all-day to-dos
* Preserve datetimes of incidences created from templates (bug 332048)
* Test more time zone special cases
* Test start/end validation with timezones
* Synchronize "floating" status of date-times
* New todos and journals do not float by default
* Do not change the timeSpec of system dateTimes
* KTimeZoneComboBox: fix support for floating events


## libksieve

* Add parent
* Adapt include for 5.93
* Use KWindowStateSaver directly


### KPkPass

* Add API to check for the presence of image assets
* Add a method to retrieve the full raw data of a pass again
* Actually install the version header
* Don't require shared-mime-info on Android
* Fix generate config file


### KItinerary

* Extract onepagebooking.com pkpass files as well
* Make the onepagebooking.com email extractor slightly more tolerant
* Resolve Via Rail station codes in post-processing
* Rebuild train station database to include the Via Rail station codes
* Generate train station lookup table for Via Rail station codes
* Make UnalignedNumber<> compatible for use as AlphaId<> storage type
* Don't restrict AlphaId to 16bit storage
* Exclude train stations with P3999/dateOfOfficialClosure set
* Add extractor for alternative booking.com HTML emails
* Adapt test reference data to KPkPass changes
* Make JsonLdDocument::registerType<> static
* Factor out ticket token parsing and use that for program membershipts too
* Also post-process stand-alone program membership elements
* Update eurowings plaintext extractor
* Update eurowings plaintext extractor
* Also indicate against which KCalendarCore version this was built
* Add basic extractor script for Peach Aviation
* Fix extracting Renfe train names from newer PDF tickets
* Properly merge Renfe tickets with and without the commuter option
* Support extracting Renfe pkpass files (bug 451974)
* Make missing Poppler internal headers a fatal error
* Use KContact's address formatter also for producing geo: URIs
* Mark Poppler as required on all platforms, not just on Android
* Use KContact's new address format metadata for postal code parsing
* Use the new KContacts address formatting API properly
* Don't choke on SNCF inoui PDFs with more legs on paper than in the barcode
* Use country subdivision code for determining the timezone as well
* Add extractor for Spring Airlines bookings
* Normalize Unicode compatibility characters as well
* Adapt calendar test reference data to new address formatting rules
* Improve extraction of ÖBB station names
* Extract Air France ticket tokens as well


## akonadi-calendar-tools

* Use calendar item access utility methods from akonadi-calendar
* It doesn't depends against kdelibs4support


## kaddressbook

* Fix url
* Required akonadi-search only on unix*
* Disable akonadi search on window (only use for debugging)
* Set desktop file spec version
* React when theme color changed
* Allow to change theme color
* Add fullscreen support
* Use KWindowStateSaver directly
* Const'ify pointer
* const'ify more pointer
* const'ify pointer
* Fix AkonadiSearch include path


## akregator

* Fix 452822: Please add a way to prevent dialogs/notifications while saving an enclosure (bug 452822)
* Add missing version name
* Fix home page
* Fix url
* Fix home page
* Set desktop file spec version
* Don't show double menu
* Use "coll" variable directly
* Allow to change theme
* Add support for fullscreen
* Synchronize normalize method
* Search Diacritic support


## kalarm

* Fix cppcheck warnings
* Add preferences option to enable/disable Akonadi plugin
* Fix syntax errors
* Move Akonadi dependent email send functions to the Akonadi plugin
* Move Akonadi resource migration to the Akonadi plugin
* Move Akonadi dependent functions to a plugin
* Fix time spin boxes being displayed in the wrong position
* Fix checkboxes being disabled in Preferences dialog
* Remove unnecessary invocation of kmail
* Remove obsolete references to email address in System Settings
* Fix formatting of user error message (2)
* Fix formatting of user error message
* Remove obsolete references to email address in System Settings
* cppunit fixes
* Rationalise use of product ID macros
* Use anonymous namespace; formatting
* KAuth should only be included when wake-from-suspend is enabled
* Add missing KF5Auth link
* Set default resources created on first run as standard calendars
* When a resource is re-enabled, ensure its alarms are displayed
* Adjust #include's
* Allow build without KAuth header files having been installed
* Remove unused code
* Remove unused code
* Use typedef for email IDs
* Remove unused dependency
* We depend against kf5.92
* Use typedef for email IDs
* Convert merged kalarmcal files for use within kalarm repo
* Convert merged kalarmcal files for use within kalarm repo
* Fix cppcheck-suppress comments
* Fix cppcheck warnings
* Allow cppcheck warnings to be suppressed inline
* Suppress cppcheck warnings
* Add copyright notice
* Move all resource migration code into src/resources/migration/
* Fix parameter not being updated
* Applications -> Gear
* Code quality fixes
* Update change log
* Allow build without KAuth (disables wake-from-suspend alarms)
* Add option to not build/install KAuth Helper
* Remove all 'speak' functions if text-to-speech not available at build time
* Code quality fixes
* Fix dependencies
* Convert merged kalarmcal files to kalarm format
* Adjust after kalarmcal merge
* Convert kalarm files to build with merged kalarmcal files
* Convert merged kalarmcal files for use within kalarm repo
* Restructure in preparation for merge from kalarmcal into kalarm
* Explicitly link against MailTransport where needed
* Remove obsolete 'find' path


## kdepim-addons

* Also show PDF417 and Code128 pkpass barcodes
* Use same dep as kleopatra
* Update color when theme changed
* Extract HTML parts based on decoded text, not raw data
* It's an alpha version
* use same lib as kmail/libkleo
* Adapt include for 5.93
* Const'ify variable
* Add clear button
* Remove unused plugins
* We depend against kf5.92
* Disable by default
* Use the new KContacts address formatting API properly
* const'ify pointer
* Remove commented code
* Explicitly link against MailTransport where needed


## kdepim-runtime

* Add desktop file for Kolab resource
* Add desktop file for DAV resource
* Add desktop file for Google resource
* [pop3] Use qint64 instead of ssize_t
* Fix open kmail when we click on button
* Adapt to upcoming MailTransport changes
* Simplify qt5/qt6 build


## kleopatra

* Share generally useful helpers
* Fix display of non compliance after decrypt
* Ensure that the key details are loaded when keys were reloaded
* Unify updating of key after key was changed
* Ask for confirmation before revoking a user ID
* Disable "Revoke User ID" action for last "valid" user ID
* Add the possibility to revoke a user ID
* Connect the signal only once
* Return user ID instead of text of result label
* Allow configuration of minimum and maximum validity for new OpenPGP keys
* Update usage flags even if key type is forced
* Force usage flags if key type is forced
* Change text of error summary and always use error message box
* Use an instruction for the "all inputs are empty" error
* Use the currently shown error messages for the error summary
* Prefix the error messages with "Error: "
* Allow only plain text for label, hint, and error messages
* Mark hint label and error label as related labels
* Ensure that assistive tools use the accessible hint text if available
* Allow alternative error messages for assistive tools
* Set label text and optional accessible name with one setter
* Add an optional hint to the input fields
* Make the labels stand out more
* Put the labels above the input fields
* Visually indicate required input fields
* Make the result label accessible
* Select the text of an HTML label when it gets keyboard focus
* Add helper to give labels keyboard focus if an assistive tool is active
* Omit the colon in the accessible name of the input fields
* Mark name and/or email as required if requested
* Allow marking a form input as required
* Override default accessible description of name input
* Allow setting an accessible description for a form input
* Improve tooltips and error messages
* Require GpgME version 1.16.0
* Add UI markers and fix capitalization of button texts
* Change text of button to add a new user ID
* Unify spelling of "user ID"
* Impose less strict restrictions on the name component of a new user id
* Use modern quick-adduid instead of "adduid" edit-key command
* Do not let the validators be fooled by leading or trailing whitespace
* Add input validation to the Add User ID dialog
* Add class wrapping a text input used in a form-like dialog
* Share duplicated accessibility-related local helpers
* GnuPG wants at least 5 characters for the name
* Optionally make the validators accept empty values
* Port validators to QRegularExpression
* Simplify the Add User ID dialog
* Remove the simple Add Email dialog
* Prevent empty lines in the revocation comment
* Do not show success message if operation was canceled
* Allow revocation of own OpenPGP keys
* Insert all selected certificates/groups back-to-back
* Drop boost dependency
* Use the key filter to check for an uncertified OpenPGP key
* Use the key cache instead of running our own keylist job
* Show "good" but not certified keys instead of any not valid keys
* Do not remove recipient widgets when they become empty
* Refactor: Use a single flag for keeping track of editing
* Fix passing focus to next recipient widget if removed had focus
* Prefix error messages with "Error: "
* Make error state and message of certificate input field more accessible
* Disable the Encrypt button if required information is missing
* Make the error concerning a recipient input field more prominent
* Treat whitespace-only text as empty
* Perform key lookup only if there is no matching key or group
* Use locateKeysJob instead of keyForMailboxJob for locating key
* Focus first unresolved recipient if validation fails
* Filter certificate list with name/email of current key/group
* Ensure correct tab order of the subwidgets of the tab widget
* Do not crash if certificate selection dialog is opened a second time
* Give default tab of certificate list a non-empty title
* Improve accessible names of dialog buttons
* Fix wrong text if multi selection is allowed
* Fix setting accessible name of recipient key input field
* Simplify the action of the recipient key input field
* Make showing details of matching certificate/group accessible
* Filter certificate list with current text of input field
* Make "Show certificate list" action accessible
* Set accessible name for recipient key input field
* Pimpl CertificateLineEdit
* Set key/group summary if we have a key/group on editing finished
* Ensure update of line action on text changed after editing finished
* Make the model used for auto completion a single-column model
* Force visual focus of button with input focus when window is shown


## kmail

* Add 5 minutes here
* Fix i18n
* Fix url
* Fix homepage
* Update gpgme dep
* Set desktop file spec version
* Don't add menu when it's embedded in kontact as kontact as already this
* Update color when we change theme
* Use KColorSchemeManager
* Adapt include for 5.93
* Fix show fullscreen action
* Add support for fullscreen
* Create dialog on stack directly
* Remove unused log
* Use std::chrono_literals
* Don't rely on implicit QScopedPointer to bool conversion
* Fix search string
* Fix dnd on subject lineedit. When it's an url we don't want to
* Add own subjectlineeditwithautocorrection
* Simplify link lib
* Explicitly link against MailTransport where needed
* Fix akonadisearch include path (fix helping to build against qt6


## knotes

* Use K_PLUGIN_CLASS_WITH_JSON directly
* Fix url
* Set desktop file spec version
* Fix version name
* Update color when theme changed
* Fix respectDiacriticAndAccents settings
* Use KWindowStateSaver
* Fix api (it's a icon here)
* Improve search
* Fix includes path


## kontact

* Set desktop file spec version
* Allow to change theme
* Add support for fullscreen


### KOrganizer #

* Use calendar item access utility methods from akonadi-calendar
* Fix url
* Set desktop file spec version
* Trigger the reminder daemon fallback start code also in Kontact
* update copyright
* Allow to change color theme
* Today button moves Month view to today's month (bug 333066)
* Fix mem leak
* Adapt include for 5.93
* Save the agenda and month views' "icons to use" settings (bug 449473)
* Save the agenda and month views' "icons to use" settings (bug 449473)
* Drop superfluous KF5DBusAddons dependency
* Remove now unused Phonon dependency
* Remove korgac and use the new shared reminder daemon instead


## pim-sieve-editor

* Set desktop file spec version
* Fix react when color scheme changed
* Add KColorSchemeManager
* It's an alpha version
* Add missing KCoreAddons dep and link
* Add full screen support
* Simplify qt5/qt6 build


## Kalendar

* Use calendar item access utility methods from akonadi-calendar
* Use ResizerSeparator in incidence info drawer
* Created ResizerSeparator component, resizer separators now indicate interactivity, used in hourly views
* Install locally downloaded translations
* Use "all" here
* Add support for 'Windows'
* Compile without deprecated method
* Use IncidenceTreeModel from akonadi-calendar
* Fix tasks view highlight colours
* Ensure Kirigami Theme colourset pulls from properties in AbstractTreeItem
* Fix bad property access
* Parity between kirigami abstractlistitem and our treeview abstracttreeitem, fix highlight of list items
* Ensure delete dialog properly wraps label
* Remove unnecessary key press handlers
* Fix 'next week' button in the week's view
* Ensure incidence summary text in incidence info drawer is properly escaped
* Make build with unity support
* Drop superfluous dependencies
* Stop adding reminders to todos by default, since by default they get no start/end times
* Remove extra ";"
* Fix some compile error with cmake unity support
* QtLocation is not usefull
* Fix some compile error against qt6
* It's defined by default in ECM
* Use Q_SIGNALS/Q_SLOTS as for others files
* We depend against akonadi <version> other pim * must be increase
* Use new ecm_set_disabled_deprecation_versions
* Remove reminder daemon after move to akonadi-calendar
* Add default reminder 15 minutes before incidences
* Fix akonadi includes
* Add Messages.sh for the reminder daemon
* Add loading indicators to calendar sources in the sidebar


-------------- next part --------------
      1 Ahmad Samir_a.samirh78 at gmail.com
      1 Albert Astals Cid_aacid at kde.org
      1 Allen Winter_winter at kde.org
      1 Antonio Rojas_arojas at archlinux.org
      1 Christophe Giboudeaux_christophe at krop.fr
      1 Kevin Kofler_kevin.kofler at chello.at
      1 Martin Liska_mliska at suse.cz
      1 Sandro Knauß_sknauss at kde.org
      1 Slawek Kaplonski_slawek at kaplonski.pl
      1 Snehit Sah_snehitsah at protonmail.com
      1 Yuri Chornoivan_yurchor at ukr.net
      2 Adriaan de Groot_groot at kde.org
      2 Andre Heinecke_aheinecke at gnupg.org
      2 Damien Caliste_dcaliste at free.fr
      2 David Faure_faure at kde.org
      2 Jan Hambrecht_jaham at gmx.net
      2 Nicolás Alvarez_nicolas.alvarez at gmail.com
      3 Andreas Sturmlechner_asturm at gentoo.org
      9 Glen Ditchfield_gjditchfield at acm.org
     12 Claudio Cambra_claudio.cambra at gmail.com
     13 Glen Ditchfield_GJDitchfield at acm.org
     21 Alois Spitzbart_spitz234 at hotmail.com
     21 Nicolas Fella_nicolas.fella at gmx.de
     36 Heiko Becker_heiko.becker at kde.org
     52 David Jarvie_djarvie at kde.org
     87 Volker Krause_vkrause at kde.org
    127 Ingo Klöcker_dev at ingo-kloecker.de
    919 Laurent Montel_montel at kde.org
Committer: 28
Total: 1323
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20220425/abb6b8fd/attachment.sig>


More information about the kde-pim mailing list