From 9fbc86daa50f9209e2f5e1524a204adf906caefe Mon Sep 17 00:00:00 2001 From: andrea Date: Sat, 9 Sep 2023 16:43:54 +0200 Subject: [PATCH] Removed old code using qt<5.4 --- .../3Dconnexion/GuiNativeEventLinuxX11.cpp | 153 ++---------------- src/Gui/3Dconnexion/GuiNativeEventWin32.cpp | 8 +- 2 files changed, 17 insertions(+), 144 deletions(-) diff --git a/src/Gui/3Dconnexion/GuiNativeEventLinuxX11.cpp b/src/Gui/3Dconnexion/GuiNativeEventLinuxX11.cpp index 2ef1c983ff..f6bd8a955f 100644 --- a/src/Gui/3Dconnexion/GuiNativeEventLinuxX11.cpp +++ b/src/Gui/3Dconnexion/GuiNativeEventLinuxX11.cpp @@ -33,23 +33,22 @@ #include #include -#if QT_VERSION >= 0x050000 - #include "GuiRawInputEventFilter.h" - #undef Bool - #undef CursorShape - #undef Expose - #undef KeyPress - #undef KeyRelease - #undef FocusIn - #undef FocusOut - #undef FontChange - #undef None - #undef Status - #undef Unsorted - #undef False - #undef True - #undef Complex -#endif // #if QT_VERSION >= 0x050000 +#include "GuiRawInputEventFilter.h" +#undef Bool +#undef CursorShape +#undef Expose +#undef KeyPress +#undef KeyRelease +#undef FocusIn +#undef FocusOut +#undef FontChange +#undef None +#undef Status +#undef Unsorted +#undef False +#undef True +#undef Complex + Gui::GuiNativeEvent::GuiNativeEvent(Gui::GUIApplicationNativeEventAware *app) : GuiAbstractNativeEvent(app) @@ -66,26 +65,19 @@ Gui::GuiNativeEvent::~GuiNativeEvent() void Gui::GuiNativeEvent::initSpaceball(QMainWindow *window) { -#if QT_VERSION >= 0x050200 if (!QX11Info::isPlatformX11()) { Base::Console().Log("Application is not running on X11\n"); return; } -#endif if (spnav_x11_open(QX11Info::display(), window->winId()) == -1) { Base::Console().Log("Couldn't connect to spacenav daemon on X11. Please ignore if you don't have a spacemouse.\n"); } else { Base::Console().Log("Connected to spacenav daemon on X11\n"); mainApp->setSpaceballPresent(true); - -#if QT_VERSION >= 0x050000 mainApp->installNativeEventFilter(new Gui::RawInputEventFilter(&xcbEventFilter)); -#endif // #if QT_VERSION >= 0x050000 } } -#if QT_VERSION >= 0x050000 - bool Gui::GuiNativeEvent::xcbEventFilter(void *xcb_void, long* result) { Q_UNUSED(result); @@ -151,117 +143,4 @@ bool Gui::GuiNativeEvent::xcbEventFilter(void *xcb_void, long* result) } // end switch (navEvent.type) { } -#else // if QT_VERSION >= 0x050000 - -bool Gui::GuiNativeEvent::x11EventFilter(XEvent *event) -{ - /* - First we check if we have a motion flush event: - - If there are unprocessed motion events we are in a flooding situation. - In that case we wait with generating a Spaceball event. - - A motion event counter of 0 indicates that FreeCAD is ready to process - the event. A Spaceball event, using the saved motion data, is posted. - */ - static Display* display = QX11Info::display(); - static Atom motion_flush_event = XInternAtom(display, "FCMotionFlushEvent", false); - static int nMotionEvents = 0; - - if (event->type == ClientMessage) - { - Atom message_type = event->xclient.message_type; - - if (message_type == motion_flush_event) - { - nMotionEvents--; - if (nMotionEvents == 0) - { - mainApp->postMotionEvent(motionDataArray); - } - - return true; - } // XEvent: motion_flush_event - } // XEvent: ClientMessage - - /* - From here on we deal with spacenav events only: - - motion: The event data is saved and a self addressed flush event - is sent through the window system (XEvent). - In the case of an event flooding, the motion data is added up. - - button: A Spaceball event is posted (QInputEvent). - */ - spnav_event navEvent; - if (!spnav_x11_event(event, &navEvent)) - return false; - - if (navEvent.type == SPNAV_EVENT_MOTION) - { - /* - If the motion data of the preceding event has not been processed - through posting an Spaceball event (flooding situation), - the motion data provided by the incoming event is added to the saved data. - */ - int dx, dy, dz, drx, dry, drz; - - if (nMotionEvents == 0) - { - dx = 0; - dy = 0; - dz = 0; - drx = 0; - dry = 0; - drz = 0; - } - else - { - dx = motionDataArray[0]; - dy = motionDataArray[1]; - dz = motionDataArray[2]; - drx = motionDataArray[3]; - dry = motionDataArray[4]; - drz = motionDataArray[5]; - } - - motionDataArray[0] = -navEvent.motion.x; - motionDataArray[1] = -navEvent.motion.z; - motionDataArray[2] = -navEvent.motion.y; - motionDataArray[3] = -navEvent.motion.rx; - motionDataArray[4] = -navEvent.motion.rz; - motionDataArray[5] = -navEvent.motion.ry; - - motionDataArray[0] += dx; - motionDataArray[1] += dy; - motionDataArray[2] += dz; - motionDataArray[3] += drx; - motionDataArray[4] += dry; - motionDataArray[5] += drz; - - /* - Send a self addressed flush event through the window system. This will - trigger a Spaceball event if FreeCAD is ready to do so. - */ - nMotionEvents++; - XClientMessageEvent flushEvent; - - flushEvent.display = display; - flushEvent.window = event->xclient.window; - flushEvent.type = ClientMessage; - flushEvent.format = 8; - flushEvent.message_type = motion_flush_event; - - XSendEvent (display, flushEvent.window, False, 0, (XEvent*)&flushEvent); // siehe spnavd, False, 0 - - return true; - } - - if (navEvent.type == SPNAV_EVENT_BUTTON) - { - mainApp->postButtonEvent(navEvent.button.bnum, navEvent.button.press); - return true; - } - - Base::Console().Log("Unknown spaceball event\n"); - return true; -} -#endif // if/else QT_VERSION >= 0x050000 - #include "3Dconnexion/moc_GuiNativeEventLinuxX11.cpp" diff --git a/src/Gui/3Dconnexion/GuiNativeEventWin32.cpp b/src/Gui/3Dconnexion/GuiNativeEventWin32.cpp index 2fcf5df8a6..9029309eda 100644 --- a/src/Gui/3Dconnexion/GuiNativeEventWin32.cpp +++ b/src/Gui/3Dconnexion/GuiNativeEventWin32.cpp @@ -45,9 +45,7 @@ http://www.3dconnexion.com/forum/viewtopic.php?f=19&t=4968&sid=72c018bdcf0e6edc9 #include #include #include "GuiApplicationNativeEventAware.h" -#if QT_VERSION >= 0x050000 - #include "GuiRawInputEventFilter.h" -#endif // #if QT_VERSION >= 0x050000 +#include "GuiRawInputEventFilter.h" Gui::GuiNativeEvent* Gui::GuiNativeEvent::gMouseInput = 0; @@ -277,12 +275,8 @@ void Gui::GuiNativeEvent::initSpaceball(QMainWindow *mainWindow) if (InitializeRawInput((HWND)mainWindow->winId())) { gMouseInput = this; -#if QT_VERSION >= 0x050000 qApp->installNativeEventFilter( new Gui::RawInputEventFilter(Gui::GuiNativeEvent::RawInputEventFilter)); -#else - qApp->setEventFilter(Gui::GuiNativeEvent::RawInputEventFilter); -#endif Base::Console().Log("3Dconnexion device initialized.\n"); } else {