September/October KDE PIM summary blog post

Volker Krause vkrause at kde.org
Wed Oct 26 16:19:50 BST 2022


Hello everyone,

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

If you have contributed in September or October, 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.

The last one was edited by Clau (https://claudiocambra.com/2022/09/15/kde-pim-in-july-and-august/), IIRC Kévin you did already volunteer for this one?

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

* Don't narrow qsizetype to int
* Fix Windows Qt6 build
* l10n improves: Revision and add more semantic markup
* Install resource & serializer project templates again
* Remove CTestCustom.cmake references from CMakeLists.txt
* Remove CTestCustom.cmake too
* Remove CTestConfig.cmake, the repo isn't using my.cdash.org
* Fix Bug 458202: Search for messages in kmail does not work anymore... no results at all (bug 458245)


### KContacts

* Make QtQuick trully optional


### KCalendarCore

* .gitlab-ci.yml: enable static builds
* Use dtStart as the default for dtRecurrence
* Ensure that status values are valid


### KHolidays #

* Fix the translation folder name
* Show headers in qtc6
* Add Japanese substitute holiday in 2023
* .gitlab-ci.yml: enable static builds
* Turn HolidaysRegionsModel into a table model


### Syndication

* .gitlab-ci.yml: enable static builds


### KMime #

* Add Qt 6 Linux CI
* Remove requirement for Qt 6.4
* Fix bug 378985: KMail 5.4.3: Save all attachements -> no attachments found (bug 378985)
* Account for already inserted FWS
* Adjust code style
* Fix MIME headers from exceeding permitted line length
* Add tests for KMime::foldHeader()
* Add KMime::foldHeader()




### KDAV

* Show all headers in qtc6


### KLDAP #

* Use CamelCase include


## kpimtextedit

* Convert to uppercase
* Adapt build against qt6
* Fix dialog size
* Delay close widget. Otherwise it's hard to configure settings
* Not necessary to use Q_SLOTS here


### Akonadi Mime #

* Force 32bit values for size serialization


### Akonadi Contacts #

* Use camel case includes
* Clear the CI failure from the metrics dashboard
* Use ci-suse-qt64
* Fix ignoring changes
* Fix ignoring changes
* Use namespace for group name


### Akonadi Calendar #

* l10n improves: Revision and add more semantic markup


### Akonadi Notes #

* Clear the CI failure from the metrics dashboard
* Use ci-suse-qt64:latest


### Akonadi Search

* Clear the CI failure from the metrics dashboard
* Use 64



## kidentitymanagement

* Use CamelCase include
* Add more properties to identity
* Resort operator << and >>
* We depend against kf5.98


## pimcommon

* Move code to AutoCorrectionSettings
* install new headers
* Move code in autocorrectionsettings
* Prepare to separate setting from autocorrection methods
* Add utils class
* debug--
* Add static method for detecting if engine has configure dialog
* Use QString.arg(..,..)
* includes--
* Improve translator support
* Fix use correct translator
* const'ify pointer
* Move comment
* Add qCWarning
* remove QWidget pointer here
* Use static regularexpression
* Const'ify variable
* Use camel case includes
* Fix show all engine
* Make sure to not add duplicate action
* Debug--
* Fix warning when create shared text menu
* USe static variable
* Fix static variables
* Move static variables as private
* Store data in static variable
* Remove not necessary savesettings method
* Prepare LibreTranslate settings widget
* Prepare to configure specific engine settings
* comment--
* Get result
* Add qcdebug
* const'ify pointer
* Continue to implement engine
* Add todo
* Load url settings
* Load settings
* Remove namespace
* Fix load settings
* Fix load/save settings
* Prepare to save/load all settings
* Reduce duplicate code
* Move save settings
* Move engine setting code in TranslatorUtil::loadEngineSettings
* We need specific settings
* Add support for api key
* Start to add deepltranslator
* Move settings in translatorutil
* Add debug
* Move method in translatorutil
* Continue to implement it
* continue to implement translator support
* const'ify pointer + remove slots when not necessary
* Add libretranslatetranslator
* Move switch code to translatorutil
* Add lingva engine support
* Prepare to add lingva engine support
* Add more debug
* Add bing engine support
* const'ify pointer
* Add warnings
* fix load/save dialog size


### LibKGAPI

* include link to google hangout as custom prop


## kmailtransport

* Add TODO for last usage of KWallet directly
* Cleanup unused code for KWallet
* Not start transportjobs before password is loaded
* Store password via QtKeychain (bug 441214)
* Cleanup completed
* Cleanout failing job
* Use CamelCase include
* Make it compile without deprecated methods
* Use ci-suse-qt64:latest


## libkleo

* Bump library version
* Return "unknown" as expiration date or compliance of remote keys
* Add helper for checking whether a key is a remote key
* Disable warnings about different signedness of pointer targets
* Use the same text for display and accessibility tools


### GrantleeTheme #

* Remove min version from KTextTemplate
* Make sure to not removing null action





## messagelib

* Port to QRegularExpression
* Remove horrible #define private public hack
* Port to QStringConverter
* Port shortcut
* Port some code to QRegularExpression
* Use using namespace..
* Port away QDesktopWidget
* it seems not necessary now
* Initialize variable in headers
* fix previous commit => add missing headers in qtc6
* Revert "Fill userID in case of no matching key."
* add libkleo to link dependecies
* Make it possible to use crypto ContactPreference outside MessageComposer
* Make nearExpiryChecker a method of ComposerViewBase
* Autocrypt does not force to always encrypt
* Fill userID in case of no matching key
* Use keycache instead of keylistjob
* Use for loop instead of iterate via index
* send also for know issues a nearexpiry message
* Do not rely on existance of Message-ID header
* Remove workaround from gpgme 0.3.x
* We depend against kf5.98
* Add more Q_REQUIRED_RESULT + const'ify pointer
* Close dialog when we close on "X" in developper page
* Add title dialog
* const'ify pointer
* Disable double click support


## mailimporter

* Cleanup completed
* Cleanout failing job
* Use ci-suse-qt64:latest


## mailcommon

* USe namespace for groupname


### Calendar Support #

* We depend against kf5.98
* Remove the now unused category color API



## eventviews

* We depend against kf5.98
* Handle completion of todos in distant time zones


## incidenceeditor

* Use CamelCase include
* Make compile without deprecated methods
* Port to no deprecated methods
* Use namespace for dialog name
* Remove unused includs
* Fix dialog size
* We depend against kf5.98


## libksieve

* Make compile against qt6.4
* USe namespace for group name
* We depend against kf5.98


### KPkPass

* Remove the unecessary Qt 6.4 requirement here


### KItinerary

* Add Qt 6 FreeBSD CI
* Support FCB tickets when determining PNR or ticket name for UIC 918.3
* Support FCB tickets when determining UIC 918.3 validity ranges
* Implement decoding of validity times for IRT/NRT/RPT type FCB tickets
* Decode and use the issuing time from ERA FCB tickets
* Extract class code from ERA FCB data
* Extract traveler name from ERA FCB data if present
* Determine the issuer id also for UIC 918.3 tickets without an U_HEAD block
* Return empty value for non-existing UIC 918.3 blocks
* Handle U_FLEX blocks in UIC 918.3 ticket containers
* Add proper error handling for uPER decoding
* Implement decoding of uPER sequences of UTF-8 strings
* Implement decoding uPER octet string elements
* Add Italo train ticket extractor script
* Implement decoding uPER unconstrained integer sequences
* Implement decoding uPER CHOICE elements
* Implement decoding uPER IA5String sequences
* Encode ASN.1 enum extension markers with the enum declaration
* Expand FCB definitions to the point all existing samples parse correctly
* Dump primitive types in lists correctly as well
* Automatically generate code for decoding uPER sequence headers
* Automatically determine the size of the uPER optional bitmaps
* Turn BitVector into a non-owning view
* Automatically determine bitmap indexes for optional uPER elements
* Use macros to reduce FCB decoding boilerplate code
* Properly merge attached documents
* Use the new uPER element macros and expand ERA FCB type definitions
* Add basic uPER element macros
* Implement uPER decoding of unconstrained integers and enums
* Also dump U_FLEX blocks in UIC 918.3 tickets
* Make dumpGadget recursive
* Add initial ERA Flexible Content Barcode (FCB) structures
* Implement uPER decoding of bools, IA5Strings and bitmaps
* Add beginning of an ASN.1 uPER decoder
* Add BitVector for handling data that isn't byte-aligned
* Better folder name for the ASN.1 related code
* Handle the Polish language variant of FlixBus tickets
* Add extractor script for Ouigo Spain PDF tickets
* Handle RCT2 Rail Pass Tickets (RPT)
* Add barcode extractor for Ouigo Spain
* Add extractor script for PKP domestic ticket barcodes
* Work around PKP 0-sized ticket layout fields when computing layout size
* Unbreak CI, not all platforms have Qt 6.4 yet
* Handle German language variants of Vueling boarding passes as well
* Extract arrival/departure times from Vueling boarding passes
* Work around ERA SSB departure times being somewhat unreliable for Thalys
* Support German language variants of Thalys PDF tickets as well
* Support the German language variant of the SNCF PDF tickets
* Extract SNCF ticket numbers
* Work around ERA SSB departure times being somewhat unreliable for Thalys
* Support German language variants of Thalys PDF tickets as well
* Support the German language variant of the SNCF PDF tickets
* Also handle German language variants of Inoui seat reservations
* Handle German language variants of SNCF Inoui tickets
* Be more tolerant when comparing locality names
* Allow to not build development tools
* Deal with JSON data containing XML entities
* Read text input files in text mode
* Factor out JSON diff test helper and make it show something on Windows
* Consider transliteration when comparing person names
* Move transliteration method to StringUtil
* Relax Ryanair boarding pass time search a bit
* Fix no-ZXing test reference data being out of data with recent changes
* Ignore broken Amadeus PDF document times
* Add accessor for the PDF document producer
* Prefer explicit boarding time fields over relevantTime
* Consider transliteration when comparing person names
* Move transliteration method to StringUtil
* Relax Ryanair boarding pass time search a bit
* Abort test earlier if there's no ZXing
* Fix no-ZXing test reference data being out of data with recent changes
* Ignore broken Amadeus PDF document times
* Add accessor for the PDF document producer
* Prefer explicit boarding time fields over relevantTime
* Add Eventim pkpass extractor script
* Support SNCF regional tickets from Normandie (bug 451409)
* Add extractor script for BlaBlaCar Bus
* Allow ticketedSeat for bus extractors
* Add extractor script for BlaBlaCar Bus
* Support another (newer?) format variation of Amtrak PDF tickets (bug 458514)
* Add Vistara boarding pass extractor script
* Handle more variants of the "Tx" terminal notation


## ktnef

* Cleanup completed now
* Clean out old failing job
* Use ci-suse-qt64:latest


## akonadi-import-wizard

* It's already defined in KAboutData



## akonadiconsole

* Const'ify pointer
* Const'ify variable
* const'ify pointer/variable
* Show all headers in qtc6
* Add parent + remove duplicate margin


## kaddressbook

* Fix dialog size


## akregator

* Show all headers in qtc6
* Show all headers in qtc6
* We depend against kf5.98
* It's already defined in KAboutData


## grantlee-editor

* Make compile against qt6
* It's already defined in KAboutData


## kalarm

* Bug 459901: Fix crash when alarm restored at login is deferred
* Reinstate original include order
* We depend against kf5.98


## kdepim-addons

* Convert include to uppercase
* Make compile without deprecated methods
* Port to KMessageBox::questionTwoActionsCancel
* Fix warning
* This method was removed in qt6
* Port to qregularexpression
* Port to QRegularExpression
* Fix dialog size
* Fix dialog size in hdpi
* Avoid potential problem
* Remove unused debug
* We depend against kf5.98
* Add more comment
* Add button for check again
* Allow to debug code
* Rename variable + const
* Fix replace word
* Fix bug 459113: bad replacement by Language Too (bug 459113)
* Continue to debug grammar support
* Remove duplicate entries (server returns duplicate entries no idea why)
* Fix load list of languages
* Scale down event ticket banner images when necessary
* Add menu for select all or deselect all
* Remove commented code
* Add missing Q_REQUIRED_RESULT
* Show header in qtc6
* const'ify pointer
* Add missing Q_REQUIRED_RESULT
* const'ify pointer
* Allow to check/uncheck all items + expand/collapse
* Prepare menu support
* Add missing Q_REQUIRED_RESULT
* Avoid to call refresh list each time that we open composer
* Create configure dialog on stack
* Show all headers in qtc6 + use target_sources
* Add missing Q_REQUIRED_RESULT
* Add comment
* Fix bug 458635 :  Language Tool set to "français", in the composer LT is set to "anglais" (bug 458635)
* Add info about how many time we found it


## kdepim-runtime

* Add missing KCoreAddons link
* Fix Windows/FreeBSD Qt6 build
* Use QMultiMapIterator when iterating over a QMultiMap with Qt 6
* We need to port fakeserver from xmlpattern in qt6
* Fix some compile error (qt6)
* Port some qt6 compile errors
* Handle kwallet not being enabled (bug 450693)
* Port kio_akonadi to WorkerBase
* Hangle imap id <= 0 better
* const'ify variables
* Use = default;
* Show all headers in qtc6
* Fix dialog size
* We depend against kf5.98
* Not necessary to use qOverload now
* Don't use Q_SLOTS when not necessary. Add missing Q_REQUIRED_RESULT
* Add missing Q_REQUIRED_RESULT
* const'ify + add missing Q_REQUIRED_RESULT + remove unused return value
* Remove unused Q_SLOTS
* Not necessary to use Q_SLOTS here
* const'ify pointer
* const'ify pointer
* USe std::chrono_literals here
* Add missing Q_REQUIRED_RESULT
* Use percentChanged
* Initialize pointer in header
* Remove CTestCustom.cmake too
* Remove CTestConfig.cmake, the repo isn't using my.cdash.org
* fix qtxtexttospeech


## kleopatra

* Make compile against qt6
* Fix bug 459861: Compile error from missing #include lines (bug 459861)
* filedialog.h is needed when we has QGPGME_SUPPORTS_SECRET_SUBKEY_EXPORT support
* Do not bother users with errors during WKD lookup
* Draw focus indicator for labels only if focus was changed with keyboard
* Require a valid key for the Certify command
* Add possibility to require valid keys for a command
* Disable Certify action if key cannot be certified
* Don't ask user to certify an imported expired or revoked OpenPGP key
* Short-circuit check for revoked or expired user ID
* Add helper to check if a key can be certified
* Do not offer expired user ID for certification
* Refuse to certify revoked or expired keys
* Disable warnings about different signedness of pointer targets
* Disable or hide actions that make no sense for remote keys
* Simplify c'tor taking a key
* Create details command as everywhere else
* Store selected keys instead of their indexes
* Remove unused methods
* Set key instead of index for DetailsCommand
* Don't show result widget or error message if operation was canceled
* Use error of decryption result also if decryption was canceled
* Use GpgME::Error instead of the cryptic encoded error in task results
* Remove unneeded, non-virtual reimplementation of hasError()
* Properly report a canceled sign and/or encrypt operation
* Do not crash when closing details widget while certificate dump is shown
* Make the Certificate Dump dialog a child of its parent dialog
* Remove word puzzles
* Improve usability and accessibility of the notepad operations
* Tell gpgsm to export the secret key as PKCS#12
* Initialize user id list with a whitespace
* Make InfoField work as intended with Windows UI Automation
* Add placeholder for smartcard manual
* Properly close child handles in winproc device
* Fix bug report url for signed Windows versions
* Fix and simplify logic checking for name or email address
* Allow either name or mail for smartcard keys


## kmail

* const'ify variable
* Use std::chrono_literals
* Add test for KMResendMessageCommand
* Fix resend after import
* Fix dialog size
* We depend against kf5.98
* Add missing Q_REQUIRED_RESULT
* Add missing Q_REQUIRED_RESULT
* add comment
* Fix i18n
* Add Q_REQUIRED_RESULT
* Fix logic. We will not add item to list + remove it in some case (bug 458618)
* It's already defined in KAboutData
* Not necessary to define as slots
* Add warning when we can store data
* Show all headers in qtc6



## knotes

* Compile with Qt 6
* Show all headers in qtc6


## kontact

* It's already defined in KAboutData
* not necessary to use Q_SLOTS here


### KOrganizer #

* We depend against kf5.98


## mbox-importer

* It's already defined in KAboutData


## pim-data-exporter

* We depend against kf5.98


## pim-sieve-editor

* Fix group name
* Fix dialog size


## Kalendar

* Fix !277 regression which makes the main drawer always init as collapsed
* Create MainDrawerToggleButton component, unifying tasks view and rest of views' collapse button
* Improve reliability of collapse state change detection
* Make main drawer modal when expanded and the window is narrow (bug 459521)
* Add schedule view mode to config
* Add BasicMonthListView
* Move internal view of schedule view out into SwipeableMonthListView
* Add week view mode to config
* Add BasicHourlyView
* Move internal view of week view out into SwipeableInternalHourlyView
* Cleaned up unneeded code and fixed automatic date matching on view switch in month view
* Add month grid mode to config
* Add BasicMonthGridView
* Move internal view of month view out into SwipeableMonthGridView
* Fix some compile error when trying to build against qt6
* Fixed clicking on checkboxes in settings not doing anything
* Clean indentation of settings qml
* Clarify relationship between all day view height and delegate height in HourlyView
* Fix all day view being visible in defaultHeight mode in hourly view even when no incidences are shown
* Fix bad references to incidenceInfoDrawer in views
* Fix bottom padding of ScheduleView
* Fix delete contact action having unwanted empty dropdown
* Fix calling wrong method to close dialog
* Fix initial default view when there is no previous view set in config
* Fix borked bottom maindrawer padding when window menu activated
* Make the collection sidebar view more generic and reusable
* Move calendar and address book sidebar to own file
* Fixed wrong copyright on flake.nix (oops)
* Add placeholder string to ContactGroupEditorPage
* Correct contact editor page strings, add placeholder texts
* Add nickname to contact editor page
* Fix mail sidebar item spacings and alignment
* Use Kirigami basic list item for mail box delegates
* Fix layouting and z of mail sidebar
* Fix the barrage of breakages caused by commit b06d5126928264422833ea91516cf7111b5505c5
* Simplify visibility of time label in incidenceinfocontents
* Fix time label appearing in incidence info contents when no time available
* Compile fine without deprecated methods
* Make sure the tasks view now updates at time intervals
* Fix more issues with time and date labels in incidence info contents
* Remove no longer needed properties in task section headers
* Ensure todo due date display is in local time
* Fix sort of overdue tasks, prevent overdue section being split up
* Move todo display due date string construction to model
* Fixed some broken props in mail components
* Fixed improper width of first column in incidenceinfocontents
* Fix issues with incidence viewer layouts and scrollview content height
* Fix bad align flag in IncidenceInfoContents
* Fix some bugs with incidence viewers active state and loading
* Limit incidence info popup to more manageable size
* Demistify dates in IncidenceInfoContents, make handling of conditions legible
* Fix 'smart' section date labels for due date sort
* Fix tasks in the tasks view showing time for all day events
* Show date in set date menu for tasks context menu
* Add a due date menu in the context menu for tasks
* Refactor view settings
* Display Google Meet/Hangout data if available
* Fix indentation
* Update look of account configuration
* Remove unnecessary root-level Item from the IncidenceInfoContents
* Remove broken anchors from IncidenceInfoPopup contentItem
* Fixed more errors in main.qml
* Fix errors in main.qml
* Use standard keys for view navigation actions
* Fix scrolling on task completion slider not changing value
* Fix double-click to edit in tasks view
* Use incidence popup in all calendar/task views by default
* Improve incidence popup positioning for large incidence items
* Fix keyboard selection on the todo tree view
* Stop selecting todo delegate on right-click, only invoke context menu
* Make the incidence info popup background nicer to look at
* Add KDevelop to the devshell in flake.nix
* Remove duplicate headers between cpp/h files
* Stop showing borked related incidence delegates for events
* Fix incidenceInfoViewer in main.qml
* Fix add sub-task button in incidence info drawer
* Constrain positioning and sizing of the popup within the bounds of the current calendar view
* Ensure propery incidence info component is being closed in hourly view
* Move all filter handling of incidence info components into IncidenceInfoContents.qml
* Add an option to disable pop-ups in favour of the info drawer
* Close the incidence info popup if no valid incidence item is set
* Center the popup on the X axis on the opened incidence item
* Use the traditional incidence info drawer in the tasks view
* Change incidence info drawer into popup on desktop
* Fix reduced size day grid delegate text not being clipped
* Fix flake nix build and run
* Flake fixes
* Add KIO to CMakeLists
* Add flake.nix
* Refactor filter
* Add avatar to folder list
* Fix go-jump-button not visibly selecting (bug 453810)
* Fix incidence delegate text color in hourly views
* Fix delegate backgrounds in all calendar views
* Add background back in hourly view
* Use enums for switching view
* Reduce usage of objectName and replace by proper enum
* Fix regression caused by creating a KalendarApplication::Mode per view
* Refactor handling of window title
* Fix saving last view to mail
* Add message that email is loading
* Add unread count
* Update folder list look
* Update sidebar style
* Adopt style from devin fork
* applet: Fix type of property "X-Plasma-NotificationArea" in metadata
* Fix clicking on notifications not always correctly switching to correct view
* Require the latest stable version of the Akonadi and PIM APIs


## Raven

* Add Qt 5 Linux CI
* Set html to show by default
* Use bottom margin on conversation viewer
* Fix about data not showing
* Fix
* Explicitly set app icon and rename icon to org.kde.raven
* Set default add account ports
* Update README
* Fix logo
* Fix logo sizing
* Add logo for now
* Update README.md
* Fix narrow mode having folderview being shown by default
* Fix imap events not being received
* Zero out number form fields and close text dialog on enter
* Add account modify and deletion support
* Fix password input not being a password field
* Delete unused files
* Import carl's contact image
* Pop new account page when account is added
* Add initial account management UI
* Add initial account list and add account backend
* Improve delegate highlights
* Add placeholder messages for empty lists
* Improve mailbox sidebar
* Add mail list delegate and improve conversation view
* Properly switch between sidebar and page for mobile
* Merge plugins
* Import mail lib from kalendar


-------------- next part --------------
      1 Christophe Giboudeaux_christophe at krop.fr
      1 Jumpei Ogawa_phanective at gmail.com
      1 Raghav Narang_raxyte at gmail.com
      1 ivan tkachenko_me at ratijas.tk
      2 Antoni Bella Pérez_antonibella5 at yahoo.com
      2 Dominique Hummel_xnaxdy at hydra-development.net
      2 Friedrich W. H. Kossebau_kossebau at kde.org
      3 David Jarvie_djarvie at kde.org
      3 Dawid Wróbel_me at dawidwrobel.com
      3 Glen Ditchfield_GJDitchfield at acm.org
      3 Luca Weiss_luca at z3ntu.xyz
      5 Andre Heinecke_aheinecke at gnupg.org
      8 Christian Schoenebeck_cuse at users.sf.net
     13 Ahmad Samir_a.samirh78 at gmail.com
     15 Ben Cooksley_bcooksley at kde.org
     19 Sandro Knauß_sknauss at kde.org
     22 Carl Schwan_carl at carlschwan.eu
     26 Heiko Becker_heiko.becker at kde.org
     28 Devin Lin_espidev at gmail.com
     29 Nicolas Fella_nicolas.fella at gmx.de
     39 Ingo Klöcker_dev at ingo-kloecker.de
     85 Claudio Cambra_claudio.cambra at gmail.com
    109 Volker Krause_vkrause at kde.org
    570 Laurent Montel_montel at kde.org
Committer: 24
Total: 990
-------------- 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/20221026/9582ff92/attachment.sig>


More information about the kde-pim mailing list