Mercurial > octave
changeset 29049:461bd8b9ce91 stable
use Qt::SplitBehavior enum and values if available
* acinclude.m4 (OCTAVE_CHECK_QT_SPLITBEHAVIOR_ENUM): New macro.
(OCTAVE_CHECK_QT_VERSION): Use it.
* files-dock-widget.cc (files_dock_widget::display_directory):
Use Qt::SkipEmptyParts if available.
* documentation.cc (documentation::global_search): Likewise.
* octave-qscintilla.cc (octave_qscintilla::contextmenu_run): Likewise.
* QTerminal.cc (QTerminal::run_selection): Likewise.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 11 Nov 2020 23:41:06 -0500 |
parents | 440ace36950e |
children | ce849f006568 |
files | libgui/qterminal/libqterminal/QTerminal.cc libgui/src/documentation.cc libgui/src/files-dock-widget.cc libgui/src/m-editor/octave-qscintilla.cc m4/acinclude.m4 |
diffstat | 5 files changed, 48 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/qterminal/libqterminal/QTerminal.cc Wed Nov 11 23:18:47 2020 -0500 +++ b/libgui/qterminal/libqterminal/QTerminal.cc Wed Nov 11 23:41:06 2020 -0500 @@ -174,7 +174,11 @@ QTerminal::run_selection () { QStringList commands = selectedText ().split (QRegExp ("[\r\n]"), +#if defined (HAVE_QT_SPLITBEHAVIOR_ENUM) + Qt::SkipEmptyParts); +#else QString::SkipEmptyParts); +#endif for (int i = 0; i < commands.size (); i++) emit execute_command_in_terminal_signal (commands.at (i));
--- a/libgui/src/documentation.cc Wed Nov 11 23:18:47 2020 -0500 +++ b/libgui/src/documentation.cc Wed Nov 11 23:41:06 2020 -0500 @@ -443,7 +443,11 @@ if (rx.indexIn (query_string, 0) != -1) m_internal_search = rx.cap (1); else +#if defined (HAVE_QT_SPLITBEHAVIOR_ENUM) + m_internal_search = query_string.split (" ", Qt::SkipEmptyParts).first (); +#else m_internal_search = query_string.split (" ", QString::SkipEmptyParts).first (); +#endif m_help_engine->searchEngine ()->search (queries); }
--- a/libgui/src/files-dock-widget.cc Wed Nov 11 23:18:47 2020 -0500 +++ b/libgui/src/files-dock-widget.cc Wed Nov 11 23:41:06 2020 -0500 @@ -417,8 +417,11 @@ resource_manager& rmgr = m_octave_qobj.get_resource_manager (); gui_settings *settings = rmgr.get_settings (); QString ext = settings->value (fb_txt_file_ext).toString (); +#if defined (HAVE_QT_SPLITBEHAVIOR_ENUM) + QStringList extensions = ext.split (";", Qt::SkipEmptyParts); +#else QStringList extensions = ext.split (";", QString::SkipEmptyParts); - +#endif if (QFile::exists (abs_fname)) { if (extensions.contains (suffix))
--- a/libgui/src/m-editor/octave-qscintilla.cc Wed Nov 11 23:18:47 2020 -0500 +++ b/libgui/src/m-editor/octave-qscintilla.cc Wed Nov 11 23:41:06 2020 -0500 @@ -798,8 +798,12 @@ // Split contents into single lines and complete commands QStringList lines = selectedText ().split (QRegExp ("[\r\n]"), +#if defined (HAVE_QT_SPLITBEHAVIOR_ENUM) + Qt::SkipEmptyParts); +#else QString::SkipEmptyParts); - for (int i = 0; i < lines.count (); i++) +#endif + for (int i = 0; i < lines.count (); i++) { QString line = lines.at (i); if (line.trimmed ().isEmpty ())
--- a/m4/acinclude.m4 Wed Nov 11 23:18:47 2020 -0500 +++ b/m4/acinclude.m4 Wed Nov 11 23:41:06 2020 -0500 @@ -992,6 +992,36 @@ 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. +dnl +AC_DEFUN([OCTAVE_CHECK_QT_SPLITBEHAVIOR_ENUM], [ + AC_CACHE_CHECK([for Qt::SplitBehavior enum], + [octave_cv_qt_splitbehavior_enum], + [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::SplitBehavior sb_keep = Qt::KeepEmptyParts; + Qt::SplitBehavior sb_skip = Qt::SkipEmptyParts; + ]])], + octave_cv_qt_splitbehavior_enum=yes, + octave_cv_qt_splitbehavior_enum=no) + CPPFLAGS="$ac_octave_save_CPPFLAGS" + CXXFLAGS="$ac_octave_save_CXXFLAGS" + AC_LANG_POP(C++) + ]) + if test $octave_cv_qt_splitbehavior_enum = yes; then + AC_DEFINE(HAVE_QT_SPLITBEHAVIOR_ENUM, 1, + [Define to 1 if you have the `Qt::SplitBehavior' enum.]) + 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 @@ -2441,6 +2471,7 @@ OCTAVE_HAVE_QGUIAPPLICATION OCTAVE_CHECK_QREGION_ITERATORS + OCTAVE_CHECK_QT_SPLITBEHAVIOR_ENUM if test -n "$OPENGL_LIBS"; then OCTAVE_CHECK_QT_OPENGL_OK([build_qt_graphics=yes],