From kde-core-devel Sat Apr 01 02:06:44 2006 From: Hamish Rodda Date: Sat, 01 Apr 2006 02:06:44 +0000 To: kde-core-devel Subject: Re: Farewell KAccel, you have served us well Message-Id: <200604011306.47484.rodda () kde ! org> X-MARC-Message: https://marc.info/?l=kde-core-devel&m=114385721830373 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--nextPart2006349.GL9AmQXKAo" --nextPart2006349.GL9AmQXKAo Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Saturday 01 April 2006 02:41, Benjamin Reed wrote: > On 3/27/06, Hamish Rodda wrote: > > Now that QAction has taken over the shortcut management, it is time to > > remove KAccel from kdelibs. > > judging by the amount of KAccel stuff that changed in trunk, I take it > this has been committed now? > > I'm running into issues with Qt/Mac in that kdeui/kglobalaccel has not > excised all the X11 bits, it looks like: > > ---(snip!)--- > Building CXX object kdeui/CMakeFiles/kdeui.dir/kglobalaccel_x11.o > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.h:67: error: 'XEvent' > has not been declared > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.h:69: error: expected > ',' or '...' before '*' token > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.h:69: error: ISO C++ > forbids declaration of 'XEvent' with no type > /usr/include/X11/Xlib.h:510: error: conflicting declaration 'typedef > struct _XDisplay Display' > /Users/ranger/cvs/kdelibs/kdecore/kapplication.h:45: error: 'Display' > has a previous declaration as 'typedef void Display' > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp: In member > function 'bool KGlobalAccelImpl::grabKey(int, bool)': > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp:125: error: > incomplete type 'QX11Info' used in nested name specifier > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp:126: error: > incomplete type 'QX11Info' used in nested name specifier > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp:128: error: > incomplete type 'QX11Info' used in nested name specifier > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp:128: error: > incomplete type 'QX11Info' used in nested name specifier > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp: At global scope: > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp:146: error: > prototype for 'bool KGlobalAccelImpl::x11Event(XEvent*)' does not > match any in class 'KGlobalAccelImpl' > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.h:67: error: > candidate is: virtual bool KGlobalAccelImpl::x11Event(int*) > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp: In member > function 'bool KGlobalAccelImpl::x11Event(XEvent*)': > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp:155: error: > invalid conversion from 'XEvent*' to 'int' > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp:155: error: > initializing argument 1 of 'bool KGlobalAccelImpl::x11KeyPress(int)' > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp: At global scope: > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp:178: error: > prototype for 'bool KGlobalAccelImpl::x11KeyPress(const XEvent*)' does > not match any in class 'KGlobalAccelImpl' > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.h:69: error: > candidate is: bool KGlobalAccelImpl::x11KeyPress(int) > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp: In member > function 'bool KGlobalAccelImpl::x11KeyPress(const XEvent*)': > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp:182: error: > incomplete type 'QX11Info' used in nested name specifier > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp:183: error: > incomplete type 'QX11Info' used in nested name specifier > /Users/ranger/cvs/kdelibs/kdeui/kglobalaccel_x11.cpp:193: error: > incomplete type 'QX11Info' used in nested name specifier > make[2]: *** [kdeui/CMakeFiles/kdeui.dir/kglobalaccel_x11.o] Error 1 > make[1]: *** [kdeui/CMakeFiles/kdeui.dir/all] Error 2 > make: *** [all] Error 2 > ---(snip!)--- > > I thought we had pure-qt-based implementations of accelerator stuff > now; does there need to be a _mac implementation of this? Or is this > just vestiges of things that haven't been ported yet? We're now as pure as we can be... Qt doesn't do global accelerators (as far= as=20 I can see). If you look at kdecore/kglobalaccel_mac.h you'll see that nobo= dy=20 created an initial port for mac (same for windows, btw). In order to make this work for mac, you'll need to provide a KGlobalAccelIm= pl=20 designed for mac and use that in the build. For now I can do the same thin= g=20 as in kglobalaccel_mac.h for you if you like... Cheers, Hamish. --nextPart2006349.GL9AmQXKAo Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) iD8DBQBELeA3H8BtnSmIlUYRAiaHAJ0fpWm/Y9D2dl87FU/GX1u/YagMSwCgtMTm ajdUTSzdcy3Mn1reyIiiOm0= =4x6U -----END PGP SIGNATURE----- --nextPart2006349.GL9AmQXKAo--