Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kwidgetsaddons for openSUSE:Factory 
checked in at 2021-12-13 20:41:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kwidgetsaddons (Old)
 and      /work/SRC/openSUSE:Factory/.kwidgetsaddons.new.2520 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kwidgetsaddons"

Mon Dec 13 20:41:17 2021 rev:97 rq:939247 version:5.89.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kwidgetsaddons/kwidgetsaddons.changes    
2021-11-15 15:27:07.417835651 +0100
+++ /work/SRC/openSUSE:Factory/.kwidgetsaddons.new.2520/kwidgetsaddons.changes  
2021-12-13 20:44:57.600489221 +0100
@@ -1,0 +2,10 @@
+Sat Dec  4 22:57:00 UTC 2021 - Christophe Giboudeaux <[email protected]>
+
+- Update to 5.89.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/frameworks/5/5.89.0
+- Changes since 5.88.0:
+  * KAcceleratorManager: Take into account actions with Alt+X shortcuts 
(kde#444990)
+
+-------------------------------------------------------------------

Old:
----
  kwidgetsaddons-5.88.0.tar.xz
  kwidgetsaddons-5.88.0.tar.xz.sig

New:
----
  kwidgetsaddons-5.89.0.tar.xz
  kwidgetsaddons-5.89.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kwidgetsaddons.spec ++++++
--- /var/tmp/diff_new_pack.3T0PHj/_old  2021-12-13 20:44:58.280489304 +0100
+++ /var/tmp/diff_new_pack.3T0PHj/_new  2021-12-13 20:44:58.288489305 +0100
@@ -17,14 +17,14 @@
 
 
 %define lname   libKF5WidgetsAddons5
-%define _tar_path 5.88
+%define _tar_path 5.89
 # Full KF5 version (e.g. 5.33.0)
 %{!?_kf5_version: %global _kf5_version %{version}}
 # Last major and minor KF5 version (e.g. 5.33)
 %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | 
awk -F. '{print $1"."$2}')}
 %bcond_without lang
 Name:           kwidgetsaddons
-Version:        5.88.0
+Version:        5.89.0
 Release:        0
 Summary:        Large set of desktop widgets
 License:        LGPL-2.1-or-later


++++++ kwidgetsaddons-5.88.0.tar.xz -> kwidgetsaddons-5.89.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwidgetsaddons-5.88.0/CMakeLists.txt 
new/kwidgetsaddons-5.89.0/CMakeLists.txt
--- old/kwidgetsaddons-5.88.0/CMakeLists.txt    2021-11-06 14:26:10.000000000 
+0100
+++ new/kwidgetsaddons-5.89.0/CMakeLists.txt    2021-12-04 19:53:17.000000000 
+0100
@@ -1,10 +1,10 @@
 cmake_minimum_required(VERSION 3.16)
 
-set(KF_VERSION "5.88.0") # handled by release scripts
+set(KF_VERSION "5.89.0") # handled by release scripts
 project(KWidgetsAddons VERSION ${KF_VERSION})
 
 include(FeatureSummary)
-find_package(ECM 5.87.0  NO_MODULE)
+find_package(ECM 5.89.0  NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake 
Modules." URL "https://commits.kde.org/extra-cmake-modules";)
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwidgetsaddons-5.88.0/LICENSES/CC0-1.0.txt 
new/kwidgetsaddons-5.89.0/LICENSES/CC0-1.0.txt
--- old/kwidgetsaddons-5.88.0/LICENSES/CC0-1.0.txt      1970-01-01 
01:00:00.000000000 +0100
+++ new/kwidgetsaddons-5.89.0/LICENSES/CC0-1.0.txt      2021-12-04 
19:53:17.000000000 +0100
@@ -0,0 +1,121 @@
+Creative Commons Legal Code
+
+CC0 1.0 Universal
+
+    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
+    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
+    INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
+    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
+    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
+    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
+    HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer
+exclusive Copyright and Related Rights (defined below) upon the creator
+and subsequent owner(s) (each and all, an "owner") of an original work of
+authorship and/or a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for
+the purpose of contributing to a commons of creative, cultural and
+scientific works ("Commons") that the public can reliably and without fear
+of later claims of infringement build upon, modify, incorporate in other
+works, reuse and redistribute as freely as possible in any form whatsoever
+and for any purposes, including without limitation commercial purposes.
+These owners may contribute to the Commons to promote the ideal of a free
+culture and the further production of creative, cultural and scientific
+works, or to gain reputation or greater distribution for their Work in
+part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any
+expectation of additional consideration or compensation, the person
+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
+is an owner of Copyright and Related Rights in the Work, voluntarily
+elects to apply CC0 to the Work and publicly distribute the Work under its
+terms, with knowledge of his or her Copyright and Related Rights in the
+Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be
+protected by copyright and related or neighboring rights ("Copyright and
+Related Rights"). Copyright and Related Rights include, but are not
+limited to, the following:
+
+  i. the right to reproduce, adapt, distribute, perform, display,
+     communicate, and translate a Work;
+ ii. moral rights retained by the original author(s) and/or performer(s);
+iii. publicity and privacy rights pertaining to a person's image or
+     likeness depicted in a Work;
+ iv. rights protecting against unfair competition in regards to a Work,
+     subject to the limitations in paragraph 4(a), below;
+  v. rights protecting the extraction, dissemination, use and reuse of data
+     in a Work;
+ vi. database rights (such as those arising under Directive 96/9/EC of the
+     European Parliament and of the Council of 11 March 1996 on the legal
+     protection of databases, and under any national implementation
+     thereof, including any amended or successor version of such
+     directive); and
+vii. other similar, equivalent or corresponding rights throughout the
+     world based on applicable law or treaty, and any national
+     implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention
+of, applicable law, Affirmer hereby overtly, fully, permanently,
+irrevocably and unconditionally waives, abandons, and surrenders all of
+Affirmer's Copyright and Related Rights and associated claims and causes
+of action, whether now known or unknown (including existing as well as
+future claims and causes of action), in the Work (i) in all territories
+worldwide, (ii) for the maximum duration provided by applicable law or
+treaty (including future time extensions), (iii) in any current or future
+medium and for any number of copies, and (iv) for any purpose whatsoever,
+including without limitation commercial, advertising or promotional
+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
+member of the public at large and to the detriment of Affirmer's heirs and
+successors, fully intending that such Waiver shall not be subject to
+revocation, rescission, cancellation, termination, or any other legal or
+equitable action to disrupt the quiet enjoyment of the Work by the public
+as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason
+be judged legally invalid or ineffective under applicable law, then the
+Waiver shall be preserved to the maximum extent permitted taking into
+account Affirmer's express Statement of Purpose. In addition, to the
+extent the Waiver is so judged Affirmer hereby grants to each affected
+person a royalty-free, non transferable, non sublicensable, non exclusive,
+irrevocable and unconditional license to exercise Affirmer's Copyright and
+Related Rights in the Work (i) in all territories worldwide, (ii) for the
+maximum duration provided by applicable law or treaty (including future
+time extensions), (iii) in any current or future medium and for any number
+of copies, and (iv) for any purpose whatsoever, including without
+limitation commercial, advertising or promotional purposes (the
+"License"). The License shall be deemed effective as of the date CC0 was
+applied by Affirmer to the Work. Should any part of the License for any
+reason be judged legally invalid or ineffective under applicable law, such
+partial invalidity or ineffectiveness shall not invalidate the remainder
+of the License, and in such case Affirmer hereby affirms that he or she
+will not (i) exercise any of his or her remaining Copyright and Related
+Rights in the Work or (ii) assert any associated claims and causes of
+action with respect to the Work, in either case contrary to Affirmer's
+express Statement of Purpose.
+
+4. Limitations and Disclaimers.
+
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
+    surrendered, licensed or otherwise affected by this document.
+ b. Affirmer offers the Work as-is and makes no representations or
+    warranties of any kind concerning the Work, express, implied,
+    statutory or otherwise, including without limitation warranties of
+    title, merchantability, fitness for a particular purpose, non
+    infringement, or the absence of latent or other defects, accuracy, or
+    the present or absence of errors, whether or not discoverable, all to
+    the greatest extent permissible under applicable law.
+ c. Affirmer disclaims responsibility for clearing rights of other persons
+    that may apply to the Work or any use thereof, including without
+    limitation any person's Copyright and Related Rights in the Work.
+    Further, Affirmer disclaims responsibility for obtaining any necessary
+    consents, permissions or other rights required for any use of the
+    Work.
+ d. Affirmer understands and acknowledges that Creative Commons is not a
+    party to this document and has no duty or obligation with respect to
+    this CC0 or use of the Work.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwidgetsaddons-5.88.0/autotests/kacceleratormanagertest.cpp 
new/kwidgetsaddons-5.89.0/autotests/kacceleratormanagertest.cpp
--- old/kwidgetsaddons-5.88.0/autotests/kacceleratormanagertest.cpp     
2021-11-06 14:26:10.000000000 +0100
+++ new/kwidgetsaddons-5.89.0/autotests/kacceleratormanagertest.cpp     
2021-12-04 19:53:17.000000000 +0100
@@ -8,6 +8,7 @@
 #include <kacceleratormanager.h>
 
 #include <QMenu>
+#include <QPushButton>
 #include <QTest>
 
 #define QSL QStringLiteral
@@ -75,6 +76,26 @@
         QCOMPARE(texts, expectedTexts);
     }
 
+    void testExistingActionsShortcutsAreTakenIntoAccount()
+    {
+        std::unique_ptr<QWidget> w(new QWidget());
+
+        QPushButton *pb = new QPushButton(QSL("Open"), w.get());
+
+        KAcceleratorManager::manage(w.get());
+        QCOMPARE(pb->text(), QSL("&Open"));
+
+        delete pb;
+        pb = new QPushButton(QSL("Open"), w.get());
+
+        QAction *a = new QAction();
+        a->setShortcut(QSL("Alt+O"));
+        w->addAction(a);
+
+        KAcceleratorManager::manage(w.get());
+        QCOMPARE(pb->text(), QSL("O&pen"));
+    }
+
     void testActionIconTexts_data()
     {
         QTest::addColumn<QStringList>("initialTexts");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwidgetsaddons-5.88.0/po/hsb/kwidgetsaddons5_qt.po 
new/kwidgetsaddons-5.89.0/po/hsb/kwidgetsaddons5_qt.po
--- old/kwidgetsaddons-5.88.0/po/hsb/kwidgetsaddons5_qt.po      2021-11-06 
14:26:10.000000000 +0100
+++ new/kwidgetsaddons-5.89.0/po/hsb/kwidgetsaddons5_qt.po      2021-12-04 
19:53:17.000000000 +0100
@@ -20,7 +20,6 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
 "%100==4 ? 2 : 3;\n"
-"X-Generator: KAider 0.1\n"
 "X-Qt-Contexts: true\n"
 
 #. Generic sans serif font presented in font choosers. When selected, the 
system will choose a real font, mandated by distro settings.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwidgetsaddons-5.88.0/po/ko/kwidgetsaddons5_qt.po 
new/kwidgetsaddons-5.89.0/po/ko/kwidgetsaddons5_qt.po
--- old/kwidgetsaddons-5.88.0/po/ko/kwidgetsaddons5_qt.po       2021-11-06 
14:26:10.000000000 +0100
+++ new/kwidgetsaddons-5.89.0/po/ko/kwidgetsaddons5_qt.po       2021-12-04 
19:53:17.000000000 +0100
@@ -9,7 +9,7 @@
 "Project-Id-Version: kdelibs4\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n";
 "POT-Creation-Date: 2014-03-23 01:50+0000\n"
-"PO-Revision-Date: 2021-07-31 14:47+0200\n"
+"PO-Revision-Date: 2021-11-12 00:51+0100\n"
 "Last-Translator: Shinjo Park <[email protected]>\n"
 "Language-Team: Korean <[email protected]>\n"
 "Language: ko\n"
@@ -17,7 +17,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Lokalize 20.12.3\n"
+"X-Generator: Lokalize 21.08.1\n"
 "X-Qt-Contexts: true\n"
 
 #. Generic sans serif font presented in font choosers. When selected, the 
system will choose a real font, mandated by distro settings.
@@ -83,7 +83,7 @@
 #: kcharselect-translation.cpp:11 kcharselect.cpp:470 kcharselectdata.cpp:285
 msgctxt "KCharSelectData|KCharSelect section name"
 msgid "All"
-msgstr ""
+msgstr "??????"
 
 #: kcharselect-translation.cpp:12
 msgctxt "KCharSelectData|KCharSelect section name"
@@ -1283,7 +1283,7 @@
 #: kcharselectdata.cpp:448
 msgctxt "KCharSelectData|KCharselect unicode section name"
 msgid "All"
-msgstr ""
+msgstr "??????"
 
 #: kcharselectdata.cpp:760
 msgctxt "KCharSelectData|"
@@ -1636,7 +1636,7 @@
 #: kfontchooser.cpp:213
 msgctxt "KFontChooser|@item font"
 msgid "Bold Condensed Oblique"
-msgstr ""
+msgstr "?????? ????????? ????????????"
 
 #: kfontchooser.cpp:257
 msgctxt "KFontChooser|"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwidgetsaddons-5.88.0/po/zh_CN/kwidgetsaddons5_qt.po 
new/kwidgetsaddons-5.89.0/po/zh_CN/kwidgetsaddons5_qt.po
--- old/kwidgetsaddons-5.88.0/po/zh_CN/kwidgetsaddons5_qt.po    2021-11-06 
14:26:10.000000000 +0100
+++ new/kwidgetsaddons-5.89.0/po/zh_CN/kwidgetsaddons5_qt.po    2021-12-04 
19:53:17.000000000 +0100
@@ -14,7 +14,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: kdeorg\n"
-"PO-Revision-Date: 2021-10-29 13:25\n"
+"PO-Revision-Date: 2021-11-30 15:21\n"
 "Language-Team: Chinese Simplified\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwidgetsaddons-5.88.0/src/CMakeLists.txt 
new/kwidgetsaddons-5.89.0/src/CMakeLists.txt
--- old/kwidgetsaddons-5.88.0/src/CMakeLists.txt        2021-11-06 
14:26:10.000000000 +0100
+++ new/kwidgetsaddons-5.89.0/src/CMakeLists.txt        2021-12-04 
19:53:17.000000000 +0100
@@ -6,86 +6,179 @@
 ecm_create_qm_loader(KF5WidgetsAddons kwidgetsaddons5_qt)
 
 target_sources(KF5WidgetsAddons PRIVATE
-  kacceleratormanager.cpp
-  kanimatedbutton.cpp
-  kbusyindicatorwidget.cpp
-  kcharselect.cpp
-  kcharselectdata.cpp
-  kcollapsiblegroupbox.cpp
-  kcolorbutton.cpp
-  kcolumnresizer.cpp
-  kdatecombobox.cpp
-  kdatepicker.cpp
-  kdatetable.cpp
-  kdatetimeedit.cpp
-  kfontaction.cpp
-  knewpasswordwidget.cpp
-  kfontsizeaction.cpp
-  kpopupframe.cpp
-  kselectaction.cpp
-  ktimecombobox.cpp
-  kdragwidgetdecorator.cpp
-  kdualaction.cpp
-  kfontchooser.cpp
-  kfontchooserdialog.cpp
-  kguiitem.cpp
-  kled.cpp
-  kmessagebox.cpp
-  kmessagebox_p.cpp
-  kmultitabbar.cpp
-  kstandardguiitem.cpp
-  kurllabel.cpp # Not good enough quality. Needs to use QUrl instead of 
QString and should not inherit QLabel, but hold it as a member instead.
-  kcapacitybar.cpp
-  kfontrequester.cpp
-  kpassworddialog.cpp
-  kruler.cpp
-  krecentfilesmenu.cpp
-  kselector.cpp
-  kxyselector.cpp
-  kseparator.cpp
-  ksqueezedtextlabel.cpp
-  ktitlewidget.cpp
-  ktoggleaction.cpp
-  ktogglefullscreenaction.cpp
-  kviewstateserializer.cpp
-  kviewstatemaintainerbase.cpp
-  keditlistwidget.cpp
-  kcursor.cpp
-  kratingwidget.cpp
-  kratingpainter.cpp
-  kactionselector.cpp
-  kcolorcombo.cpp
-  ktoolbarspaceraction.cpp
-  kpixmapregionselectordialog.cpp
-  kpixmapregionselectorwidget.cpp
-  kactionmenu.cpp
-  ktoolbarlabelaction.cpp
-  ktoolbarpopupaction.cpp
-  kpagedialog.cpp
-  kpagemodel.cpp
-  kpageview.cpp
-  kpageview_p.cpp
-  kpagewidget.cpp
-  kpagewidgetmodel.cpp
-  kassistantdialog.cpp
-  kmessagewidget.cpp
-  kmessagedialog.cpp
-  knewpassworddialog.cpp
-  lineediturldropeventfilter.cpp
-  kpasswordlineedit.cpp
-  kpixmapsequence.cpp
-  kpixmapsequenceoverlaypainter.cpp
-  kpixmapsequencewidget.cpp
-  kmimetypechooser.cpp
-  kmimetypeeditor.cpp
-  common_helpers.cpp
-  ksplittercollapserbutton.cpp
-  kstyleextensions.cpp
-  ktooltipwidget.cpp
-  ktwofingerswipe.cpp
-  ktwofingertap.cpp
+    common_helpers.cpp
+    common_helpers_p.h
+    fonthelpers_p.h
+    kacceleratormanager.cpp
+    kacceleratormanager.h
+    kacceleratormanager_p.h
+    kactionmenu.cpp
+    kactionmenu.h
+    kactionselector.cpp
+    kactionselector.h
+    kanimatedbutton.cpp
+    kanimatedbutton.h
+    kassistantdialog.cpp
+    kassistantdialog.h
+    kbusyindicatorwidget.cpp
+    kbusyindicatorwidget.h
+    kcapacitybar.cpp
+    kcapacitybar.h
+    kcharselect.cpp
+    kcharselectdata.cpp
+    kcharselectdata_p.h
+    kcharselect.h
+    kcharselect_p.h
+    kcollapsiblegroupbox.cpp
+    kcollapsiblegroupbox.h
+    kcolorbutton.cpp
+    kcolorbutton.h
+    kcolorcombo.cpp
+    kcolorcombo.h
+    kcolumnresizer.cpp
+    kcolumnresizer.h
+    kcursor.cpp
+    kcursor.h
+    kcursor_p.h
+    kdatecombobox.cpp
+    kdatecombobox.h
+    kdatepicker.cpp
+    kdatepicker.h
+    kdatepicker_p.h
+    kdatetable.cpp
+    kdatetable_p.h
+    kdatetimeedit.cpp
+    kdatetimeedit.h
+    kdragwidgetdecorator.cpp
+    kdragwidgetdecorator.h
+    kdualaction.cpp
+    kdualaction.h
+    kdualaction_p.h
+    keditlistwidget.cpp
+    keditlistwidget.h
+    kfontaction.cpp
+    kfontaction.h
+    kfontchooser.cpp
+    kfontchooserdialog.cpp
+    kfontchooserdialog.h
+    kfontchooser.h
+    kfontrequester.cpp
+    kfontrequester.h
+    kfontsizeaction.cpp
+    kfontsizeaction.h
+    kguiitem.cpp
+    kguiitem.h
+    kled.cpp
+    kled.h
+    kmessagebox.cpp
+    kmessageboxdontaskagaininterface.h
+    kmessagebox.h
+    kmessageboxnotifyinterface.h
+    kmessagebox_p.cpp
+    kmessagebox_p.h
+    kmessagedialog.cpp
+    kmessagedialog.h
+    kmessagewidget.cpp
+    kmessagewidget.h
+    kmimetypechooser.cpp
+    kmimetypechooser.h
+    kmimetypeeditor.cpp
+    kmimetypeeditor.h
+    kmultitabbar.cpp
+    kmultitabbar.h
+    kmultitabbar_p.h
+    knewpassworddialog.cpp
+    knewpassworddialog.h
+    knewpasswordwidget.cpp
+    knewpasswordwidget.h
+    kpagedialog.cpp
+    kpagedialog.h
+    kpagedialog_p.h
+    kpagemodel.cpp
+    kpagemodel.h
+    kpagemodel_p.h
+    kpageview.cpp
+    kpageview.h
+    kpageview_p.cpp
+    kpageview_p.h
+    kpagewidget.cpp
+    kpagewidget.h
+    kpagewidgetmodel.cpp
+    kpagewidgetmodel.h
+    kpagewidgetmodel_p.h
+    kpagewidget_p.h
+    kpassworddialog.cpp
+    kpassworddialog.h
+    kpasswordlineedit.cpp
+    kpasswordlineedit.h
+    kpixmapregionselectordialog.cpp
+    kpixmapregionselectordialog.h
+    kpixmapregionselectorwidget.cpp
+    kpixmapregionselectorwidget.h
+    kpixmapsequence.cpp
+    kpixmapsequence.h
+    kpixmapsequenceoverlaypainter.cpp
+    kpixmapsequenceoverlaypainter.h
+    kpixmapsequencewidget.cpp
+    kpixmapsequencewidget.h
+    kpopupframe.cpp
+    kpopupframe.h
+    kratingpainter.cpp
+    kratingpainter.h
+    kratingwidget.cpp
+    kratingwidget.h
+    krecentfilesmenu.cpp
+    krecentfilesmenu.h
+    kruler.cpp
+    kruler.h
+    kselectaction.cpp
+    kselectaction.h
+    kselectaction_p.h
+    kselector.cpp
+    kselector.h
+    kseparator.cpp
+    kseparator.h
+    ksplittercollapserbutton.cpp
+    ksplittercollapserbutton.h
+    ksqueezedtextlabel.cpp
+    ksqueezedtextlabel.h
+    kstandardguiitem.cpp
+    kstandardguiitem.h
+    kstyleextensions.cpp
+    kstyleextensions.h
+    ktimecombobox.cpp
+    ktimecombobox.h
+    ktitlewidget.cpp
+    ktitlewidget.h
+    ktoggleaction.cpp
+    ktoggleaction.h
+    ktoggleaction_p.h
+    ktogglefullscreenaction.cpp
+    ktogglefullscreenaction.h
+    ktoolbarlabelaction.cpp
+    ktoolbarlabelaction.h
+    ktoolbarpopupaction.cpp
+    ktoolbarpopupaction.h
+    ktoolbarspaceraction.cpp
+    ktoolbarspaceraction.h
+    ktooltipwidget.cpp
+    ktooltipwidget.h
+    ktwofingerswipe.cpp
+    ktwofingerswipe.h
+    ktwofingertap.cpp
+    ktwofingertap.h
+    kurllabel.cpp # Not good enough quality. Needs to use QUrl instead of 
QString and should not inherit QLabel, but hold it as a member instead.
+    kurllabel.h
+    kviewstatemaintainerbase.cpp
+    kviewstatemaintainerbase.h
+    kviewstateserializer.cpp
+    kviewstateserializer.h
+    kxyselector.cpp
+    kxyselector.h
+    lineediturldropeventfilter.cpp
+    lineediturldropeventfilter.h
 
-  icons.qrc
+    icons.qrc
 )
 
 set(kwidgetsaddons_UI_SRCS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwidgetsaddons-5.88.0/src/kacceleratormanager.cpp 
new/kwidgetsaddons-5.89.0/src/kacceleratormanager.cpp
--- old/kwidgetsaddons-5.88.0/src/kacceleratormanager.cpp       2021-11-06 
14:26:10.000000000 +0100
+++ new/kwidgetsaddons-5.89.0/src/kacceleratormanager.cpp       2021-12-04 
19:53:17.000000000 +0100
@@ -94,9 +94,8 @@
 
     Item *root = new Item;
 
-    manageWidget(widget, root);
-
     QString used;
+    manageWidget(widget, root, used);
     calculateAccelerators(root, used);
     delete root;
 }
@@ -175,7 +174,7 @@
     }
 }
 
-void KAcceleratorManagerPrivate::traverseChildren(QWidget *widget, Item *item)
+void KAcceleratorManagerPrivate::traverseChildren(QWidget *widget, Item *item, 
QString &used)
 {
     const QList<QWidget *> childList = widget->findChildren<QWidget *>();
     for (QWidget *w : childList) {
@@ -192,12 +191,29 @@
             continue;
         }
 
-        manageWidget(w, item);
+        manageWidget(w, item, used);
     }
 }
 
-void KAcceleratorManagerPrivate::manageWidget(QWidget *w, Item *item)
+void KAcceleratorManagerPrivate::manageWidget(QWidget *w, Item *item, QString 
&used)
 {
+    // If the widget has any action whose shortcuts contain keystrokes in the
+    // form of Alt+X we need to mark X as used, otherwise we may assign it as 
accelerator
+    // and there will be a conflict when trying to use it
+    const QList<QAction *> widgetActions = w->actions();
+    for (QAction *action : widgetActions) {
+        const QList<QKeySequence> actionShortcuts = action->shortcuts();
+        for (const QKeySequence &sequence : actionShortcuts) {
+            const QString sequenceAsText = 
sequence.toString(QKeySequence::PortableText);
+            const QStringList splitSequence = 
sequenceAsText.split(QStringLiteral(", "));
+            for (const QString &shortcut : splitSequence) {
+                if (shortcut.length() == 5 && 
shortcut.startsWith(QStringLiteral("Alt+"))) {
+                    used.append(shortcut.right(1));
+                }
+            }
+        }
+    }
+
     // first treat the special cases
 
     QTabBar *tabBar = qobject_cast<QTabBar *>(w);
@@ -247,7 +263,7 @@
     }
 
     if (w->inherits("KUrlRequester")) {
-        traverseChildren(w, item);
+        traverseChildren(w, item, used);
         return;
     }
 
@@ -316,7 +332,7 @@
             item->addChild(i);
         }
     }
-    traverseChildren(w, item);
+    traverseChildren(w, item, used);
 }
 
 void KAcceleratorManagerPrivate::manageTabBar(QTabBar *bar, Item *item)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwidgetsaddons-5.88.0/src/kacceleratormanager_p.h 
new/kwidgetsaddons-5.89.0/src/kacceleratormanager_p.h
--- old/kwidgetsaddons-5.88.0/src/kacceleratormanager_p.h       2021-11-06 
14:26:10.000000000 +0100
+++ new/kwidgetsaddons-5.89.0/src/kacceleratormanager_p.h       2021-12-04 
19:53:17.000000000 +0100
@@ -227,9 +227,9 @@
     typedef QList<Item *> ItemList;
 
 private:
-    static void traverseChildren(QWidget *widget, Item *item);
+    static void traverseChildren(QWidget *widget, Item *item, QString &used);
 
-    static void manageWidget(QWidget *widget, Item *item);
+    static void manageWidget(QWidget *widget, Item *item, QString &used);
     static void manageMenuBar(QMenuBar *mbar, Item *item);
     static void manageTabBar(QTabBar *bar, Item *item);
     static void manageDockWidget(QDockWidget *dock, Item *item);

Reply via email to