From 00ec195c262acd152537901bf9a5e881d6e40eb3 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Wed, 23 Mar 2022 19:28:55 +0100 Subject: rbutil: Qt6 fixes. Change-Id: Ied6bdf1c5269b53ccfedc1d80f3f3f0d6b4011da --- utils/CMakeLists.txt | 10 ++++++---- utils/rbutilqt/CMakeLists.txt | 3 +++ utils/rbutilqt/main.cpp | 9 +++++++-- utils/rbutilqt/themesinstallwindow.cpp | 6 ++++++ 4 files changed, 22 insertions(+), 6 deletions(-) (limited to 'utils') diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt index d874f083b5..fc122426a2 100644 --- a/utils/CMakeLists.txt +++ b/utils/CMakeLists.txt @@ -48,13 +48,15 @@ enable_testing() # Qt find_package(QT NAMES Qt6 Qt5 REQUIRED) if(QT_VERSION_MAJOR EQUAL 5) - find_package(Qt5 COMPONENTS Core Widgets Svg Multimedia Network Test LinguistTools REQUIRED) + find_package(Qt5 REQUIRED COMPONENTS + Core Widgets Svg Multimedia Network Test LinguistTools) else() - find_package(Qt6 REQUIRED COMPONENTS Core Core5Compat Widgets Svg Multimedia Network LinguistTools + find_package(Qt6 REQUIRED COMPONENTS + Core Core5Compat Widgets Svg Multimedia Network LinguistTools SvgWidgets OPTIONAL_COMPONENTS Test) endif() -get_target_property(_qmake_executable Qt${QT_VERSION_MAJOR}::qmake IMPORTED_LOCATION) -get_filename_component(QT_BINDIR "${_qmake_executable}" DIRECTORY) +get_target_property(_moc_executable Qt${QT_VERSION_MAJOR}::moc IMPORTED_LOCATION) +get_filename_component(QT_BINDIR "${_moc_executable}" DIRECTORY) message("-- Found Qt${QT_VERSION_MAJOR}: ${Qt${QT_VERSION_MAJOR}_DIR}") # If we're on Linux, try to find the used libs in the system. diff --git a/utils/rbutilqt/CMakeLists.txt b/utils/rbutilqt/CMakeLists.txt index 6b4062c266..8a6a5facda 100644 --- a/utils/rbutilqt/CMakeLists.txt +++ b/utils/rbutilqt/CMakeLists.txt @@ -125,6 +125,9 @@ endif() target_link_libraries(RockboxUtility rbbase cutelogger gitversion Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Multimedia Qt${QT_VERSION_MAJOR}::Svg) +if(QT_VERSION_MAJOR EQUAL 6) + target_link_libraries(RockboxUtility Qt${QT_VERSION_MAJOR}::SvgWidgets) +endif() target_include_directories(RockboxUtility PRIVATE ${CMAKE_CURRENT_LIST_DIR}/gui diff --git a/utils/rbutilqt/main.cpp b/utils/rbutilqt/main.cpp index 47c625b54d..cdee3af81d 100644 --- a/utils/rbutilqt/main.cpp +++ b/utils/rbutilqt/main.cpp @@ -39,7 +39,7 @@ Q_IMPORT_PLUGIN(AccessibleFactory) int main( int argc, char ** argv ) { -#if QT_VERSION >= 0x050600 +#if QT_VERSION >= 0x050600 && QT_VERSION < 0x060000 QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); #endif @@ -83,7 +83,12 @@ int main( int argc, char ** argv ) { if(!translator.load("rbutil_" + applang, absolutePath)) translator.load("rbutil_" + applang, ":/lang"); if(!qttrans.load("qt_" + applang, - QLibraryInfo::location(QLibraryInfo::TranslationsPath))) +#if QT_VERSION >= 0x060000 + QLibraryInfo::path(QLibraryInfo::TranslationsPath) +#else + QLibraryInfo::location(QLibraryInfo::TranslationsPath) +#endif + )) qttrans.load("qt_" + applang, ":/lang"); QLocale::setDefault(QLocale(applang)); diff --git a/utils/rbutilqt/themesinstallwindow.cpp b/utils/rbutilqt/themesinstallwindow.cpp index 5be60050d6..7edfc91cd1 100644 --- a/utils/rbutilqt/themesinstallwindow.cpp +++ b/utils/rbutilqt/themesinstallwindow.cpp @@ -109,7 +109,9 @@ void ThemesInstallWindow::downloadDone(QNetworkReply::NetworkError error) themesInfo.open(); QSettings iniDetails(themesInfo.fileName(), QSettings::IniFormat, this); +#if QT_VERSION < 0x060000 iniDetails.setIniCodec(QTextCodec::codecForName("UTF-8")); +#endif QStringList tl = iniDetails.childGroups(); LOG_INFO() << "Theme site result:" << iniDetails.value("error/code").toString() @@ -183,7 +185,9 @@ void ThemesInstallWindow::updateSize(void) long size = 0; // sum up size for all selected themes QSettings iniDetails(themesInfo.fileName(), QSettings::IniFormat, this); +#if QT_VERSION < 0x060000 iniDetails.setIniCodec(QTextCodec::codecForName("UTF-8")); +#endif int items = ui.listThemes->selectedItems().size(); for(int i = 0; i < items; i++) { iniDetails.beginGroup(ui.listThemes->selectedItems() @@ -202,7 +206,9 @@ void ThemesInstallWindow::updateDetails(QListWidgetItem* cur, QListWidgetItem* p return; QSettings iniDetails(themesInfo.fileName(), QSettings::IniFormat, this); +#if QT_VERSION < 0x060000 iniDetails.setIniCodec(QTextCodec::codecForName("UTF-8")); +#endif QCoreApplication::processEvents(); ui.themeDescription->setText(tr("fetching details for %1") -- cgit v1.2.3