commit efeddc3e639e6e963933ca5505efe3d62d281b41 Author: Robin H. Johnson Date: Sun Apr 19 13:50:41 2026 -0700 feat: Qt6 port Trivial Qt5 to Qt6 port. Fixes: https://github.com/cgsecurity/testdisk/issues/179 Signed-off-by: Robin H. Johnson diff --git a/configure.ac a/configure.ac index e72579d9..2e507680 100644 --- a/configure.ac +++ a/configure.ac @@ -918,13 +918,16 @@ AC_CHECK_FUNCS([reiserfs_fs_open_fast]) LIBS="$OLDLIBS" AC_CHECK_FUNCS([ntfs_libntfs_version ntfs_volume_startup]) -export QT_SELECT=qt5 +export QT_SELECT=qt6 if test "$use_qt" = "true"; then - PKG_CHECK_MODULES(QT5GUI, [Qt5Gui >= 5.0.0],,use_qt=false) - PKG_CHECK_MODULES(QT5WIDGETS, [Qt5Widgets >= 5.0.0],,use_qt=false) - AC_MSG_CHECKING([whether Qt5 is using --std=c++14]) - qt_config=`$PKG_CONFIG --variable=qt_config Qt5Core | grep "c++14"` + PKG_CHECK_MODULES(QT6CORE, [Qt6Core >= 6.0.0],,use_qt=false) + PKG_CHECK_MODULES(QT6GUI, [Qt6Gui >= 6.0.0],,use_qt=false) + PKG_CHECK_MODULES(QT6WIDGETS, [Qt6Widgets >= 6.0.0],,use_qt=false) + + + AC_MSG_CHECKING([whether Qt6 is using --std=c++14]) + qt_config=`$PKG_CONFIG --variable=qt_config Qt6Core | grep "c++14"` if test "x$qt_config" != "x" ; then AC_MSG_RESULT([[yes]]) @@ -943,8 +946,8 @@ then AC_LANG_POP([C++]) else AC_MSG_RESULT([[no]]) - AC_MSG_CHECKING([whether Qt5 is using --std=c++11]) - qt_config=`$PKG_CONFIG --variable=qt_config Qt5Core | grep "c++11"` + AC_MSG_CHECKING([whether QT6 is using --std=c++11]) + qt_config=`$PKG_CONFIG --variable=qt_config Qt6Core | grep "c++11"` if test "x$qt_config" != "x" ; then AC_MSG_RESULT([[yes]]) @@ -966,23 +969,27 @@ then fi fi - AC_CHECK_TOOLS(MOC,[moc-qt5 moc],) + + PKG_CHECK_VAR([QT_LIBEXECDIR], [Qt6Core >= 6.0.0], [libexecdir]) + PKG_CHECK_VAR([QT_BINDIR], [Qt6Core >= 6.0.0], [bindir]) + + AC_PATH_PROGS([MOC],[moc-qt6 moc],[],["$QT_LIBEXECDIR:$QT_BINDIR:$PATH"]) if test x$MOC = x ; then - AC_MSG_WARN(Could not find a moc-qt5 or moc tool in your PATH.) + AC_MSG_WARN(Could not find a moc-qt6 or moc tool in your PATH.) use_qt=false fi - AC_CHECK_TOOLS(RCC,[rcc-qt5 rcc],) + AC_PATH_PROGS([RCC],[rcc-qt6 rcc],[],["$QT_LIBEXECDIR:$QT_BINDIR:$PATH"]) if test x$RCC = x ; then - AC_MSG_WARN(Could not find a rcc-qt5 or rcc tool in your PATH.) + AC_MSG_WARN(Could not find a rcc-qt6 or rcc tool in your PATH.) use_qt=false fi - AC_CHECK_TOOLS(LRELEASE,[lrelease-qt5 lrelease],) + AC_PATH_PROGS([LRELEASE],[lrelease-qt6 lrelease],[],["$QT_LIBEXECDIR:$QT_BINDIR:$PATH"]) if test x$LRELEASE = x ; then - AC_MSG_WARN(Could not find a lrelease-qt5 or lrelease tool in your PATH.) + AC_MSG_WARN(Could not find a lrelease-qt6 or lrelease tool in your PATH.) use_qt=false fi - qphotorec_LDADD="$qphotorec_LDADD $QT5GUI_LIBS $QT5WIDGETS_LIBS" - qphotorec_CXXFLAGS="$qphotorec_CXXFLAGS $QT5GUI_CFLAGS $QT5WIDGETS_CFLAGS" + qphotorec_LDADD="$qphotorec_LDADD $QT6GUI_LIBS $QT6WIDGETS_LIBS" + qphotorec_CXXFLAGS="$qphotorec_CXXFLAGS $QT6GUI_CFLAGS $QT6WIDGETS_CFLAGS" fi AM_CONDITIONAL(USEQT, test "$use_qt" = true) if test "$win_target" = yes; diff --git a/src/intrf.c a/src/intrf.c index d63858ff..09cfd893 100644 --- a/src/intrf.c +++ a/src/intrf.c @@ -128,7 +128,7 @@ void screen_buffer_to_log(void) log_info("%s\n",intr_buffer_screen[i]); } -int get_partition_status(const partition_t *partition) +char get_partition_status(const partition_t *partition) { switch(partition->status) { diff --git a/src/intrf.h a/src/intrf.h index 3b6fd81f..37dec890 100644 --- a/src/intrf.h +++ a/src/intrf.h @@ -105,7 +105,7 @@ void screen_buffer_to_log(void); @ terminates \true; @ assigns \nothing; @*/ -int get_partition_status(const partition_t *partition); +char get_partition_status(const partition_t *partition); #ifdef __cplusplus } /* closing brace for extern "C" */ diff --git a/src/qphotorec.cpp a/src/qphotorec.cpp index 3771ef41..8bcfb45e 100644 --- a/src/qphotorec.cpp +++ a/src/qphotorec.cpp @@ -284,13 +284,11 @@ void QPhotorec::PartListWidget_updateUI() QString partname=""; if(partition->partname[0]!='\0') { - partname.sprintf("[%s]", partition->partname); + QTextStream(&partname) << "[" << partition->partname << "]"; } if(partition->fsname[0]!='\0') { - QString fsname; - fsname.sprintf(" [%s]", partition->fsname); - partname.append(fsname); + QTextStream(&partname) << " [" << partition->fsname << "]"; } PartListWidget->setItem(currentRow, 5, new QTableWidgetItem(partname)); }