kmenubar

Aaron J. Seigo aseigo at kde.org
Tue Feb 21 13:14:29 UTC 2012


hi :)

KMenuBar uses KSelectionWatcher in libkdeui. 

the entire purpose of KMenuBar is to export a top-level menu (aka "macOS 
style"). it's only relevant on Linux/Unix and these days we have the DBusMenu 
specification which is supported by Qt itself. admittedly the DBusMenu spec is 
more limited in what it can host (e.g. no custom widgets in menus) but that is 
probably a good thing anyways (limits misuse, even if well-intentioned, of 
menus) and it is being used successfully by various apps/plasmoids.

KMenuBar is used directly by a handful of significant apps (korganizer, amarok, 
kdevelop, umbrello, ..) as well as in KXMLGuiBuilder and KMainWindow in 
libkdeui. the kdeui classes can be ported to use QMenuBar quite easily. we'll 
need to keep KMenuBar around for the apps that use it, however.

proposal:

* move KMenuBar and kmanagerselection.h/cpp to staging/kde4support/kdeui/

* port xmlgui related classes from KMenuBar to QMenuBar

the latter is a source incompatible change, though a trivial one. use of 
KMenuBar in apps seems to be limited to the inheritted QMenuBar functionality 
so the impact should be tiny when they port away from kde4support libs.

this will leave kde-workspace with a small but solvable problem when 
Frameworks is adopted. we don't want to link against kde4support libraries if 
at all possible, so the most sensible thing might be to, at that point, simply 
copy kmanagerselection.h/cpp into kde-workspace/libs/kworkspace/ for use by 
workspace libs. (it used for startup tracking and some things in kwin.)

feedback?

-- 
Aaron J. Seigo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20120221/db7da53f/attachment.sig>


More information about the Kde-frameworks-devel mailing list