From 638450c8d43568d2ef215899a1fb7a878a93c9f6 Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Sun, 15 May 2022 23:02:25 -0700 Subject: [PATCH] 1st qt6 port --- packaging/mac/make-recoll-dmg.sh | 22 +++++++++++----------- src/qtgui/fragbuts.cpp | 1 - src/qtgui/guiutils.cpp | 1 + src/qtgui/main.cpp | 3 +-- src/qtgui/rclm_menus.cpp | 1 + src/qtgui/rclm_view.cpp | 7 ++++--- src/qtgui/rclmain_w.cpp | 3 ++- src/qtgui/recoll-win.pro | 5 +++-- src/qtgui/searchclause_w.cpp | 6 +++--- src/qtgui/viewaction_w.cpp | 17 +++++++++-------- src/windows/qmkrecoll/librecoll.pro | 1 + src/windows/qmkrecoll/libxapian.pro | 13 ++++++++++--- src/windows/qmkrecoll/recollindex.pro | 5 +++-- src/windows/qmkrecoll/recollq.pro | 5 +++-- 14 files changed, 52 insertions(+), 38 deletions(-) diff --git a/packaging/mac/make-recoll-dmg.sh b/packaging/mac/make-recoll-dmg.sh index ef8127f7..13cb9b52 100644 --- a/packaging/mac/make-recoll-dmg.sh +++ b/packaging/mac/make-recoll-dmg.sh @@ -13,20 +13,20 @@ usage() # Adjustable things top=~/Recoll # The possibly bogus version we have in paths (may be harcoded in the .pro) -qtpathversion=5.14.2 -# Will probably need adjustment on M1 -path_clang=clang_64 -# The real version for finding macdeployqt -qtversion=5.15.2 +# qtpathversion=Desktop_Qt_5_15_2 +qtpathversion=Qt_6_2_4 +# path_clang=clang_64bit +path_clang=for_macOS +# qtversion=5.15.2 +qtversion=6.2.4 -deploy=~/Qt/${qtversion}/${path_clang}/bin/macdeployqt - -qt_ver_sion=`echo $qtpathversion | sed -e 's/\./_/g'` +#deploy=~/Qt/${qtversion}/macos/clang_64bit/macdeployqt +deploy=~/Qt/${qtversion}/macos/bin/macdeployqt toprecoll=$top/recoll/src -appdir=$toprecoll/build-recoll-win-Desktop_Qt_${qt_ver_sion}_${path_clang}bit-Release/recoll.app -rclindexdir=$toprecoll/windows/build-recollindex-Desktop_Qt_${qt_ver_sion}_${path_clang}bit-Release -rclqdir=$toprecoll/windows/build-recollq-Desktop_Qt_${qt_ver_sion}_${path_clang}bit-Release +appdir=$toprecoll/build-recoll-win-${qtpathversion}_${path_clang}-Release/recoll.app +rclindexdir=$toprecoll/windows/build-recollindex-${qtpathversion}_${path_clang}-Release +rclqdir=$toprecoll/windows/build-recollq-${qtpathversion}_${path_clang}-Release bindir=$appdir/Contents/MacOS datadir=$appdir/Contents/Resources diff --git a/src/qtgui/fragbuts.cpp b/src/qtgui/fragbuts.cpp index 1c66ce15..eee573a9 100644 --- a/src/qtgui/fragbuts.cpp +++ b/src/qtgui/fragbuts.cpp @@ -28,7 +28,6 @@ #include #include #include -#include #include "fragbuts.h" #include "pathut.h" diff --git a/src/qtgui/guiutils.cpp b/src/qtgui/guiutils.cpp index bc574f42..a8f340de 100644 --- a/src/qtgui/guiutils.cpp +++ b/src/qtgui/guiutils.cpp @@ -18,6 +18,7 @@ #include #include +#include // Programs built with gcc 4.8.4 (e.g.: Ubuntu Trusty), crash at startup while initializing stdc++ // regular expression objects (and also crash if we make them non-static). diff --git a/src/qtgui/main.cpp b/src/qtgui/main.cpp index 28a1d22a..0bd3c41a 100644 --- a/src/qtgui/main.cpp +++ b/src/qtgui/main.cpp @@ -22,7 +22,6 @@ #include #include -#include #include #include #include @@ -345,7 +344,7 @@ int main(int argc, char **argv) } QTranslator qt_trans(0); qt_trans.load(QString("qt_%1").arg(slang), - QLibraryInfo::location(QLibraryInfo::TranslationsPath)); + QLibraryInfo::path(QLibraryInfo::TranslationsPath)); app.installTranslator(&qt_trans); // Translations for Recoll diff --git a/src/qtgui/rclm_menus.cpp b/src/qtgui/rclm_menus.cpp index 46b7ab7e..1529db95 100644 --- a/src/qtgui/rclm_menus.cpp +++ b/src/qtgui/rclm_menus.cpp @@ -23,6 +23,7 @@ #include #include #include +#include void RclMain::buildMenus() { diff --git a/src/qtgui/rclm_view.cpp b/src/qtgui/rclm_view.cpp index 748c29b7..a8023b9e 100644 --- a/src/qtgui/rclm_view.cpp +++ b/src/qtgui/rclm_view.cpp @@ -248,13 +248,14 @@ void RclMain::startNativeViewer(Rcl::Doc doc, int pagenum, QString qterm) .arg(mt).arg(path2qs(lcmd.front())); switch(QMessageBox::warning(0, "Recoll", message, - "Yes", "No", 0, 0, 1)) { - case 0: + QMessageBox::Yes|QMessageBox::No, QMessageBox::No)) { + case QMessageBox::Yes: showUIPrefs(); if (uiprefs) uiprefs->showViewAction(mt); break; - case 1: + case QMessageBox::No: + default: break; } // The user will have to click on the link again to try the diff --git a/src/qtgui/rclmain_w.cpp b/src/qtgui/rclmain_w.cpp index b7255998..909d121d 100644 --- a/src/qtgui/rclmain_w.cpp +++ b/src/qtgui/rclmain_w.cpp @@ -44,6 +44,7 @@ #include #include #include +#include #include "recoll.h" #include "log.h" @@ -1089,7 +1090,7 @@ void RclMain::eraseSearchHistory() int rep = QMessageBox::warning( 0, tr("Confirm"), tr("Erasing simple and advanced search history lists, please click Ok to confirm"), - QMessageBox::Ok, QMessageBox::Cancel, QMessageBox::NoButton); + QMessageBox::Ok|QMessageBox::Cancel, QMessageBox::NoButton); if (rep == QMessageBox::Ok) { prefs.ssearchHistory.clear(); if (sSearch) diff --git a/src/qtgui/recoll-win.pro b/src/qtgui/recoll-win.pro index 7c03aff1..bae3cd37 100644 --- a/src/qtgui/recoll-win.pro +++ b/src/qtgui/recoll-win.pro @@ -157,6 +157,7 @@ windows { } mac { + QMAKE_APPLE_DEVICE_ARCHS = x86_64 arm64 QMAKE_CXXFLAGS += -std=c++11 -pthread -Wno-unused-parameter HEADERS += \ @@ -176,8 +177,8 @@ mac { rtitool.ui LIBS += \ - ../windows/build-librecoll-Desktop_Qt_5_14_2_clang_64bit-Release/liblibrecoll.a \ - ../../../xapian-core-1.4.18/.libs/libxapian.a \ + ../windows/build-librecoll-Qt_6_2_4_for_macOS-Release/liblibrecoll.a \ + ../windows/build-libxapian-Qt_6_2_4_for_macOS-Release/liblibxapian.a \ -lxslt -lxml2 -liconv -lz ICON = images/recoll.icns diff --git a/src/qtgui/searchclause_w.cpp b/src/qtgui/searchclause_w.cpp index 60438fa7..952e5e70 100644 --- a/src/qtgui/searchclause_w.cpp +++ b/src/qtgui/searchclause_w.cpp @@ -153,10 +153,10 @@ void SearchClauseW::setFromClause(SearchDataClauseSimple *cl) case SCLT_PHRASE: case SCLT_NEAR: if (!field.isEmpty()) { int idx = fldCMB->findText(field); - if (field >= 0) { - fldCMB->setCurrentIndex(idx); + if (idx >= 0) { + fldCMB->setCurrentIndex(idx); } else { - fldCMB->setEditText(field); + fldCMB->setEditText(field); } } /* FALLTHROUGH */ diff --git a/src/qtgui/viewaction_w.cpp b/src/qtgui/viewaction_w.cpp index 9f8b551e..61a3e2a0 100644 --- a/src/qtgui/viewaction_w.cpp +++ b/src/qtgui/viewaction_w.cpp @@ -170,14 +170,15 @@ void ViewAction::editActions() except0 = except; } else { if ((action != action0 || except != except0) && dowarnmultiple) { - switch (QMessageBox::warning(0, "Recoll", - tr("Changing entries with " - "different current values"), - "Continue", - "Cancel", - 0, 0, 1)) { - case 0: dowarnmultiple = false; break; - case 1: return; + switch (QMessageBox::warning( + 0, "Recoll", tr("Changing entries with different current values"), + QMessageBox::Ignore | QMessageBox::Cancel, QMessageBox::Cancel)) { + case QMessageBox::Ignore: + dowarnmultiple = false; + break; + case QMessageBox::Cancel: + default: + return; } } } diff --git a/src/windows/qmkrecoll/librecoll.pro b/src/windows/qmkrecoll/librecoll.pro index 6c103c55..21fd4845 100644 --- a/src/windows/qmkrecoll/librecoll.pro +++ b/src/windows/qmkrecoll/librecoll.pro @@ -176,6 +176,7 @@ unix:!mac { mac { CONFIG += staticlib + QMAKE_APPLE_DEVICE_ARCHS = x86_64 arm64 # This is necessary to avoid an undefined impl__xmlFree. # See comment in libxml/xmlexports.h DEFINES += LIBXML_STATIC diff --git a/src/windows/qmkrecoll/libxapian.pro b/src/windows/qmkrecoll/libxapian.pro index c7c6acad..d832c2ab 100644 --- a/src/windows/qmkrecoll/libxapian.pro +++ b/src/windows/qmkrecoll/libxapian.pro @@ -3,11 +3,18 @@ QT -= core gui TARGET = libxapian TEMPLATE = lib -DEFINES += __WIN32__ -DEFINES += UNICODE DEFINES += HAVE_CONFIG_H -XAPIANDIR = ../../../../recolldeps/msvc/xapian-core/ +windows { + XAPIANDIR = ../../../../recolldeps/msvc/xapian-core/ + DEFINES += __WIN32__ + DEFINES += UNICODE +} +mac { + XAPIANDIR = ../../../../xapian-core-1.4.18/ + CONFIG += staticlib + QMAKE_APPLE_DEVICE_ARCHS = x86_64 arm64 +} SOURCES += \ $$XAPIANDIR/api/compactor.cc \ diff --git a/src/windows/qmkrecoll/recollindex.pro b/src/windows/qmkrecoll/recollindex.pro index c0b18fdb..c5ed416b 100644 --- a/src/windows/qmkrecoll/recollindex.pro +++ b/src/windows/qmkrecoll/recollindex.pro @@ -58,6 +58,7 @@ windows { } mac { + QMAKE_APPLE_DEVICE_ARCHS = x86_64 arm64 QMAKE_CXXFLAGS += -std=c++11 -pthread -Wno-unused-parameter SOURCES += \ ../../utils/closefrom.cpp \ @@ -66,7 +67,7 @@ mac { ../../utils/rclionice.cpp LIBS += \ - ../build-librecoll-Desktop_Qt_5_14_2_clang_64bit-Release/liblibrecoll.a \ - ../../../../xapian-core-1.4.18/.libs/libxapian.a \ + ../build-librecoll-Qt_6_2_4_for_macOS-Release/liblibrecoll.a \ + ../build-libxapian-Qt_6_2_4_for_macOS-Release/liblibxapian.a \ -lxslt -lxml2 -liconv -lz } diff --git a/src/windows/qmkrecoll/recollq.pro b/src/windows/qmkrecoll/recollq.pro index 527d5a1a..69f0530f 100644 --- a/src/windows/qmkrecoll/recollq.pro +++ b/src/windows/qmkrecoll/recollq.pro @@ -45,6 +45,7 @@ windows { } mac { + QMAKE_APPLE_DEVICE_ARCHS = x86_64 arm64 QMAKE_CXXFLAGS += -std=c++11 -pthread -Wno-unused-parameter SOURCES += \ ../../utils/closefrom.cpp \ @@ -52,7 +53,7 @@ mac { ../../utils/netcon.cpp \ ../../utils/rclionice.cpp LIBS += \ - ../build-librecoll-Desktop_Qt_5_14_2_clang_64bit-Release/liblibrecoll.a \ - ../../../../xapian-core-1.4.18/.libs/libxapian.a \ + ../build-librecoll-Qt_6_2_4_for_macOS-Release/liblibrecoll.a \ + ../build-libxapian-Qt_6_2_4_for_macOS-Release/liblibxapian.a \ -lxslt -lxml2 -liconv -lz }