Review Request 126895: Make KGlobalAccel dependency in KXmlGui optional

Martin Gräßlin mgraesslin at kde.org
Wed Jan 27 09:20:49 UTC 2016



> On Jan. 27, 2016, 8:02 a.m., Martin Gräßlin wrote:
> > Just in case that there is misunderstanding going on:
> > 
> > > Global Shortcuts (we don't have kded so this won't work for us anyway)
> > 
> > Global shortcut handling does not depend on kded!
> > 
> > Also I want to point out to http://commits.kde.org/kglobalaccel/40d047f013dc6f0e2f78066184a51a8c6e22eccd which was especially written for the behavior in xmlgui. As long as you don't configure a shortcut on a QAction it won't actually start the runtime part.
> > 
> > If the motivation is to ensure you don't need it on Krita on non-Linux: just don't ship the binary. You don't need it.
> 
> Andre Heinecke wrote:
>     Yes misunderstanding on my side which component handles globalshortcuts at runtime. I only knew that they never were available in Gpg4win / Kleopatra as we didn't ship lots of runtime dependencies.
>     
>     But with Frameworks I want to clean up the build dependencies, too. In KDE4 we had so many dependencies that we were unable to manage them as part of the Gpg4win build system and had to use Emerge on Windows to prepare binary packages of Kleopatra. This made Kleopatra maintenance and updates really hard and made it nearly impossible for a third party to rebuild everything from source. (example: kdelibs neeeded phonon, phonon on windows needed the vlc backend so we had a build dependency against vlc (and it's dependencies) even though Kleopatra does not play a single sound and hat no runtime support for any of this)

> But with Frameworks I want to clean up the build dependencies, too.

Understandable. Thus I suggest to cut down the dependencies of KGlobalAccel. Disable runtime part and it only depends on find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED DBus Widgets). And there we can also work on. So is a tier1 libray not depending on DBus sufficient or do you really, really get rid of the dependency?


- Martin


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/126895/#review91635
-----------------------------------------------------------


On Jan. 27, 2016, 9:53 a.m., Andre Heinecke wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/126895/
> -----------------------------------------------------------
> 
> (Updated Jan. 27, 2016, 9:53 a.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Repository: kxmlgui
> 
> 
> Description
> -------
> 
> This is part of a three patch series that aims to allow a "leightweight" build of KXmlGui without DBus and KService dependencies. I've added the patches to: https://phabricator.kde.org/T1390 I'm not sure if I can create reviews that depend on changes from another review, I'll try and if it does not work I'll open one after another.
> 
> Global shortcuts are a nice optional feature to have. But as they are not strictly neccessary for the core functionality of KXmlGui, as I see it, and pull in an extra dependency to DBus and need runtime support on the target platform they should be optional.
> 
> This (and the other changes) add lots of unloved ifdefs, I could understand if thats disliked. But let me explain the background of this change:
> 
> I'm currently updating Kleopatra in Gpg4win to a KDE Frameworks based build. This is nice. Frameworks are awesome, I can just pick what I need and don't have dependencies to lots of things that are actually not needed.
> Then comes KXmlGui, adds 20 Framework dependencies, and I don't know what to do.
> I want:
> - configureable "KDE Style" GUI
> - configurable Shortcuts
> - KDE Standardactions (e.g. Help / WhatsThis)
> - kbugreport
> - KDE Integration in an KDE Environment
> 
> But I don't want:
> - Global Shortcuts (we don't have kded so this won't work for us anyway)
> - DBus (our dbus is directory scoped and there are no other applications using dbus installed by us)
> - KService dependency (System configuration has been troublesome in the past on Windows and is not neccessary if we provide just a single installation)
> 
> So these Patches are my way out of this Problem. Without the optional packages KXmlGui provides what I want and does not depend on what I don't want.
> 
> 
> Diffs
> -----
> 
>   CMakeLists.txt 9d79619 
>   src/CMakeLists.txt 58f0c7a 
>   src/config-xmlgui.h.cmake 07c882f 
>   src/kactioncollection.cpp 9c45725 
>   src/kkeysequencewidget.cpp b2e2b6a 
>   src/kshortcuteditwidget.cpp 670d031 
>   src/kshortcutseditor.cpp 99dfb3d 
>   src/kshortcutseditoritem.cpp 461a90c 
>   src/kxmlguifactory.cpp 2767e69 
> 
> Diff: https://git.reviewboard.kde.org/r/126895/diff/
> 
> 
> Testing
> -------
> 
> Compiled with and without dependency. Tested Kleopatra against it.
> Not yet tested on Windows, will do so in the next days.
> 
> 
> Thanks,
> 
> Andre Heinecke
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20160127/dff2423f/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list