Mercurial > octave
changeset 30005:7677b6184c0b
use new Qt::ImCursorRectangle enum value if available
* acinclude.m4 (OCTAVE_CHECK_QT_IMCURSORRECTANGLE_ENUM_VALUE): New macro.
(OCTAVE_CHECK_QT_VERSION): Use it.
* TerminalView.cpp (TerminalView::inputMethodQuery):
Use Qt::ImCursorRectangle instead of Qt::ImMicroFocus if available.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 18 Aug 2021 14:11:56 -0400 |
parents | 2c40f84bfe10 |
children | 75dff8f2de2e |
files | libgui/qterminal/libqterminal/unix/TerminalView.cpp m4/acinclude.m4 |
diffstat | 2 files changed, 34 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/qterminal/libqterminal/unix/TerminalView.cpp Wed Aug 18 13:49:06 2021 -0400 +++ b/libgui/qterminal/libqterminal/unix/TerminalView.cpp Wed Aug 18 14:11:56 2021 -0400 @@ -2373,7 +2373,11 @@ const QPoint cursorPos = _screenWindow ? _screenWindow->cursorPosition() : QPoint(0,0); switch ( query ) { +#if defined (HAVE_QT_IMCURSORRECTANGLE_ENUM_VALUE) + case Qt::ImCursorRectangle: +#else case Qt::ImMicroFocus: +#endif return imageToWidget(QRect(cursorPos.x(),cursorPos.y(),1,1)); break; case Qt::ImFont:
--- a/m4/acinclude.m4 Wed Aug 18 13:49:06 2021 -0400 +++ b/m4/acinclude.m4 Wed Aug 18 14:11:56 2021 -0400 @@ -1959,6 +1959,35 @@ fi ]) dnl +dnl Check whether the Qt::ImCursorRectangle enum value exists. +dnl It replaces the Qt::ImMicroFocus enum value that was deprecated +dnl in Qt 5.14. +dnl +AC_DEFUN([OCTAVE_CHECK_QT_IMCURSORRECTANGLE_ENUM_VALUE], [ + AC_CACHE_CHECK([for Qt::ImCursorRectangle enum value], + [octave_cv_qt_imcursorrectangle_enum_value], + [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 <Qt> + ]], [[ + Qt::InputMethodQuery method_query = Qt::ImCursorRectangle; + ]])], + octave_cv_qt_imcursorrectangle_enum_value=yes, + octave_cv_qt_imcursorrectangle_enum_value=no) + CPPFLAGS="$ac_octave_save_CPPFLAGS" + CXXFLAGS="$ac_octave_save_CXXFLAGS" + AC_LANG_POP(C++) + ]) + if test $octave_cv_qt_imcursorrectangle_enum_value = yes; then + AC_DEFINE(HAVE_QT_IMCURSORRECTANGLE_ENUM_VALUE, 1, + [Define to 1 if you have the `Qt::ImCursorRectangle' enum value.]) + fi +]) +dnl dnl Check whether the Qt::SplitBehavior enum exists and has dnl Qt::KeepEmptyParts and Qt::SkipEmptyParts members. This enum dnl was introduced or modified in Qt 5.14. @@ -2184,6 +2213,7 @@ OCTAVE_CHECK_QOVERLOAD_TEMPLATE OCTAVE_CHECK_QREGION_ITERATORS + OCTAVE_CHECK_QT_IMCURSORRECTANGLE_ENUM_VALUE OCTAVE_CHECK_QT_SPLITBEHAVIOR_ENUM if test -n "$OPENGL_LIBS"; then