Mercurial > octave
diff m4/acinclude.m4 @ 27215:274766cae722
allow building with Qt4 to work again
* acinclude.m4 (OCTAVE_CHECK_FUNC_QWHEELEVENT_ANGLEDELTA): New macro.
(OCTAVE_CHECK_QT_VERSION): Use it.
* QtHandlesUtils.cc (makeScrollEventStruct): Work with both Qt4 and Qt5.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 26 Jun 2019 12:09:37 -0400 |
parents | 8229d4e15a28 |
children | 463fc0cfed90 |
line wrap: on
line diff
--- a/m4/acinclude.m4 Tue Apr 02 12:00:29 2019 +0000 +++ b/m4/acinclude.m4 Wed Jun 26 12:09:37 2019 -0400 @@ -693,6 +693,42 @@ fi ]) dnl +dnl Check whether the Qt class QWheelEvent has the angleDelta member function. +dnl This member function was introduced in Qt 5. +dnl +dnl FIXME: Delete this entirely when we drop support for Qt 4. +dnl +AC_DEFUN([OCTAVE_CHECK_FUNC_QWHEELEVENT_ANGLEDELTA], [ + AC_CACHE_CHECK([for QWheelEvent::angleDelta in <QWheelEvent>], + [octave_cv_func_qwheelevent_angledelta], + [AC_LANG_PUSH(C++) + ac_octave_save_CPPFLAGS="$CPPFLAGS" + ac_octave_save_CXXFLAGS="$CXXFLAGS" + CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" + CXXFLAGS="$CXXPICFLAG $CXXFLAGS" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include <QWheelEvent> + class wheel_event : public QWheelEvent + { + public: + wheel_event (QWidget *parent = 0) : QWheelEvent (parent) { this->angleDelta (); } + ~wheel_event () {} + }; + ]], [[ + wheel_event tw; + ]])], + octave_cv_func_qwheelevent_angledelta=yes, + octave_cv_func_qwheelevent_angledelta=no) + CPPFLAGS="$ac_octave_save_CPPFLAGS" + CXXFLAGS="$ac_octave_save_CXXFLAGS" + AC_LANG_POP(C++) + ]) + if test $octave_cv_func_qwheelevent_angledelta = yes; then + AC_DEFINE(HAVE_QWHEELEVENT_ANGLEDELTA, 1, + [Define to 1 if you have the `QWheelEvent::angleDelta' member function.]) + fi +]) +dnl dnl Check whether Qt message handler function accepts QMessageLogContext dnl argument. This change was introduced in Qt 5. dnl @@ -2107,6 +2143,7 @@ OCTAVE_CHECK_FUNC_QSCREEN_DEVICEPIXELRATIO OCTAVE_CHECK_FUNC_QTABWIDGET_SETMOVABLE OCTAVE_CHECK_FUNC_QTMESSAGEHANDLER_ACCEPTS_QMESSAGELOGCONTEXT + OCTAVE_CHECK_FUNC_QWHEELEVENT_ANGLEDELTA OCTAVE_CHECK_MEMBER_QFONT_FORCE_INTEGER_METRICS OCTAVE_CHECK_MEMBER_QFONT_MONOSPACE OCTAVE_HAVE_QGUIAPPLICATION