Mercurial > octave
diff m4/acinclude.m4 @ 28846:2219027f5bd4 stable
avoid deprecated Qt QFontMetrics::width function
* acinclude.m4 (OCTAVE_CHECK_FUNC_QFONTMETRICS_HORIZONTAL_ADVANCE):
New macro.
(OCTAVE_CHECK_QT_VERSION): Use it.
* qt-utils.h (qt_fontmetrics_horizontal_advance): New wrapper functions.
* TerminalView.cpp, variable-editor.cc:
Use qt_fontmetrics_horizontal_advance instead of QFontMetrics::width.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 14 Jul 2020 00:45:39 -0400 |
parents | 50c112129700 |
children | 7d9a11de251f 34a83d34038e |
line wrap: on
line diff
--- a/m4/acinclude.m4 Mon Aug 03 09:07:11 2020 -0400 +++ b/m4/acinclude.m4 Tue Jul 14 00:45:39 2020 -0400 @@ -934,6 +934,39 @@ fi ]) dnl +dnl Check whether the Qt class QList has a constructor that accepts +dnl a pair of iterators. This constructor was introduced in Qt 5.14. +dnl +AC_DEFUN([OCTAVE_CHECK_FUNC_QFONTMETRICS_HORIZONTAL_ADVANCE], [ + AC_CACHE_CHECK([for QFontMetrics::horizontalAdvance function], + [octave_cv_func_qfontmetrics_horizontal_advance], + [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 <QFont> + #include <QFontMetrics> + #include <QString> + ]], [[ + QFont font; + QFontMetrics fm (font); + fm.horizontalAdvance ('x'); + fm.horizontalAdvance (QString ("string")); + ]])], + octave_cv_func_qfontmetrics_horizontal_advance=yes, + octave_cv_func_qfontmetrics_horizontal_advance=no) + CPPFLAGS="$ac_octave_save_CPPFLAGS" + CXXFLAGS="$ac_octave_save_CXXFLAGS" + AC_LANG_POP(C++) + ]) + if test $octave_cv_func_qfontmetrics_horizontal_advance = yes; then + AC_DEFINE(HAVE_QFONTMETRICS_HORIZONTAL_ADVANCE, 1, + [Define to 1 if you have the `QFontMetrics::horizontalAdvance' function.]) + fi +]) +dnl dnl Check whether HDF5 library has version 1.6 API functions. dnl AC_DEFUN([OCTAVE_CHECK_HDF5_HAS_VER_16_API], [ @@ -2328,6 +2361,7 @@ ## version that we are testing now will be the one used. OCTAVE_CHECK_FUNC_QCOMBOBOX_SETCURRENTTEXT + OCTAVE_CHECK_FUNC_QFONTMETRICS_HORIZONTAL_ADVANCE OCTAVE_CHECK_FUNC_QGUIAPPLICATION_SETDESKTOPFILENAME OCTAVE_CHECK_FUNC_QHEADERVIEW_SETSECTIONRESIZEMODE OCTAVE_CHECK_FUNC_QHEADERVIEW_SETSECTIONSCLICKABLE