September/October KDE PIM summary blog post

Volker Krause vkrause at kde.org
Wed Oct 25 16:54:21 BST 2023


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 KF releases), and basic commit stats for the PIM repositories.

The last post was edited by Dan (https://kontact.kde.org/blog/2023/2023-09-01-kde-pim-july-august-2023/), any volunteers for this one?

We'd like to place those all on kontact.kde.org now, so practically this is 
just an MR against https://invent.kde.org/websites/kontact-kde-org/.

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

* Expose displayName in EntityTreeModel
* Only keep mysql log from the last session (bug 456983)
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Keep compatibility with old QSQLITE3
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Make agent type and instance model more qml friendly
* Add i18nc
* Update SQLite information in INSTALL


### KContacts

* Clarify QtQuick dependency
* Remove code for generating pri file


### KCalendarCore

* ICalFormat: don't shift all-day invite dates to UTC (bug 421400)
* Remove code for generating pri file


### KHolidays #

* Remove code for generating pri file
* Use keyword signature for target_link_libraries call
* Add holidays for Benin (bug 473315)


### Syndication

* Remove code for generating pri file


### KMime #

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Allow to parse specific Date. So we reduce the number of
* pri is not created now
* Remove code for generating pri file (framework will remove it too)


### KIMAP #

* Revert "Use new QT_NO_CONTEXTLESS_CONNECT check"
* Use new QT_NO_CONTEXTLESS_CONNECT check
* We can use [[nodiscard]] as we depend against c++17
* Rename as kimaptest6 => allow to co-inst kf5/kf6
* Remove no longer needed qOverload
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add @same


## ksmtp

* Remove QT_NO_CONTEXTLESS_CONNECT
* Use new QT_NO_CONTEXTLESS_CONNECT check
* pri is not created now
* Remove code for generating pri file (framework will remove it too)


### KDAV

* Remove code for generating pri file
* CMakeLists.txt fix spacing


### KLDAP #

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* pri is not created now
* Remove code for generating pri file (framework will remove it too)


## kpimtextedit

* Use new QT_NO_CONTEXTLESS_CONNECT check
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add i18n context


### Akonadi Mime #

* Use new QT_NO_CONTEXTLESS_CONNECT check
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add @same


### Akonadi Contacts #

* Remove contextless connect statements
* Use new QT_NO_CONTEXTLESS_CONNECT check
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add i18nc
* Add @same


### Akonadi Calendar #

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add API to configure crypto preferences when sending iTIP invitations
* Fix sending iTIP counter proposal generating invalid messages
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add @same
* Fix invalid dbus signature error
* Do not Q_DECLARE_METATYPE for Identity as this is now done in KIdentityManagement
* use #pragma once


### Akonadi Notes #

* Use new QT_NO_CONTEXTLESS_CONNECT check
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add @same
* Fix lib_name


### Akonadi Search

* Use QLatin1StringView
* Use new QT_NO_CONTEXTLESS_CONNECT check
* UI string fix: uppercase HTML
* Move convertion from html to text out-of-process (bug 474747)
* Add test for html only email
* USe i18nc
* Add @same
* Update Rust dependencies


## libkdepim

* Use new QT_NO_CONTEXTLESS_CONNECT check
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Fix lib_name


## kidentitymanagement

* Port to FormCard
* Use new QT_NO_CONTEXTLESS_CONNECT check
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add i18n context
* Switch QT_MAJOR_VERSION to 6
* Add @same
* Fix dependencies of KPimIdentityManagementQuickConfig.cmake
* Remove extra ';'
* Replace KF_MAJOR_VERSION by 6 here too
* Fix install target
* Fix generate config file
* Fix LIB_NAME
* Install real KPim6IdentityManagementQuickTargets
* Install real KPim6IdentityManagementQuickTargets
* Fix another case of hardcoded KF version
* Use the correct KPim version depending on KF_MAJOR_VERSION
* Use KIdentityManagementQuick namespace
* Use KIdentityManagementQuick namespace
* Fix include
* Install in KIdentityManagementQuick
* Fix create version header + fix generate soversion
* Compile against qt6
* Add kirigami addons to dependency list
* Port from MobileForm to FormCard
* Add missing ecm_install_qch_export
* Make KPimIdentityManagementQuick a shared lib
* Not necessary to create cmake variable
* Fix target name
* Fix linking
* Adapt to kidentitymanager api
* Make identitymanagement, qtcore and qtquick public libs
* Use working dir headers instead of system headers
* Ensure checkboxes to use same key for signing and encrypting set the same key for both properties
* Ensure state of various combos and checkboxes in crypto editor card are updated correctly as values are changed
* Add simple bytearray to qstring conversion method for key bytearrays
* Add QML-accessible method in crypto editor backend to access index for identity
* Define virtual method to get crypto key model index for Identity
* Create KeyUse enum and QML-exposable KeyUseTypes class
* Change KeyListModel namespace into an Interface class
* Add checkbox to use same key for signing and encryption
* Add combo box for encryption and signing of pgp/smime
* Add combo box for setting openpgp encryption key
* Ensure relevant identity is set on cryptography editor backend
* Set and store relevant identity for crypto editing in interface and editor backend
* Use var for cryptographyEditorBackend property
* Use QSharedPointer for CryptographyBackendInterfacePtr
* Properly export and make headers for Crypto-related classes
* Define KIdentityManagement::Quick::KeyListModel::roleNames as a function instead of a static QHash
* Expose the key list models from the backend interface in the editor backend
* Hold a shared pointer to CryptographyBackendInterface in CryptographyEditorBackend
* Use cryptographyeditorbackend in QML
* Add starter CryptographyEditorBackend
* Redesign the cryptography related model and backend as interfaces to be implemented in client
* Conditionally display cryptography editor card based on validity of cryptographyIdentity
* Add starter CryptographyEditorCard
* Add a basic AbstractCryptographyBackend for use in QML
* Add and export an AbstractKeyListModel
* Fix includes to use local ones
* Prevent modifying user's real config in IdentityModelTest
* Add a test for IdentityModel email from uoid method
* Add a test for IdentityModel data
* Add a test for IdentityModel rowCount
* Set up basic test for IdentityModelTest
* Move IdentityModel to core, export header
* Improve quick plugin type registration URI checking


## pimcommon

* Use new QT_NO_CONTEXTLESS_CONNECT check
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add i18n context
* Export checkLockDown
* Add @same
* Allow to open url
* Move logic in purposemenuwidget
* Rename methods
* Fix logic
* Improve purposemenumessagewidget
* Add purposemenumessagewidget
* Add signal when success/error
* Fix lib_name


### LibKGAPI

* Use new QT_NO_CONTEXTLESS_CONNECT check
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* not necessary
* Use QLatin1String


## kmailtransport

* Fix usage of contextless connect statement
* Use new QT_NO_CONTEXTLESS_CONNECT check
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add @same
* Fix Kmail crashed removing more SMTP server at once (bug 474397)
* Add transportmanagementwidget_gui (bug 474397)


## libkleo

* Remove support for older versions of GpgME
* Require GpgME 1.20
* Add helper to find an element in a range
* Add helpers for some lists of algorithms
* Bump library version
* Add helper to partition a list of keys by protocol
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Fix reload of keys with remarks after initial key listing
* Bump library version
* Add function to check if a user ID was certified by the user
* Use dedicated include + remove unused QtGlobal
* Use blue "info" icon for valid, but not compliant certificates
* Don't disable the OK button if the "generate key" option is selected
* Make compile on qt6
* Require the stable version of KPim5TextEdit
* Bump library version
* Disable OK button if an unusable encryption key is selected
* Use new key usage check of key selection in approval dialog
* Indicate unusability of keys for certain usage(s)
* Add a helper returning an icon indicating the status of key
* Add helpers to check whether a key is usable for encryption/signing
* Add KeyUsage class from kleopatra
* Use error icon for expired, revoked, or otherwise bad keys or user IDs
* Add helpers returning the icons we use
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Bump library version
* Add all key helpers from kleopatra
* Fix deprecation warning
* Use new key flags to check for sign and encryption capability
* Use hasEncrypt instead of canEncrypt to check for encryption keys
* Add support for new Key::hasX capability checks to KConfigBasedKeyFilter
* Use hasX instead of canX to check key capabilities
* Add support for hasCertify, hasSign, etc. methods of GpgME::Key
* Use hasX instead of canX to check key capabilities
* Add compat helpers for new hasCertify, hasSign, etc. methods of GpgME::Key
* Remove obsolete compat code for GpgME < 1.16
* Update special mime file names for GpgOL
* Require 23.08 version of PIM dependencies
* Remove no longer needed qOverload
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* classify: Fix wrong classification of mail files
* classify: Fix wrong classification of mail files
* Fix regression in outputFileExtension
* Always use UTF-8 for decoding GnuPG output on Windows
* Don't use @same in .kde-ci.yml anymore
* Avoid useless decoding of empty string
* Ignore terminating null character when decoding output
* Bump library version
* Make helpers for checking protocol of ranges of keys public
* Fix Windows build
* Convert Windows line endings to POSIX line endings
* Fall back to ANSI code page if console output code page is 0
* Do not skip non-hex digits
* Don't use auto when concatenating QStrings to avoid QStringBuilder
* Don't use auto when concatenating QStrings to avoid QStringBuilder
* Revert "Bump KF min version with 5.109"
* Bump KF min version with 5.109
* Bump KF5_MIN_VERSION to 5.104 for Windows
* Use 6 in kf6


### GrantleeTheme #

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* pri is not created now
* Remove code for generating pri file (framework will remove it too)


### KCalUtils #

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add @same


### KMBox #

* Use new QT_NO_CONTEXTLESS_CONNECT check
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add @same


### Gravatar

* Use new QT_NO_CONTEXTLESS_CONNECT check
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add @same


##KTextAddons

* Implement clear device
* Add clear plugin info
* continue to implement plugin
* Continue to migrate to slimt
* Start to add vosk api
* change namespace
* Continue to use slimt
* Use =default
* Rename class for fixing cmake problem with bergamot plugins
* Prepare to add support for slimt
* Provide for the moment a FindSlimt.cmake (used by bergamot plugins)
* Fix TODO
* Fix i18n
* Save/load SpeechToTextDevice settings
* Const'ify
* Prepare speechtotextmenu
* Load when we open/close dialog
* Allow to load/save default engine
* Prepare method to load/save settings
* Add loadsettings
* Prepare to return default language used
* Add audioDevice() as virtual method
* continue to implement voskspeechtotextplugin
* Add asan support
* Fix mem leak
* Don't close dialog when we press enter
* Allow to show configure dialogbox
* Add info about where downloading grammalecte
* Add status enum
* Remove unused todo
* Reactivate code
* Fix short archive size
* Add debug operator
* Allow to delete language
* Return default language
* Rename signal
* Add info about local or network engine
* Fix show installed language info
* Fix description
* convert size
* Hide name column
* Fix save/load model_info.json
* implement generateinstalledlanguageinfojob
* Implement load/save language info data
* create json file
* Prepare to generate json file
* const'ify
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add comment
* continue to implement speechtotext support
* Fix mem leak
* Add include moc
* implement generateinstalledlanguageinfojob
* Use name here too
* Return name
* Continue to implement download support
* Fix extract infos
* Prepare to generate downloaded info file
* Add debug
* Continue to implement download file
* Get type
* Don't make it valid if it's obsolete
* We use md5 for verify checksum
* Prepare to implement 'installed language'
* Fix load model
* Debug --
* Fix download list of languages
* Add signals
* show dialog box
* Allow to show configure dialogbox
* Fix reuse lint
* Prepare to configure engine
* Use this
* Fix plugins iid
* continue to implement voskenginelanguage support
* We have a configure dialogbox
* Add voskenginedialog
* Reactive proxymodel
* Rename enum
* Add checksum too
* Rename as zip file
* continue to implement model
* Implement voskenginelanguagewidget
* Implement parsing
* Implement defaultVoskRepository/storageLanguagePath
* Add voskdownloadandextractlanguage_gui apps
* Port more code
* Activate managermodelvoskspeechtotext.h
* Add language widget settings
* Continue to implement model
* Fix VARIABLE_PREFIX
* Fix category name
* Fix category name
* Fix name
* Create plugins
* Add plugin
* MAke compile
* Add more class
* Assign list of language
* Implement it
* Add include moc
* Implement == operator and debug operator
* Prepare to add managermodel
* Export symbol
* Create lib
* Fix lib name
* Add voskspeechtotextinfo
* Return count
* Add infos
* Prepare to implement model
* Fix client
* Prepare to implement voskspeechtotext
* Exclude mock engine => it's for test
* Prepare to implement vosk plugin
* add mold qt6 build
* Remove generate pri support (removed in kf6)
* Call speechToText plugin method
* Add textToSpeech method
* Fix copyright
* Fix copyright
* Use #if vs #ifdev
* (fix merge commit. Don't understand why it reversed it)
* Prepare to implement richtextbrowser support (improve QTextBrowser)
* Prepare to implement richtextbrowser support (improve QTextBrowser)
* Add TextEditTextToSpeech support in textcustomeditor
* Add TextEditTextToSpeech support in textcustomeditor
* Create 1.5.1
* Fix load settings. Before it was too early, now voice info is loaded
* Add engine access manager
* Add debug + comment
* Add debug
* Fix restore voice
* Activate search voice in combobox
* Allow to save/load voice
* continue to implement save/load settings
* Add writeConfig method
* Continue to implement save/load settings
* Reduce duplicate code (loading settings)
* Add release-qt6 support
* Reinstall TextToSpeechContainerWidget
* Prepare to add job
* Continue to implement action/button
* Initialize/get current engine
* Add self() support
* Fix load engine
* Sort list
* Fix dependencies icons (bug 474664)
* Use current voice
* We need "Q_DECLARE_METATYPE(QVoice)" in qt5
* Store as QVoice
* Remove abstracttext class as we don't need it
* Create texttospeechvoicecombobox
* Remove abstracttext class as we don't need it
* Create texttospeechvoicecombobox
* Add Voice
* Fix update list of locale
* call updateAvailableLocales() when we change engine
* Add warning about not implemented method
* Sort list of language
* Continue to implement speechtotext
* Connect signal/slot
* Allow to fallback to first engine
* Create plugins
* Implement switch engine
* Add signal when speechToText was done
* Start to switch engine
* Add if condition for tests
* Add speechToText method to plugin
* Move to toplevel
* Prepare to implement manager
* Add label
* Convert to QWidget
* Rename as speechtotextcomboboxwidget
* Add speechtotextconfiguredialog_gui
* Prepare to create tests apps
* Add SpeechToTextAction
* Export symbol
* Continue to implement speechtotextconfigurewidget
* Start to add speechtotext button
* Prepare to fill engine combobox
* Install SpeechToTextEngineLoader
* Use lib name
* Add label
* Change to "Speech To Text"
* Save/load settings
* Add textspeechtotext only qt6
* Add support for devicewidget
* Start to implement speechtotextselectdevicewidget
* Move speechtotext_private_export.h in toplevel
* Prepare speechtotextselectdevicewidget
* Finished signal already delete reply variable
* Fix duplicate signal/slot
* Don't export all the time these class
* Add speechtotextconfigurewidgettest
* Add SpeechToTextComboBox
* Remove unused CMakeLists.txt
* Rename class
* Fix generate QCH
* Use QLatin1String here too
* Use QLatin1String
* continue to implement widgets
* Start to create configure dialog
* Start to implement whisper support
* Mark as interface
* Implement showConfigureDialog
* Add engine name in menu
* Use #include <memory>
* Fix update buttons when we delete a model
* Return result
* Add signal when configure changed
* Add copyright
* Add speechtotext_private_export.h
* Add client/plugin
* Fix reuse lint
* Prepare to add google support
* Start to add doxygen
* Prepare plugins directory
* Continue to implement speechtotextengineloader
* Add speechtotextengineloader
* move in own directory
* Add moc includes
* Fix install headers
* Export class
* Create speechtotextplugin
* Prepare to implement  textspeechtotext lib
* Master is open
* Create 1.5.0
* Allow to load language from bergamot plugins
* Initialize list
* Get to language list too
* Add translatorconfigurelistswidget test gui
* Prepare 1.4.90
* Add bergamot build support
* Fix generate category name
* Ignore git clone from bergamot-translator
* Add more info
* Add more info
* Don't create a category name for kf6/kf5
* Mark as experimental
* Prepare new version
* Fix show label value
* Fix initialize settings
* initialize it
* Load settings
* Add todo
* Load config
* Add add_feature_info
* Remove duplicate options


### MimeTreeParser

* There's no QVector anymore, QList is the QVector in Qt6
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Fix AttachmentModel::openAttachment
* Fix translation domain
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add license
* Add freesbd qt6
* Add addional check for valid file
* Ensure extension is correct when creating temporary file
* Remove unused forward declaration
* It compiles without deprecated methods
* Remove duplicate variable
* Depends against 6.5 as all pim* depend against it
* Require 23.08 version of PIM dependencies
* Add Qt6Core5Compat to KPimMimeTreeParserCoreConfig
* Add addional check for valid file
* Ensure extension is correct when creating temporary file
* Use hash tables
* Better handling of file and attachment saving
* Fix redefinition of TRANSLATION_DOMAIN
* Fix link
* Use hash tables
* Better handling of file and attachment saving
* Fix redefinition of TRANSLATION_DOMAIN
* Also support legacy protected headers
* Simplify logic
* Show bcc, cc and sender header
* Show protected headers
* Update .kde-ci.yml file for kf5 branch
* Fix  redeclared without dllimport attribute: previous dllimport ignored
* Only build widget test if BUILD_TESTING is set
* Fix small issues in test
* Use KMbox for parsing Mbox files
* For the moment disable freebsd. It doesnt have libkleo yet
* Make compile in qt6
* Use "6" directly
* Add test for Partmodel
* Adapt gcovr arguments to exclude example and _include dir
* Remove qgpgmejobexecutor which was not used
* Remove dead files
* Remove unussed async.h
* Split openFile function
* Add test for MessageViewerDialog
* Reuse more code and handle inline pgp message
* Reuse code for detecting type of block
* Add test for decrypting email
* Allow saving email either unchanged or decrypted
* Move MessageViewerDialog here
* Use GpgmeppConfig instead of FindGpgme
* Use auto here too
* Use Qt5Compat.GraphicalEffects in qt6
* Fix management of messageviewer layout items
* Improve sizing of messageviewer
* Don't redefined TRANSLATION_DOMAIN


## messagelib

* Use QLatin1StringView
* Fix crash
* Load on demand tracker widget
* Load on demand OpenSavedFileFolderWidget
* Load on demand (mPurposeMenuMessageWidget)
* Fix Grantlee header tests
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Load on demand
* Start to implement load widget on demand
* Use case insensitive
* Remove unused QtGlobal
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Fix order argument
* Add const
* ItipPart: set default method to REQUEST
* Make the method param in iTIP mime part content-type configurable
* Remove no longer needed qOverload
* pri is not created now
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Fix crash when switching signed/encrypted emails very fast
* Use i18nc
* Add @same
* Add errorMessage/successMessage
* Use direcly PimCommon::PurposeMenuMessageWidget
* Rename class name
* Use QLatin1String
* constify string
* USe auto directly
* grantleeheaderformatter: Add support for Message-Id


## mailimporter

* Port deprecated QDomDocument::setContent
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Remove unused QtGlobal
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add @same


## mailcommon

* Port deprecated QDomDocument::setContent
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Add CI freebsd qt6
* Remove no longer needed qOverload
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add missing Q_REQUIRED_RESULT
* Use @same as discussed with Ben
* Use PurposeMenuMessageWidget


### Calendar Support #

* Use new QT_NO_CONTEXTLESS_CONNECT check
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add i18nc
* Fix title
* Remove searching for Qt::PrintSupportPrivate
* Add @same


## kontactinterface

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Adapt apps for windows


## eventviews

* prefs QColor.setNamedColor is deprecated
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Add CI freebsd qt6
* Todo: fix Todo list not showing any incidences
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Use i18nc
* Add @same
* AgendaView: update vertical scrollbar in side-by-side view on resize
* AgendaView: fix layout issues in the side-by-side agenda view
* ListView: fix list view choking on large calendars
* Use QList


## incidenceeditor

* Reset AttendeeTableModel when settings attendees (bug 428888)
* There's no QVector anymore, QList is the QVector in Qt6
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add CI freebsd qt6
* Add UI to sign/encrypt iTIP invitations
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* add i18nc
* Add @same


## libksieve

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Missing to rename it
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add CI freebsd qt6
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* use i18nc
* Add @same
* Use MessageWidget here too for purpose actions
* Prepare to use "PimCommon::PurposeMenuMessageWidget"
* Fix MSVC build


### KPkPass

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Make the message catalog UTF-8 encoding detection slightly more broad
* pri is not created now


### Itinerary data extraction engine

* Handle multi-line airport names in Qatar Airways tickets
* Display non-ascii chars in PKP tickets
* Add no-q event booking extractor
* Sanity-check terminal names to deal with weird Iberia PDFs
* Handle Iberia pkpass boarding passes and PDFs without a boarding group
* Fix extracting Thalys tickets with a program membership used
* Fix extraction from multi-line Pretix PDF tickets
* Handle Pretix pkpass files with non-formatted date/time values
* Handle Dutch language European Sleeper seat reservations
* Handle Dutch language variants of European Sleeper tickets
* Small optimizations for the static build
* Update train station data from Wikidata
* Fix train station country SPARQL query
* Fix several copy/paste errors in SortUtil::hasStart/EndTime()
* Add bookingkit PDF extractor script
* Handle departure/arrival/duration triples in generic extraction as well
* Make the Amadeus PDF timestamp workaround a bit less specific
* Correctly compare times with and without timezones when merging
* Fix parsing newer UK railway PDF tickets
* Deal with an alternative way to mark non-reservation RSP-6 tickets
* Fix parsing GWR iCal attachments for multi-leg train trips
* Manually merge international Renfe results
* Unify reservation/ticket number extraction for Renfe/Ouigo ES barcodes
* Add a workaround for fixing broken UIC 918.3 payloads in Renfe tickets
* Sanity-check the RCT2 traveler name
* Handle one more data format in RCT2 tickets
* Try barcode decoding both on transformed and untranformed source images
* Extract un-styled Pretix PDF tickets
* Extract multi-leg Renfe tickets correctly
* Make train number matching slightly less strict
* Merge the two ��BB UIC 918.3 extractor scripts
* Extract multi-leg ��BB PDF tickets
* Fix online import of unidirectional SNCF bookings (bug 474197)
* Also allow direct extraction from SNCF Secutix barcodes (bug 474197)
* Correctly update the search offset in the MAV extractor
* Handle more cases of ZSSK network tickets
* Correctly import buses from DB online tickets
* Add Slovak Lines PDF ticket extractor script
* Add premiumkino Apple Wallet pass extractor script
* Handle more end of validtity variants in RCT2 tickets
* Fall back to the second RCT2 title line if the first one is empty (bug 472916)
* Handle Amtrak tickets with unreserved seats


## ktnef

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Remove unused QtGlobal
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* pri is not created now
* Remove code for generating pri file (framework will remove it too)
* Add @same


## akonadi-import-wizard

* Port deprecated QDomDocument::setContent
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add CI freebsd qt6
* Add i18nc
* Add @same


## akonadi-calendar-tools

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add CI freebsd qt6


## akonadiconsole

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Close database when we close apps
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add CI freebsd qt6
* Use @title:window
* Add @same


## kaddressbook

* Adapt to new api
* It must be an integer
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Remove code for generating pri file (framework will remove it too)
* Add @same


## akregator

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add CI freebsd qt6
* Start to fix tray icon support
* Add accessibility info
* Use i18nc
* Add @same
* Add project_license to appstream metadata
* Use #pragma


## grantlee-editor

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add CI freebsd qt6
* Add @same


## kalarm

* Only include KWindowInfo when building with X11 support
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Use dedicated include + remove unused QtGlobal
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Consistently use "calendar" (not "resource") in user interface
* Fix Edit Alarm dialog More/Less Options button being wrongly labelled "Defaults"
* Improve spacing
* Clarify use of class, and prevent copying
* Install breeze icons to correct locations
* Update change log
* When alarm is deferred, ensure it's deleted from archive calendar
* Add tooltip
* Improve debug warning messages
* KF6: Migrate KToolBarPopupAction::menu() -> popupMenu()
* Update wake-from-suspend details
* Fix kernel wake from suspend alarm times
* Set units for reminder and late-cancel depending on date-only selection in Edit Template dialog
* Ensure that all recurrence times contain no milliseconds component
* Tidy
* Fix merge displaycalendar.cpp
* enum -> 'enum class'
* enum -> 'enum class'
* enum -> 'enum class'
* KAEvent enum -> 'enum class', and change enums from all capitals
* KAEvent enum -> 'enum class', and change enums from all capitals
* Add @same
* Fix KADateTime(QDateTime(LocalTime)) constructor near transition from DST
* Make raising main window from alarm notification work on Wayland
* Fix KADateTime(QDateTime(LocalTime)) constructor near transition from DST
* Fix wake from suspend advance time calculation
* Fix wake from suspend advance time calculation
* Update screenshots
* Update screenshots
* Fix bugs in wake from suspend using kernel timer alarms
* Fix bugs in wake from suspend using kernel timer alarms
* Wake up system using kernel timer (Linux)
* Wake up system using kernel timer (Linux)
* Wake up system using kernel timer (Linux)
* Wake up system using kernel timer (Linux)
* Bug 473792: Don't warn about not providing high accuracy alarms if alarm >10 minutes from now
* Bug 473792: Don't warn about not providing high accuracy alarms if alarm >10 minutes from now


## kdepim-addons

* Remove unused Messages.sh
* Revert "Use new QT_NO_CONTEXTLESS_CONNECT check"
* Rename plugin to Calendar Events
* Port PimEventsConfig to QQC2
* Use new QT_NO_CONTEXTLESS_CONNECT check
* const'ify
* Remove unused QtGlobal
* Fix show configure dialogbox
* File was renamed too
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add CI freebsd qt6
* Remove ECMGeneratePriFile
* Remove no longer needed qOverload
* Add list if info is valid
* WKS: remove the 'Show key details' link from confirmation response
* WKS: ensure that all text in the email is centered
* Use i18nc
* Continue to implement menu
* Implement menu
* Add KLineEditEventHandler::catchReturnKey here too
* use KLineEditEventHandler::catchReturnKey
* continue to implement menu
* Continue to implement methods
* Add QDebug + isValid methods
* Continue to implement adblockpluginurlinterceptoraddadblocklistwidget
* Continue to implement dialog
* Add adblockpluginurlinterceptoraddadblocklistwidget.cpp
* Prepare to add adblockpluginurlinterceptoraddadblocklistdialog
* Prepare to add menu
* Comment this directory
* Fix load/save dialog size
* Add @same
* Add placeholdertext
* Add include moc
* Add test apps
* Allow to show dialogbox + add debug for adblockfilter + allow to add list
* Add signal here
* Use QLatin1String
* Fix category name
* Add debug
* Create new adblock
* Add mFilterListsPath
* Prepare to ad adblocklistsmanager
* Remove "id" key which is unused
* improve debug message
* Emit signal when load is done
* Add AdblockFilterWidget
* continue to implement manager
* continue to implement adblock support
* Allow to find adblock.rs.h
* continue to implement adblock support
* Add qsortfilterproxy
* Add model
* Add list of AdblockFilter
* Define KDEPIM_DEV_VERSION
* Move adblockmanager in lib directly
* Add adblockfilter filter
* Add search line
* Add private export symbol
* Create lib (necessary for testing code)
* Correctly size constrain Apple Wallet generic pass thumbnail images
* Add listview in widget
* Use Q_RELOCATABLE_TYPE
* Add Q_OBJECT


## kdepim-runtime

* Use QLatin1StringView
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add CI freebsd qt6
* Add new line
* Adapt to KService::property API change
* SingleFileResource: simplify font configuration
* SingleFileResource: add option to periodically update file (bug 428665)
* SingleFileResource: clarify that both local file and remote URLs are supported
* Use KPim6::kimaptest6
* Use joinHistory()
* Remove too many new line
* Remove duplicate code
* Add missing moc file
* Fix open folder/open mail
* Add select folder job
* Allow to open mail
* Emit openFolder/openMail
* Reorganize cmake info
* Add addFoldersInfoNotificationHistory
* Debug--
* Implement new notification history
* Increase dependency
* Rename classRename classRename class
* continue to implement newmailnotificationhistorymanager
* Use private here
* USe export symbol
* continue to implement new history
* Remove TODO
* Continue to implement message
* Make method static
* continue to implement notification
* Mark struct as Q_RELOCATABLE_TYPE
* Rename as itemId
* Use Q_RELOCATABLE_TYPE
* Continue to implement url for email or folder
* Add struct for helping to generate correct message info
* Prepare to improve history
* Add TODO
* Actually start job to read secret key (bug 470820)
* qt6: Fix target_link_libraries for google resources
* Revert "Revert "Fix race condition when building""
* Revert "Revert "Use config plugin instead of out of process config dialog""
* Fix signal/slot
* Add @same
* Fix timezonetest
* Revert "Use config plugin instead of out of process config dialog" (bug 473897)
* Revert "Fix race condition when building"
* Improve README


## kleopatra

* Remove obsolete files
* Remove support for older versions of GpgME
* Require GpgME 1.20
* Use algorithm lists from libkleo
* Offer only compliant algorithms when generating card keys
* Always use i18ncp for the Export Certificate(s) button
* Add an explanation why sharing uncertified certificates may be problematic
* Allow user to silence the confirmation messages
* Request confirmation when uploading uncertified OpenPGP keys
* Request confirmation when exporting uncertified OpenPGP keys
* Explicitly mention that exportable certifications are missing
* Always finish command properly and don't emit canceled manually
* Use helper to partition keys by protocol
* Emit canceled when the user canceled the export
* There's no QVector anymore, QList is the QVector in Qt6
* Use directly pixmap()
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Ask for confirmation before exporting group with uncertified OpenPGP keys
* Always enable loading of remarks in the key cache
* Fix initialization of encryption flags
* Use dedicated include
* Abort group certification early on certain errors
* Add collection as parent (fix mem leak)
* Fix docaction mem leak (found by asan)
* Don't set the AlwaysTrust flag for S/MIME
* Remove unused overload
* Avoid warnings for variables only used on Windows
* Fix bitwise operation between different enumeration types depr. warning
* CertificatePair is defined as struct
* Avoid "private field 'q' is not used" warnings
* Remove KeyUsage which has been moved to libkleo
* Fix bug 475485: Handbook: typo in OpenPGP link to Wikipedia (bug 475485)
* Add raise and activateWindow for mail dialog
* Don't create .so symlinks for libkleopatraclientgui and libkleopatraclientcore
* Do not use applyWindowID for ViewEMailFilesDialog
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Inline the QDebug stream operator for std::string
* Remove the key helpers
* Use new key flags to check for certify capability
* Use new key flags to check for sign capability
* Remove unused namespace usage and unused include
* Remove obsolete code for setting recipients
* Simplify code
* Simplify code
* Don't filter out expired signing/encryption certificates
* Use new key flags to check for sign and encryption capability
* Require latest stable versions of PIM dependencies
* Require 23.08 version of PIM dependencies
* Fix deselection/disabling of user ID of certification key
* Remove no longer needed qOverload
* Remove no longer needed qOverload
* Store state of some options separately for bulk certification
* Show progress dialog while certificates are certified
* Show details about failed certifications in final result message
* Upload certified certificates to the configured key server
* Allow sending multiple keys to a key server
* Add Certify button to certificate group management dialog
* Add first version of command for certifying certificate groups
* Sort certificates/user IDs alphabetically
* Remove useless code for non-revocable certifications
* Remove update of certificate
* Skip disabled user IDs when looking for existing tags
* Ensure that tags of all keys are loaded
* Factor out setup of widget after setting certificate(s)
* Add bulk certification mode to certify widget
* Add simple helper for changing visibility of multiple widgets at once
* Update size of content area just before showing it
* Store a list of certificates to certify
* Fix "loop variable creates a copy" warning
* Use i18nc
* Add more MIME types for signed and encrypted archives
* Fix "zero as null pointer constant" warnings for the Windows build
* Use @title:window for window title
* Adapt .kde-ci.yml for kf5 branch
* Make logic when command is finished more clear
* Replace own MessageViewerDialog with the one from MTP
* feat(messageviewerdialog): Support opening multiple messages simultaneously
* feat(decryptverifyfilescommand): Open mail viewer directly
* Add @same
* Skip check if key is eligible for WKD refresh if WKD query is forced
* Keep the line breaks in the output of gpg
* Fix selection of all user IDs with tags matching Tags value
* Fix incorrect logging about different remarks
* Only offer the user IDs to certify for certification
* Remove special handling of Escape when tool tip was shown
* Use tree widget instead of list view for user IDs
* Remove info buttons from Certify dialog
* Use QList here


## kmail

* Use QByteArrayLiteral in KLocalizedString::setApplicationDomain
* Use std::move(...)
* store info about opened viewer
* Add static method
* It must be an integer
* Use HistoryClosedReaderManager
* Fix reader window mode configuration in Appearance settings
* Adapt to KBookmarkManager API change
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Only use KWindowInfo when building with X11 support
* Remove unused kmmigrateapplication
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Fis systemtray support
* Add CI freebsd qt6
* Forward setSystemTryAssociatedWindow from kmkernel
* Prepare to fix systemtray
* Initialize filterlogdialog dialog
* Port appearance -> layout settings to QFormLayout
* use i18nc
* continue to implement historyclosedreadermanager class
* Continue to implement HistoryClosedReader class
* Use QLatin1StringView here
* Add manager
* Add Item::Id
* Add QDebug
* Start to implement restore external reader
* Rename variable
* Add @same
* Show message info from plugins
* Add test apps
* Add parent + rename to hboxWidget
* Use mailfilteragentprivate
* Add mailfilteragent_private_export.h
* Prepare to create new lib
* Prepare to create mailfilteragent tests
* Support archiving a message from its own window (bug 471343)
* Fix definition of HAVE_X11


## kmail-account-wizard

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Add CI freebsd qt6
* Start to implement configure manually server
* Remove commented code
* Allow to search provider when we press return key
* Port to FormCard
* Add @same
* const'ify variable here


## knotes

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Fix 475098:KNotes crashes on start (bug 475098)
* Add @same


## kontact

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add CI freebsd qt6
* Remove qt5 code
* Add @same


### KOrganizer #

* Fix previous commit
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Fix crash when forwarding incidence via context menu (bug 474144)
* Repair searching in korganizer
* Repair searching in korganizer
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add CI freebsd qt6
* Propagate calendarAdded/calendarRemove to TodoView
* Use i18nc
* Move SearchCollectionHelper to Akonadi Calendar
* Don't create .so symlink for korganizer_core
* Add @same
* Use QLatin1String
* Fix invalid dbus signature
* Use QList


## mbox-importer

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add CI freebsd qt6
* Add @same


## pim-data-exporter

* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add CI freebsd qt6
* Add @same


## pim-sieve-editor

* Adapt to KBookmarkManager API change
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Rename as foo.in => This fixes QtCreator trying to parse it as cmake code
* Add CI freebsd qt6
* Adapt to new KBookmarksWidgets library
* Add i18nc
* Add @same
* Add PimCommon::PurposeMenuMessageWidget


## Kalendar

* Update look of contact header
* Ensure we mark element as selected in contact list
* Allow users to enter their anniversary and birtday date
* Use new QT_NO_CONTEXTLESS_CONNECT check
* Fix explicit qml signal argument
* Fix qml warning
* Fix more issue with wrong date due to timezone
* Fix shifting of date by one day/month (bug 473866)
* Fix displaying of Basic HourlyView
* DateUtils: Trim userProvidedYear to remove whitespace before parsing
* IncidenceEditorPage: Use Banner instead of InlineMessage
* Fix invalid parent collection error
* fix triggering mailto: and tel: actions twice
* We already use [[nodiscard]] in code => harmonize it
* Refactor deletion of calendar collection
* Modernized ContactChooserPage
* Modernized TagManagerPage
* Use new DialogRoundedBackground component
* Fix handling of contacts with no name set
* Cleanout the look of KQuickCommandBarPage
* Fix various bugs with contact groups
* Port collection away from Kirigami.BasicListItem
* Fix IncidenceEditorPage not working anymore in Qt6 (bug 474938)
* fixes bug in photoEditor.qml
* Fix crash when running merkuro with other locales (bug 474191)
* mail: Cleanout AccountSettingsPage
* Fix declaration of tooltip
* Port remaining MobileForm usage
* contact: Port to FormCard
* Added ability to use merkuro-mail to open mbox files
* Add @same
* Use specific qml argument
* Don't overwrite actions
* We need to initialize createEventAction (it's required)
* Explicit qml argument signal
* version 1.0 of QtQuick.Dialogs is in qt5
* Fix crash in ContactEditorBackend on Qt6
* Fix signal in qml
* fix(calendar): Fix actions in view
* Fix missing required property
* Fix todo view
* Fix ViewMenu.qml
* Added context menu to the sidebar
* Fix sidebar in calendar app
* Fix identity editor on Qt6
* Port to new about page
* Search IdentityManagementQuick
* Search IdentityManagementQuick
* Fix invalid signature in dbus xml file
* Fix namespace
* Adapt to new namespace
* Adapt to new namespace
* Port to KirigamiAddons.Settings
* Add missing moc
* Use QList
* Fix namespace
* Relicense new identity classes to GPL 2 or later
* Ensure index fed to data is valid
* Adapt IdentityKeyListModel to KIdentityManagement::Quick::IdentityKeyListModel
* Hide keys of other types when restricting types of keys displayed in IdentityKeyListModel
* Use factory to provide crypto editor backend in QML
* Set up IdentityKeyListModels in IdentityCryptographyBackend
* Add key type param to identitykeylistmodel constructor
* Add ability to filter key types presented in identitykeylistmodel
* Rename IdentityPGPKeyListModel to IdentityKeyListModel as it will be key type agnostic
* Add a 'No key' entry to the IdentityPGPKeyListModel
* Handle identity set and get in IdentityCryptographyBackend
* Add email based filtering to IdentityPGPKeyListModel
* Register IdentityCryptographyEditorBackendFactory in QML engine
* Add a simple IdentityCryptographyEditorBackendFactory for use in QML
* Implement KIdentityManagement::Quick::KeyListModel related things in IdentityPGPKeyListModel
* Set base key list model from Libkleo in IdentityPGPKeyListModel
* Adopt CryptographyBackendInterface in IdentityCryptographyBackend
* Add started IdentityPGPKeyListModel
* Add starter IdentityCryptographyBackend
* Fix segfault on launch (bug 473618)


-------------- next part --------------
      1 Aakarsh  MJ_mj.akarsh 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 Arek Koz (Arusekk)_arek_koz at o2.pl
      1 Bart Ribbers_bribbers at disroot.org
      1 Efe ��iftci_efeciftci at gmail.com
      1 Joaquim Monteiro_joaquim.monteiro at protonmail.com
      1 Joshua Goins_josh at redstrate.com
      1 Justin Zobel_justin.zobel at gmail.com
      1 Luigi Toscano_luigi.toscano at tiscali.it
      1 Luna Celeste_luna at unixpoet.dev
      1 Oliver Kellogg_okellogg at users.sourceforge.net
      1 one-d-wide ���_one-d-wide at protonmail.com
      2 Aakarsh MJ_mj.akarsh at gmail.com
      2 Christophe Marin_christophe at krop.fr
      2 David Faure_faure at kde.org
      2 Luca Beltrame_lbeltrame at kde.org
      2 Marius P_nmariusp1 at gmail.com
      3 Tobias Fella_fella at posteo.de
      3 Yuri Chornoivan_yurchor at ukr.net
      5 Alexander Lohnau_alexander.lohnau at gmx.de
      5 Heiko Becker_mail at heiko-becker.de
      6 Friedrich W. H. Kossebau_kossebau at kde.org
      8 Andre Heinecke_aheinecke at gnupg.org
     16 Nicolas Fella_nicolas.fella at gmx.de
     23 Daniel Vr��til_dvratil at kde.org
     25 Heiko Becker_heiko.becker at kde.org
     41 David Jarvie_djarvie at kde.org
     47 Volker Krause_vkrause at kde.org
     57 Claudio Cambra_claudio.cambra at kde.org
     58 Carl Schwan_carl.schwan at gnupg.com
     72 Carl Schwan_carl at carlschwan.eu
    123 Ingo Kl��cker_dev at ingo-kloecker.de
   1115 Laurent Montel_montel at kde.org
Committer: 35
Total: 1631
-------------- 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/20231025/49e37e4b/attachment-0001.sig>


More information about the kde-pim mailing list