From fa77b696d05c492d349d65710b74e0c7ee84708d Mon Sep 17 00:00:00 2001 From: tooomm Date: Sun, 29 Mar 2026 19:12:25 +0200 Subject: [PATCH 01/15] Qt5_FOUND --- CMakeLists.txt | 8 +--- cockatrice/CMakeLists.txt | 48 +------------------ libcockatrice_card/CMakeLists.txt | 2 - libcockatrice_deck_list/CMakeLists.txt | 2 - libcockatrice_filters/CMakeLists.txt | 2 - libcockatrice_interfaces/CMakeLists.txt | 2 - .../models/database/CMakeLists.txt | 2 - .../models/deck_list/CMakeLists.txt | 2 - .../network/client/abstract/CMakeLists.txt | 2 - .../network/client/local/CMakeLists.txt | 2 - .../network/client/remote/CMakeLists.txt | 2 - .../network/server/local/CMakeLists.txt | 2 - .../network/server/remote/CMakeLists.txt | 2 - libcockatrice_rng/CMakeLists.txt | 2 - libcockatrice_settings/CMakeLists.txt | 2 - oracle/CMakeLists.txt | 21 -------- servatrice/CMakeLists.txt | 2 - 17 files changed, 3 insertions(+), 102 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fe808a652..e98196673 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,8 +5,7 @@ # This file sets all the variables shared between the projects # like the installation path, compilation flags etc.. -# cmake 3.16 is required if using qt6 -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.16) # Early detect ccache option(USE_CCACHE "Cache the build results with ccache" ON) @@ -57,7 +56,6 @@ if(WIN32 OR USE_VCPKG) # Qt path set by user or env var if(QTDIR OR DEFINED ENV{QTDIR} - OR DEFINED ENV{QTDIR32} OR DEFINED ENV{QTDIR64} ) @@ -281,8 +279,6 @@ if(UNIX) set(CPACK_RPM_MAIN_COMPONENT "cockatrice") if(Qt6_FOUND) set(CPACK_RPM_PACKAGE_REQUIRES "protobuf, qt6-qttools, qt6-qtsvg, qt6-qtmultimedia, qt6-qtimageformats") - elseif(Qt5_FOUND) - set(CPACK_RPM_PACKAGE_REQUIRES "protobuf, qt5-qttools, qt5-qtsvg, qt5-qtmultimedia") endif() set(CPACK_RPM_PACKAGE_GROUP "Amusements/Games") set(CPACK_RPM_PACKAGE_URL "http://github.com/Cockatrice/Cockatrice") @@ -304,8 +300,6 @@ if(UNIX) if(Qt6_FOUND) set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt6multimedia6, libqt6svg6, qt6-qpa-plugins, qt6-image-formats-plugins") set(CPACK_DEBIAN_PACKAGE_RECOMMENDS "libqt6sql6-mysql") # for connecting servatrice to a mysql db - elseif(Qt5_FOUND) - set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt5multimedia5-plugins, libqt5svg5") endif() endif() endif() diff --git a/cockatrice/CMakeLists.txt b/cockatrice/CMakeLists.txt index 1ca3c77c2..296915f26 100644 --- a/cockatrice/CMakeLists.txt +++ b/cockatrice/CMakeLists.txt @@ -368,8 +368,6 @@ endif(APPLE) if(Qt6_FOUND) qt6_add_resources(cockatrice_RESOURCES_RCC ${cockatrice_RESOURCES}) -elseif(Qt5_FOUND) - qt5_add_resources(cockatrice_RESOURCES_RCC ${cockatrice_RESOURCES}) endif() # Declare path variables @@ -396,44 +394,7 @@ if(Qt6_FOUND) ${cockatrice_MOC_SRCS} MANUAL_FINALIZATION ) -elseif(Qt5_FOUND) - # Qt5 Translations need to be linked at executable creation time - if(Qt5LinguistTools_FOUND) - if(UPDATE_TRANSLATIONS) - qt5_create_translation(cockatrice_QM ${translate_SRCS} ${cockatrice_TS}) - else() - qt5_add_translation(cockatrice_QM ${cockatrice_TS}) - endif() - endif() - add_executable( - cockatrice WIN32 MACOSX_BUNDLE ${cockatrice_MOC_SRCS} ${cockatrice_QM} ${cockatrice_RESOURCES_RCC} - ${cockatrice_SOURCES} - ) - if(UNIX) - if(APPLE) - install(FILES ${cockatrice_QM} DESTINATION ${COCKATRICE_MAC_QM_INSTALL_DIR}) - else() - install(FILES ${cockatrice_QM} DESTINATION ${COCKATRICE_UNIX_QM_INSTALL_DIR}) - endif() - elseif(WIN32) - install(FILES ${cockatrice_QM} DESTINATION ${COCKATRICE_WIN32_QM_INSTALL_DIR}) - endif() -endif() -if(Qt5_FOUND) - target_link_libraries( - cockatrice - libcockatrice_card - libcockatrice_deck_list - libcockatrice_filters - libcockatrice_utility - libcockatrice_network - libcockatrice_models - libcockatrice_rng - libcockatrice_settings - ${COCKATRICE_QT_MODULES} - ) -else() target_link_libraries( cockatrice PUBLIC libcockatrice_card @@ -476,7 +437,7 @@ if(APPLE) set(plugin_dest_dir cockatrice.app/Contents/Plugins) set(qtconf_dest_dir cockatrice.app/Contents/Resources) - # Qt plugins: audio (Qt5), iconengines, imageformats, multimedia (Qt6), platforms, printsupport (Qt5), styles, tls (Qt6) + # Qt plugins: iconengines, imageformats, multimedia (Qt6), platforms, styles, tls (Qt6) install( DIRECTORY "${QT_PLUGINS_DIR}/" DESTINATION ${plugin_dest_dir} @@ -484,12 +445,10 @@ if(APPLE) FILES_MATCHING PATTERN "*.dSYM" EXCLUDE PATTERN "*_debug.dylib" EXCLUDE - PATTERN "audio/*.dylib" PATTERN "iconengines/*.dylib" PATTERN "imageformats/*.dylib" PATTERN "multimedia/*.dylib" PATTERN "platforms/*.dylib" - PATTERN "printsupport/*.dylib" PATTERN "styles/*.dylib" PATTERN "tls/*.dylib" ) @@ -542,14 +501,12 @@ if(WIN32) PATTERN "*.ini" ) - # Qt plugins: audio (Qt5), iconengines, imageformats, multimedia (Qt6) platforms, printsupport (Qt5), styles, tls (Qt6) + # Qt plugins: iconengines, imageformats, multimedia (Qt6) platforms, styles, tls (Qt6) install( DIRECTORY "${QT_PLUGINS_DIR}/" DESTINATION ${plugin_dest_dir} COMPONENT Runtime FILES_MATCHING - PATTERN "audio/qtaudio_wasapi.dll" - PATTERN "audio/qtaudio_windows.dll" PATTERN "iconengines/qsvgicon.dll" PATTERN "imageformats/*.dll" PATTERN "mediaservice/dsengine.dll" @@ -559,7 +516,6 @@ if(WIN32) PATTERN "platforms/qminimal.dll" PATTERN "platforms/qoffscreen.dll" PATTERN "platforms/qwindows.dll" - PATTERN "printsupport/windowsprintersupport.dll" PATTERN "styles/qcertonlybackend.dll" PATTERN "styles/qopensslbackend.dll" PATTERN "styles/qschannelbackend.dll" diff --git a/libcockatrice_card/CMakeLists.txt b/libcockatrice_card/CMakeLists.txt index dd3799e33..ac8c7cdeb 100644 --- a/libcockatrice_card/CMakeLists.txt +++ b/libcockatrice_card/CMakeLists.txt @@ -21,8 +21,6 @@ set(HEADERS if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) -elseif(Qt5_FOUND) - qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) endif() add_library( diff --git a/libcockatrice_deck_list/CMakeLists.txt b/libcockatrice_deck_list/CMakeLists.txt index 5ccdb5f66..20a5185df 100644 --- a/libcockatrice_deck_list/CMakeLists.txt +++ b/libcockatrice_deck_list/CMakeLists.txt @@ -16,8 +16,6 @@ set(HEADERS if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) -elseif(Qt5_FOUND) - qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) endif() add_library( diff --git a/libcockatrice_filters/CMakeLists.txt b/libcockatrice_filters/CMakeLists.txt index 74566ca05..55809d5fd 100644 --- a/libcockatrice_filters/CMakeLists.txt +++ b/libcockatrice_filters/CMakeLists.txt @@ -8,8 +8,6 @@ set(HEADERS libcockatrice/filters/filter_card.h libcockatrice/filters/filter_str if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) -elseif(Qt5_FOUND) - qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) endif() add_library( diff --git a/libcockatrice_interfaces/CMakeLists.txt b/libcockatrice_interfaces/CMakeLists.txt index 4f34f7985..33dee842d 100644 --- a/libcockatrice_interfaces/CMakeLists.txt +++ b/libcockatrice_interfaces/CMakeLists.txt @@ -14,8 +14,6 @@ set(HEADERS if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) -elseif(Qt5_FOUND) - qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) endif() add_library(libcockatrice_interfaces STATIC ${MOC_SOURCES}) diff --git a/libcockatrice_models/libcockatrice/models/database/CMakeLists.txt b/libcockatrice_models/libcockatrice/models/database/CMakeLists.txt index 950d6d79f..1f0331690 100644 --- a/libcockatrice_models/libcockatrice/models/database/CMakeLists.txt +++ b/libcockatrice_models/libcockatrice/models/database/CMakeLists.txt @@ -14,8 +14,6 @@ set(HEADERS if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) -elseif(Qt5_FOUND) - qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) endif() add_library( diff --git a/libcockatrice_models/libcockatrice/models/deck_list/CMakeLists.txt b/libcockatrice_models/libcockatrice/models/deck_list/CMakeLists.txt index 851636a35..0c90b8004 100644 --- a/libcockatrice_models/libcockatrice/models/deck_list/CMakeLists.txt +++ b/libcockatrice_models/libcockatrice/models/deck_list/CMakeLists.txt @@ -6,8 +6,6 @@ set(HEADERS deck_list_model.h deck_list_sort_filter_proxy_model.h) if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) -elseif(Qt5_FOUND) - qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) endif() add_library( diff --git a/libcockatrice_network/libcockatrice/network/client/abstract/CMakeLists.txt b/libcockatrice_network/libcockatrice/network/client/abstract/CMakeLists.txt index 2753246de..b9f4c8c9c 100644 --- a/libcockatrice_network/libcockatrice/network/client/abstract/CMakeLists.txt +++ b/libcockatrice_network/libcockatrice/network/client/abstract/CMakeLists.txt @@ -8,8 +8,6 @@ set(SOURCES abstract_client.cpp) if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) -elseif(Qt5_FOUND) - qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) endif() add_library(libcockatrice_network_client_abstract STATIC ${MOC_SOURCES} ${SOURCES}) diff --git a/libcockatrice_network/libcockatrice/network/client/local/CMakeLists.txt b/libcockatrice_network/libcockatrice/network/client/local/CMakeLists.txt index d12a324dc..210a09ac3 100644 --- a/libcockatrice_network/libcockatrice/network/client/local/CMakeLists.txt +++ b/libcockatrice_network/libcockatrice/network/client/local/CMakeLists.txt @@ -8,8 +8,6 @@ set(SOURCES local_client.cpp) if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) -elseif(Qt5_FOUND) - qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) endif() add_library(libcockatrice_network_client_local STATIC ${MOC_SOURCES} ${SOURCES}) diff --git a/libcockatrice_network/libcockatrice/network/client/remote/CMakeLists.txt b/libcockatrice_network/libcockatrice/network/client/remote/CMakeLists.txt index 0548700e4..fb164763c 100644 --- a/libcockatrice_network/libcockatrice/network/client/remote/CMakeLists.txt +++ b/libcockatrice_network/libcockatrice/network/client/remote/CMakeLists.txt @@ -8,8 +8,6 @@ set(SOURCES remote_client.cpp) if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) -elseif(Qt5_FOUND) - qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) endif() add_library(libcockatrice_network_client_remote STATIC ${MOC_SOURCES} ${SOURCES}) diff --git a/libcockatrice_network/libcockatrice/network/server/local/CMakeLists.txt b/libcockatrice_network/libcockatrice/network/server/local/CMakeLists.txt index 80fb379a4..6e9dfc77b 100644 --- a/libcockatrice_network/libcockatrice/network/server/local/CMakeLists.txt +++ b/libcockatrice_network/libcockatrice/network/server/local/CMakeLists.txt @@ -8,8 +8,6 @@ set(SOURCES local_server.cpp local_server_interface.cpp) if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) -elseif(Qt5_FOUND) - qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) endif() add_library(libcockatrice_network_server_local STATIC ${MOC_SOURCES} ${SOURCES}) diff --git a/libcockatrice_network/libcockatrice/network/server/remote/CMakeLists.txt b/libcockatrice_network/libcockatrice/network/server/remote/CMakeLists.txt index e883baa0d..48a882e9b 100644 --- a/libcockatrice_network/libcockatrice/network/server/remote/CMakeLists.txt +++ b/libcockatrice_network/libcockatrice/network/server/remote/CMakeLists.txt @@ -25,8 +25,6 @@ set(HEADERS if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) -elseif(Qt5_FOUND) - qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) endif() add_library( diff --git a/libcockatrice_rng/CMakeLists.txt b/libcockatrice_rng/CMakeLists.txt index 6ff2a4537..7b091686a 100644 --- a/libcockatrice_rng/CMakeLists.txt +++ b/libcockatrice_rng/CMakeLists.txt @@ -6,8 +6,6 @@ set(HEADERS libcockatrice/rng/rng_abstract.h libcockatrice/rng/rng_sfmt.h libcoc if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) -elseif(Qt5_FOUND) - qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) endif() add_library( diff --git a/libcockatrice_settings/CMakeLists.txt b/libcockatrice_settings/CMakeLists.txt index 3afe6e00a..a86cd51ea 100644 --- a/libcockatrice_settings/CMakeLists.txt +++ b/libcockatrice_settings/CMakeLists.txt @@ -17,8 +17,6 @@ set(HEADERS if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS}) -elseif(Qt5_FOUND) - qt5_wrap_cpp(MOC_SOURCES ${HEADERS}) endif() add_library( diff --git a/oracle/CMakeLists.txt b/oracle/CMakeLists.txt index 3bb4de5df..0651a7554 100644 --- a/oracle/CMakeLists.txt +++ b/oracle/CMakeLists.txt @@ -65,8 +65,6 @@ set(oracle_RESOURCES oracle.qrc) # ------------------------ if(Qt6_FOUND) qt6_add_resources(oracle_RESOURCES_RCC ${oracle_RESOURCES}) -elseif(Qt5_FOUND) - qt5_add_resources(oracle_RESOURCES_RCC ${oracle_RESOURCES}) endif() # ------------------------ @@ -116,25 +114,6 @@ if(Qt6_FOUND) ${oracle_MOC_SRCS} MANUAL_FINALIZATION ) -elseif(Qt5_FOUND) - # Qt5 Translations need to be linked at executable creation time - if(Qt5LinguistTools_FOUND) - if(UPDATE_TRANSLATIONS) - qt5_create_translation(oracle_QM ${translate_SRCS} ${oracle_TS}) - else() - qt5_add_translation(oracle_QM ${oracle_TS}) - endif() - endif() - add_executable(oracle WIN32 MACOSX_BUNDLE ${oracle_MOC_SRCS} ${oracle_QM} ${oracle_RESOURCES_RCC} ${oracle_SOURCES}) - if(UNIX) - if(APPLE) - install(FILES ${oracle_QM} DESTINATION ${ORACLE_MAC_QM_INSTALL_DIR}) - else() - install(FILES ${oracle_QM} DESTINATION ${ORACLE_UNIX_QM_INSTALL_DIR}) - endif() - elseif(WIN32) - install(FILES ${oracle_QM} DESTINATION ${ORACLE_WIN32_QM_INSTALL_DIR}) - endif() endif() # ------------------------ diff --git a/servatrice/CMakeLists.txt b/servatrice/CMakeLists.txt index 6e4191beb..e97a6156c 100644 --- a/servatrice/CMakeLists.txt +++ b/servatrice/CMakeLists.txt @@ -45,8 +45,6 @@ endif(APPLE) if(Qt6_FOUND) qt6_add_resources(servatrice_RESOURCES_RCC ${servatrice_RESOURCES}) -elseif(Qt5_FOUND) - qt5_add_resources(servatrice_RESOURCES_RCC ${servatrice_RESOURCES}) endif() set(QT_DONT_USE_QTGUI TRUE) From e2c89c2a1ac3a202fb9f17f9e92b7b4b93a2c9d4 Mon Sep 17 00:00:00 2001 From: tooomm Date: Sun, 29 Mar 2026 19:31:05 +0200 Subject: [PATCH 02/15] QT_VERSION <6.0 --- cockatrice/src/client/sound_engine.cpp | 12 +------- cockatrice/src/game/player/player_actions.cpp | 4 --- .../src/game/player/player_list_widget.cpp | 4 --- .../cards/card_info_picture_widget.cpp | 4 --- .../widgets/cards/card_info_picture_widget.h | 6 +--- .../deck_analytics/resizable_panel.cpp | 29 ------------------- .../dialogs/dlg_select_set_for_cards.cpp | 8 ----- .../dialogs/dlg_select_set_for_cards.h | 4 --- .../display/charts/bars/bar_chart_widget.cpp | 4 --- .../general/display/charts/bars/color_bar.cpp | 13 --------- .../general/display/charts/bars/color_bar.h | 9 +----- .../charts/bars/segmented_bar_widget.cpp | 4 --- .../general/display/charts/pies/color_pie.cpp | 19 ++---------- .../general/display/charts/pies/color_pie.h | 4 --- .../all_zones_card_amount_widget.cpp | 4 --- .../all_zones_card_amount_widget.h | 4 --- .../printing_selector_card_overlay_widget.cpp | 4 --- .../printing_selector_card_overlay_widget.h | 4 --- .../quick_settings/settings_button_widget.cpp | 4 --- .../widgets/replay/replay_timeline_widget.cpp | 4 --- .../widgets/server/chat_view/chat_view.cpp | 12 -------- .../widgets/server/chat_view/chat_view.h | 4 --- .../widgets/server/user/user_list_widget.cpp | 4 --- ...api_response_deck_entry_display_widget.cpp | 4 --- ...t_api_response_deck_entry_display_widget.h | 7 +---- ...i_response_card_details_display_widget.cpp | 4 --- ...api_response_card_details_display_widget.h | 6 +--- .../interface/widgets/tabs/tab_supervisor.cpp | 4 --- .../interface/widgets/tabs/tab_supervisor.h | 4 --- .../deck_preview/deck_preview_widget.cpp | 4 --- .../deck_preview/deck_preview_widget.h | 6 +--- cockatrice/src/main.cpp | 7 ----- .../card/card_info_comparator.cpp | 9 ------ .../libcockatrice/deck_list/deck_list.cpp | 8 ----- oracle/src/main.cpp | 4 --- oracle/src/qt-json/json.cpp | 28 ------------------ servatrice/src/smtp/qxtsmtp.cpp | 5 ---- 37 files changed, 8 insertions(+), 260 deletions(-) diff --git a/cockatrice/src/client/sound_engine.cpp b/cockatrice/src/client/sound_engine.cpp index 31cb2a35e..b4991813c 100644 --- a/cockatrice/src/client/sound_engine.cpp +++ b/cockatrice/src/client/sound_engine.cpp @@ -2,13 +2,10 @@ #include "settings/cache_settings.h" +#include #include #include -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) -#include -#endif - #define DEFAULT_THEME_NAME "Default" #define TEST_SOUND_FILENAME "player_join" @@ -40,10 +37,8 @@ void SoundEngine::soundEnabledChanged() qCInfo(SoundEngineLog) << "SoundEngine: enabling sound with" << audioData.size() << "sounds"; if (!player) { player = new QMediaPlayer; -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) audioOutput = new QAudioOutput(player); player->setAudioOutput(audioOutput); -#endif } } else { qCInfo(SoundEngineLog) << "SoundEngine: disabling sound"; @@ -71,13 +66,8 @@ void SoundEngine::playSound(const QString &fileName) player->stop(); int volumeSliderValue = SettingsCache::instance().getMasterVolume(); -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) player->audioOutput()->setVolume(qreal(volumeSliderValue) / 100); player->setSource(QUrl::fromLocalFile(audioData[fileName])); -#else - player->setVolume(volumeSliderValue); - player->setMedia(QUrl::fromLocalFile(audioData[fileName])); -#endif player->play(); } diff --git a/cockatrice/src/game/player/player_actions.cpp b/cockatrice/src/game/player/player_actions.cpp index ca0967636..295aa249b 100644 --- a/cockatrice/src/game/player/player_actions.cpp +++ b/cockatrice/src/game/player/player_actions.cpp @@ -1385,11 +1385,7 @@ void PlayerActions::actSetPT() const auto oldpt = parsePT(card->getPT()); int ptIter = 0; for (const auto &_item : ptList) { -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) if (_item.typeId() == QMetaType::Type::Int) { -#else - if (_item.type() == QVariant::Int) { -#endif int oldItem = ptIter < oldpt.size() ? oldpt.at(ptIter).toInt() : 0; newpt += '/' + QString::number(oldItem + _item.toInt()); } else { diff --git a/cockatrice/src/game/player/player_list_widget.cpp b/cockatrice/src/game/player/player_list_widget.cpp index 9506e0729..aca29bdc5 100644 --- a/cockatrice/src/game/player/player_list_widget.cpp +++ b/cockatrice/src/game/player/player_list_widget.cpp @@ -25,11 +25,7 @@ bool PlayerListItemDelegate::editorEvent(QEvent *event, if ((event->type() == QEvent::MouseButtonPress) && index.isValid()) { auto *const mouseEvent = static_cast(event); if (mouseEvent->button() == Qt::RightButton) { -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) static_cast(parent())->showContextMenu(mouseEvent->globalPosition().toPoint(), index); -#else - static_cast(parent())->showContextMenu(mouseEvent->globalPos(), index); -#endif return true; } } diff --git a/cockatrice/src/interface/widgets/cards/card_info_picture_widget.cpp b/cockatrice/src/interface/widgets/cards/card_info_picture_widget.cpp index 816940b0f..89a431a96 100644 --- a/cockatrice/src/interface/widgets/cards/card_info_picture_widget.cpp +++ b/cockatrice/src/interface/widgets/cards/card_info_picture_widget.cpp @@ -246,11 +246,7 @@ QSize CardInfoPictureWidget::sizeHint() const * @brief Starts the hover timer to show the enlarged pixmap on hover. * @param event The enter event. */ -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) void CardInfoPictureWidget::enterEvent(QEnterEvent *event) -#else -void CardInfoPictureWidget::enterEvent(QEvent *event) -#endif { QWidget::enterEvent(event); // Call the base class implementation diff --git a/cockatrice/src/interface/widgets/cards/card_info_picture_widget.h b/cockatrice/src/interface/widgets/cards/card_info_picture_widget.h index 1095d7d74..cb19bd1d9 100644 --- a/cockatrice/src/interface/widgets/cards/card_info_picture_widget.h +++ b/cockatrice/src/interface/widgets/cards/card_info_picture_widget.h @@ -48,11 +48,7 @@ signals: protected: void resizeEvent(QResizeEvent *event) override; void paintEvent(QPaintEvent *) override; -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) - void enterEvent(QEnterEvent *event) override; // Qt6 signature -#else - void enterEvent(QEvent *event) override; // Qt5 signature -#endif + void enterEvent(QEnterEvent *event) override; void leaveEvent(QEvent *event) override; void moveEvent(QMoveEvent *event) override; void mouseMoveEvent(QMouseEvent *event) override; diff --git a/cockatrice/src/interface/widgets/deck_analytics/resizable_panel.cpp b/cockatrice/src/interface/widgets/deck_analytics/resizable_panel.cpp index a0c971a75..60a715098 100644 --- a/cockatrice/src/interface/widgets/deck_analytics/resizable_panel.cpp +++ b/cockatrice/src/interface/widgets/deck_analytics/resizable_panel.cpp @@ -133,11 +133,7 @@ bool ResizablePanel::eventFilter(QObject *obj, QEvent *event) if (event->type() == QEvent::MouseButtonPress) { auto *mouseEvent = static_cast(event); if (mouseEvent->button() == Qt::LeftButton) { -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) dragStartPos = mouseEvent->globalPosition().toPoint(); -#else - dragStartPos = mouseEvent->globalPos(); -#endif isDraggingPanel = false; dragButton->setCursor(Qt::ClosedHandCursor); } @@ -145,11 +141,7 @@ bool ResizablePanel::eventFilter(QObject *obj, QEvent *event) } else if (event->type() == QEvent::MouseMove) { auto *mouseEvent = static_cast(event); if (mouseEvent->buttons() & Qt::LeftButton) { -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) QPoint currentPos = mouseEvent->globalPosition().toPoint(); -#else - QPoint currentPos = mouseEvent->globalPos(); -#endif int distance = (currentPos - dragStartPos).manhattanLength(); if (distance >= 5 && !isDraggingPanel) { isDraggingPanel = true; @@ -168,22 +160,14 @@ bool ResizablePanel::eventFilter(QObject *obj, QEvent *event) if (obj == resizeHandle) { if (event->type() == QEvent::MouseButtonPress) { auto *mouseEvent = static_cast(event); -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) resizeStartY = mouseEvent->globalPosition().y(); -#else - resizeStartY = mouseEvent->globalPos().y(); -#endif isResizing = true; resizeStartHeight = currentHeight; resizeHandle->grabMouse(); return true; } else if (event->type() == QEvent::MouseMove && isResizing) { auto *mouseEvent = static_cast(event); -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) int deltaY = mouseEvent->globalPosition().y() - resizeStartY; -#else - int deltaY = mouseEvent->globalPos().y() - resizeStartY; -#endif int newHeight = resizeStartHeight + deltaY; int minAllowed = getMinimumAllowedHeight(); @@ -207,11 +191,7 @@ void ResizablePanel::dragEnterEvent(QDragEnterEvent *event) { if (event->mimeData()->hasFormat("application/x-resizablepanel")) { event->acceptProposedAction(); -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) showDropIndicator(event->position().y()); -#else - showDropIndicator(event->pos().y()); -#endif } } @@ -219,13 +199,8 @@ void ResizablePanel::dragMoveEvent(QDragMoveEvent *event) { if (event->mimeData()->hasFormat("application/x-resizablepanel")) { event->acceptProposedAction(); -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) showDropIndicator(event->position().y()); lastDragPos = mapToGlobal(event->position().toPoint()); -#else - showDropIndicator(event->pos().y()); - lastDragPos = mapToGlobal(event->pos()); -#endif if (!autoScrollTimer->isActive()) { autoScrollTimer->start(); @@ -251,11 +226,7 @@ void ResizablePanel::dropEvent(QDropEvent *event) ResizablePanel *draggedPanel = reinterpret_cast(ptr); if (draggedPanel && draggedPanel != this) { -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) bool insertBefore = (event->position().y() < height() / 2); -#else - bool insertBefore = (event->pos().y() < height() / 2); -#endif emit dropRequested(draggedPanel, this, insertBefore); event->acceptProposedAction(); } diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp index 5d9e2679c..0f905bc12 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp @@ -320,11 +320,7 @@ void DlgSelectSetForCards::dropEvent(QDropEvent *event) { QByteArray itemData = event->mimeData()->data("application/x-setentrywidget"); QString draggedSetName = QString::fromUtf8(itemData); -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) QPoint adjustedPos = event->position().toPoint() + QPoint(0, scrollArea->verticalScrollBar()->value()); -#else - QPoint adjustedPos = event->pos() + QPoint(0, scrollArea->verticalScrollBar()->value()); -#endif int dropIndex = -1; for (int i = 0; i < listLayout->count(); ++i) { QWidget *widget = listLayout->itemAt(i)->widget(); @@ -489,11 +485,7 @@ void SetEntryWidget::mousePressEvent(QMouseEvent *event) } } -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) void SetEntryWidget::enterEvent(QEnterEvent *event) -#else -void SetEntryWidget::enterEvent(QEvent *event) -#endif { QWidget::enterEvent(event); // Call the base class handler // Highlight the widget by changing the background color only for the widget itself diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.h b/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.h index 795366b57..d46a33458 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.h +++ b/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.h @@ -87,11 +87,7 @@ public: public slots: void mousePressEvent(QMouseEvent *event) override; -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) void enterEvent(QEnterEvent *event) override; -#else - void enterEvent(QEvent *event) override; -#endif void leaveEvent(QEvent *event) override; void dragMoveEvent(QDragMoveEvent *event) override; diff --git a/cockatrice/src/interface/widgets/general/display/charts/bars/bar_chart_widget.cpp b/cockatrice/src/interface/widgets/general/display/charts/bars/bar_chart_widget.cpp index 998808307..59f520753 100644 --- a/cockatrice/src/interface/widgets/general/display/charts/bars/bar_chart_widget.cpp +++ b/cockatrice/src/interface/widgets/general/display/charts/bars/bar_chart_widget.cpp @@ -204,11 +204,7 @@ void BarChartWidget::mouseMoveEvent(QMouseEvent *e) if (hoveredSegment >= 0) { const auto &s = segments[hoveredSegment]; QString text = QString("%1: %2 cards\n\n%3").arg(s.category).arg(s.value).arg(s.cards.join("\n")); -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) QToolTip::showText(e->globalPosition().toPoint(), text, this); -#else - QToolTip::showText(e->globalPos(), text, this); -#endif } else { QToolTip::hideText(); } diff --git a/cockatrice/src/interface/widgets/general/display/charts/bars/color_bar.cpp b/cockatrice/src/interface/widgets/general/display/charts/bars/color_bar.cpp index ed91ba03d..6afecb7f6 100644 --- a/cockatrice/src/interface/widgets/general/display/charts/bars/color_bar.cpp +++ b/cockatrice/src/interface/widgets/general/display/charts/bars/color_bar.cpp @@ -79,19 +79,11 @@ void ColorBar::paintEvent(QPaintEvent *) } } -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) void ColorBar::enterEvent(QEnterEvent *event) { Q_UNUSED(event); isHovered = true; } -#else -void ColorBar::enterEvent(QEvent *event) -{ - Q_UNUSED(event); - isHovered = true; -} -#endif void ColorBar::leaveEvent(QEvent *) { @@ -103,13 +95,8 @@ void ColorBar::mouseMoveEvent(QMouseEvent *event) if (!isHovered || colors.isEmpty()) return; -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) int x = int(event->position().x()); QPoint gp = event->globalPosition().toPoint(); -#else - int x = event->pos().x(); - QPoint gp = event->globalPos(); -#endif QString text = tooltipForPosition(x); if (!text.isEmpty()) diff --git a/cockatrice/src/interface/widgets/general/display/charts/bars/color_bar.h b/cockatrice/src/interface/widgets/general/display/charts/bars/color_bar.h index 0ef68f578..ec400d54b 100644 --- a/cockatrice/src/interface/widgets/general/display/charts/bars/color_bar.h +++ b/cockatrice/src/interface/widgets/general/display/charts/bars/color_bar.h @@ -76,17 +76,10 @@ protected: */ void paintEvent(QPaintEvent *event) override; -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) /** - * @brief Handles mouse hover entering (Qt6 version). + * @brief Handles mouse hover entering. */ void enterEvent(QEnterEvent *event) override; -#else - /** - * @brief Handles mouse hover entering (Qt5 version). - */ - void enterEvent(QEvent *event) override; -#endif /** * @brief Handles mouse hover leaving. diff --git a/cockatrice/src/interface/widgets/general/display/charts/bars/segmented_bar_widget.cpp b/cockatrice/src/interface/widgets/general/display/charts/bars/segmented_bar_widget.cpp index e027aabdd..78c2aca11 100644 --- a/cockatrice/src/interface/widgets/general/display/charts/bars/segmented_bar_widget.cpp +++ b/cockatrice/src/interface/widgets/general/display/charts/bars/segmented_bar_widget.cpp @@ -132,9 +132,5 @@ void SegmentedBarWidget::mouseMoveEvent(QMouseEvent *e) const Segment &s = segments[idx]; QString text = QString("%1: %2 cards\n%3").arg(s.category).arg(s.value).arg(s.cards.join(", ")); -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) QToolTip::showText(e->globalPosition().toPoint(), text, this); -#else - QToolTip::showText(e->globalPos(), text, this); -#endif } diff --git a/cockatrice/src/interface/widgets/general/display/charts/pies/color_pie.cpp b/cockatrice/src/interface/widgets/general/display/charts/pies/color_pie.cpp index 84232b36f..00b42c2ec 100644 --- a/cockatrice/src/interface/widgets/general/display/charts/pies/color_pie.cpp +++ b/cockatrice/src/interface/widgets/general/display/charts/pies/color_pie.cpp @@ -82,11 +82,9 @@ void ColorPie::paintEvent(QPaintEvent *) QString label = QString("%1%").arg(int(ratio * 100 + 0.5)); QFontMetrics fm(p.font()); -#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0) + int labelWidth = fm.horizontalAdvance(label); -#else - int labelWidth = fm.width(label); -#endif + QRectF textRect(labelPos.x() - labelWidth / 2.0, labelPos.y() - fm.height() / 2.0, labelWidth, fm.height()); p.setPen(Qt::black); @@ -96,19 +94,11 @@ void ColorPie::paintEvent(QPaintEvent *) } } -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) void ColorPie::enterEvent(QEnterEvent *event) { Q_UNUSED(event); isHovered = true; } -#else -void ColorPie::enterEvent(QEvent *event) -{ - Q_UNUSED(event); - isHovered = true; -} -#endif void ColorPie::leaveEvent(QEvent *) { @@ -121,13 +111,8 @@ void ColorPie::mouseMoveEvent(QMouseEvent *event) return; } -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) QPoint p = event->position().toPoint(); QPoint gp = event->globalPosition().toPoint(); -#else - QPoint p = event->pos(); - QPoint gp = event->globalPos(); -#endif QString text = tooltipForPoint(p); if (!text.isEmpty()) { diff --git a/cockatrice/src/interface/widgets/general/display/charts/pies/color_pie.h b/cockatrice/src/interface/widgets/general/display/charts/pies/color_pie.h index 7d71ea3b9..60d8e18f2 100644 --- a/cockatrice/src/interface/widgets/general/display/charts/pies/color_pie.h +++ b/cockatrice/src/interface/widgets/general/display/charts/pies/color_pie.h @@ -22,11 +22,7 @@ public: protected: void paintEvent(QPaintEvent *) override; -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) void enterEvent(QEnterEvent *event) override; -#else - void enterEvent(QEvent *event) override; -#endif void leaveEvent(QEvent *) override; void mouseMoveEvent(QMouseEvent *event) override; diff --git a/cockatrice/src/interface/widgets/printing_selector/all_zones_card_amount_widget.cpp b/cockatrice/src/interface/widgets/printing_selector/all_zones_card_amount_widget.cpp index 36bccbcc3..2eac13d94 100644 --- a/cockatrice/src/interface/widgets/printing_selector/all_zones_card_amount_widget.cpp +++ b/cockatrice/src/interface/widgets/printing_selector/all_zones_card_amount_widget.cpp @@ -114,11 +114,7 @@ bool AllZonesCardAmountWidget::isNonZero() * * @param event The event information for the mouse entry. */ -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) void AllZonesCardAmountWidget::enterEvent(QEnterEvent *event) -#else -void AllZonesCardAmountWidget::enterEvent(QEvent *event) -#endif { QWidget::enterEvent(event); update(); diff --git a/cockatrice/src/interface/widgets/printing_selector/all_zones_card_amount_widget.h b/cockatrice/src/interface/widgets/printing_selector/all_zones_card_amount_widget.h index d158d257e..fb301d90e 100644 --- a/cockatrice/src/interface/widgets/printing_selector/all_zones_card_amount_widget.h +++ b/cockatrice/src/interface/widgets/printing_selector/all_zones_card_amount_widget.h @@ -25,11 +25,7 @@ public: int getSideboardAmount(); bool isNonZero(); -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) void enterEvent(QEnterEvent *event) override; -#else - void enterEvent(QEvent *event) override; -#endif public slots: void adjustFontSize(int scalePercentage); diff --git a/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.cpp b/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.cpp index 1508b5243..c1d98d1b4 100644 --- a/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.cpp +++ b/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.cpp @@ -105,11 +105,7 @@ void PrintingSelectorCardOverlayWidget::resizeEvent(QResizeEvent *event) * * @param event The event triggered when the mouse enters the widget. */ -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) void PrintingSelectorCardOverlayWidget::enterEvent(QEnterEvent *event) -#else -void PrintingSelectorCardOverlayWidget::enterEvent(QEvent *event) -#endif { QWidget::enterEvent(event); deckEditor->updateCard(rootCard); diff --git a/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.h b/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.h index ae2307c45..dd1a477b0 100644 --- a/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.h +++ b/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.h @@ -26,11 +26,7 @@ public: protected: void resizeEvent(QResizeEvent *event) override; -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) void enterEvent(QEnterEvent *event) override; -#else - void enterEvent(QEvent *event) override; -#endif void leaveEvent(QEvent *event) override; void mousePressEvent(QMouseEvent *event) override; void customMenu(QPoint point); diff --git a/cockatrice/src/interface/widgets/quick_settings/settings_button_widget.cpp b/cockatrice/src/interface/widgets/quick_settings/settings_button_widget.cpp index 81812104a..38222b321 100644 --- a/cockatrice/src/interface/widgets/quick_settings/settings_button_widget.cpp +++ b/cockatrice/src/interface/widgets/quick_settings/settings_button_widget.cpp @@ -89,11 +89,7 @@ void SettingsButtonWidget::onPopupClosed() const void SettingsButtonWidget::mousePressEvent(QMouseEvent *event) { -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) if (popup->isVisible() && !popup->geometry().contains(event->globalPosition().toPoint())) { -#else - if (popup->isVisible() && !popup->geometry().contains(event->globalPos())) { -#endif popup->close(); } QWidget::mousePressEvent(event); diff --git a/cockatrice/src/interface/widgets/replay/replay_timeline_widget.cpp b/cockatrice/src/interface/widgets/replay/replay_timeline_widget.cpp index 25ee58b67..81f5e1275 100644 --- a/cockatrice/src/interface/widgets/replay/replay_timeline_widget.cpp +++ b/cockatrice/src/interface/widgets/replay/replay_timeline_widget.cpp @@ -66,11 +66,7 @@ void ReplayTimelineWidget::paintEvent(QPaintEvent * /* event */) void ReplayTimelineWidget::mousePressEvent(QMouseEvent *event) { -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) int newTime = static_cast((qint64)maxTime * (qint64)event->position().x() / width()); -#else - int newTime = static_cast((qint64)maxTime * (qint64)event->x() / width()); -#endif // don't buffer rewinds from clicks, since clicks usually don't happen fast enough to require buffering skipToTime(newTime, false); } diff --git a/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp b/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp index 731f30942..314ba5140 100644 --- a/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp +++ b/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp @@ -566,11 +566,7 @@ void ChatView::redactMessages(const QString &userName, int amount) } } -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) void ChatView::enterEvent(QEnterEvent * /*event*/) -#else -void ChatView::enterEvent(QEvent * /*event*/) -#endif { setMouseTracking(true); } @@ -626,11 +622,7 @@ void ChatView::mousePressEvent(QMouseEvent *event) switch (hoveredItemType) { case HoveredCard: { if ((event->button() == Qt::MiddleButton) || (event->button() == Qt::LeftButton)) -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) emit showCardInfoPopup(event->globalPosition().toPoint(), {hoveredContent}); -#else - emit showCardInfoPopup(event->globalPos(), {hoveredContent}); -#endif break; } case HoveredUser: { @@ -640,11 +632,7 @@ void ChatView::mousePressEvent(QMouseEvent *event) switch (event->button()) { case Qt::RightButton: { UserLevelFlags userLevel(hoveredContent.left(delimiterIndex).toInt()); -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) userContextMenu->showContextMenu(event->globalPosition().toPoint(), userName, userLevel, this); -#else - userContextMenu->showContextMenu(event->globalPos(), userName, userLevel, this); -#endif break; } case Qt::LeftButton: { diff --git a/cockatrice/src/interface/widgets/server/chat_view/chat_view.h b/cockatrice/src/interface/widgets/server/chat_view/chat_view.h index d1939fbea..f9984d2d8 100644 --- a/cockatrice/src/interface/widgets/server/chat_view/chat_view.h +++ b/cockatrice/src/interface/widgets/server/chat_view/chat_view.h @@ -103,11 +103,7 @@ public: void redactMessages(const QString &userName, int amount); protected: -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) void enterEvent(QEnterEvent *event) override; -#else - void enterEvent(QEvent *event) override; -#endif void leaveEvent(QEvent *event) override; void mouseMoveEvent(QMouseEvent *event) override; void mousePressEvent(QMouseEvent *event) override; diff --git a/cockatrice/src/interface/widgets/server/user/user_list_widget.cpp b/cockatrice/src/interface/widgets/server/user/user_list_widget.cpp index 852743479..b59ab11a0 100644 --- a/cockatrice/src/interface/widgets/server/user/user_list_widget.cpp +++ b/cockatrice/src/interface/widgets/server/user/user_list_widget.cpp @@ -316,11 +316,7 @@ bool UserListItemDelegate::editorEvent(QEvent *event, if ((event->type() == QEvent::MouseButtonPress) && index.isValid()) { QMouseEvent *const mouseEvent = static_cast(event); if (mouseEvent->button() == Qt::RightButton) { -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) static_cast(parent())->showContextMenu(mouseEvent->globalPosition().toPoint(), index); -#else - static_cast(parent())->showContextMenu(mouseEvent->globalPos(), index); -#endif return true; } } diff --git a/cockatrice/src/interface/widgets/tabs/api/archidekt/display/archidekt_api_response_deck_entry_display_widget.cpp b/cockatrice/src/interface/widgets/tabs/api/archidekt/display/archidekt_api_response_deck_entry_display_widget.cpp index c26220869..88be438ae 100644 --- a/cockatrice/src/interface/widgets/tabs/api/archidekt/display/archidekt_api_response_deck_entry_display_widget.cpp +++ b/cockatrice/src/interface/widgets/tabs/api/archidekt/display/archidekt_api_response_deck_entry_display_widget.cpp @@ -131,11 +131,7 @@ void ArchidektApiResponseDeckEntryDisplayWidget::mousePressEvent(QMouseEvent *ev actRequestNavigationToDeck(); } -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) void ArchidektApiResponseDeckEntryDisplayWidget::enterEvent(QEnterEvent *event) -#else -void ArchidektApiResponseDeckEntryDisplayWidget::enterEvent(QEvent *event) -#endif { QWidget::enterEvent(event); backgroundPlateWidget->setFocused(true); diff --git a/cockatrice/src/interface/widgets/tabs/api/archidekt/display/archidekt_api_response_deck_entry_display_widget.h b/cockatrice/src/interface/widgets/tabs/api/archidekt/display/archidekt_api_response_deck_entry_display_widget.h index 365a99c9c..7d0526fd4 100644 --- a/cockatrice/src/interface/widgets/tabs/api/archidekt/display/archidekt_api_response_deck_entry_display_widget.h +++ b/cockatrice/src/interface/widgets/tabs/api/archidekt/display/archidekt_api_response_deck_entry_display_widget.h @@ -97,12 +97,7 @@ public slots: protected: void mousePressEvent(QMouseEvent *event) override; - -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) - void enterEvent(QEnterEvent *event) override; ///< Qt6 hover enter -#else - void enterEvent(QEvent *event) override; ///< Qt5 hover enter -#endif + void enterEvent(QEnterEvent *event) override; void leaveEvent(QEvent *event) override; private: diff --git a/cockatrice/src/interface/widgets/tabs/api/edhrec/display/cards/edhrec_api_response_card_details_display_widget.cpp b/cockatrice/src/interface/widgets/tabs/api/edhrec/display/cards/edhrec_api_response_card_details_display_widget.cpp index c01c7fa43..e28fd5282 100644 --- a/cockatrice/src/interface/widgets/tabs/api/edhrec/display/cards/edhrec_api_response_card_details_display_widget.cpp +++ b/cockatrice/src/interface/widgets/tabs/api/edhrec/display/cards/edhrec_api_response_card_details_display_widget.cpp @@ -62,11 +62,7 @@ void EdhrecApiResponseCardDetailsDisplayWidget::mousePressEvent(QMouseEvent *eve actRequestPageNavigation(); } -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) void EdhrecApiResponseCardDetailsDisplayWidget::enterEvent(QEnterEvent *event) -#else -void EdhrecApiResponseCardDetailsDisplayWidget::enterEvent(QEvent *event) -#endif { QWidget::enterEvent(event); backgroundPlateWidget->setFocused(true); diff --git a/cockatrice/src/interface/widgets/tabs/api/edhrec/display/cards/edhrec_api_response_card_details_display_widget.h b/cockatrice/src/interface/widgets/tabs/api/edhrec/display/cards/edhrec_api_response_card_details_display_widget.h index 82dcfb8b0..db207446f 100644 --- a/cockatrice/src/interface/widgets/tabs/api/edhrec/display/cards/edhrec_api_response_card_details_display_widget.h +++ b/cockatrice/src/interface/widgets/tabs/api/edhrec/display/cards/edhrec_api_response_card_details_display_widget.h @@ -39,11 +39,7 @@ private: protected slots: void mousePressEvent(QMouseEvent *event) override; -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) - void enterEvent(QEnterEvent *event) override; ///< Qt6 hover enter -#else - void enterEvent(QEvent *event) override; ///< Qt5 hover enter -#endif + void enterEvent(QEnterEvent *event) override; void leaveEvent(QEvent *event) override; }; diff --git a/cockatrice/src/interface/widgets/tabs/tab_supervisor.cpp b/cockatrice/src/interface/widgets/tabs/tab_supervisor.cpp index b10d615ff..b245e57ec 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_supervisor.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_supervisor.cpp @@ -64,11 +64,7 @@ QSize CloseButton::sizeHint() const return {width, height}; } -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) void CloseButton::enterEvent(QEnterEvent *event) -#else -void CloseButton::enterEvent(QEvent *event) -#endif { update(); QAbstractButton::enterEvent(event); diff --git a/cockatrice/src/interface/widgets/tabs/tab_supervisor.h b/cockatrice/src/interface/widgets/tabs/tab_supervisor.h index 0c4428f83..4440c1d66 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_supervisor.h +++ b/cockatrice/src/interface/widgets/tabs/tab_supervisor.h @@ -70,11 +70,7 @@ public: } protected: -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) void enterEvent(QEnterEvent *event) override; -#else - void enterEvent(QEvent *event) override; -#endif void leaveEvent(QEvent *event) override; void paintEvent(QPaintEvent *event) override; }; diff --git a/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp b/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp index 77ea8f865..2dbaf83b5 100644 --- a/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp @@ -71,11 +71,7 @@ void DeckPreviewWidget::resizeEvent(QResizeEvent *event) } } -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) void DeckPreviewWidget::enterEvent(QEnterEvent *event) -#else -void DeckPreviewWidget::enterEvent(QEvent *event) -#endif { QWidget::enterEvent(event); diff --git a/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.h b/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.h index 98116cabe..e4998c958 100644 --- a/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.h +++ b/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.h @@ -72,11 +72,7 @@ public slots: void resizeEvent(QResizeEvent *event) override; protected: -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) - void enterEvent(QEnterEvent *event) override; // Qt6 signature -#else - void enterEvent(QEvent *event) override; // Qt5 signature -#endif + void enterEvent(QEnterEvent *event) override; private: void updateLastModifiedTime(); diff --git a/cockatrice/src/main.cpp b/cockatrice/src/main.cpp index 7092a3fd7..3397437de 100644 --- a/cockatrice/src/main.cpp +++ b/cockatrice/src/main.cpp @@ -128,11 +128,7 @@ void installNewTranslator() QString lang = SettingsCache::instance().getLang(); QString qtNameHint = "qt_" + lang; -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) QString qtTranslationPath = QLibraryInfo::path(QLibraryInfo::TranslationsPath); -#else - QString qtTranslationPath = QLibraryInfo::location(QLibraryInfo::TranslationsPath); -#endif bool qtTranslationLoaded = qtTranslator->load(qtNameHint, qtTranslationPath); if (!qtTranslationLoaded) { @@ -275,9 +271,6 @@ int main(int argc, char *argv[]) // force shortcuts to be shown/hidden in right-click menus, regardless of system defaults qApp->setAttribute(Qt::AA_DontShowShortcutsInContextMenus, !SettingsCache::instance().getShowShortcuts()); -#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) - app.setAttribute(Qt::AA_UseHighDpiPixmaps); -#endif app.exec(); qCInfo(MainLog) << "Event loop finished, terminating..."; diff --git a/libcockatrice_card/libcockatrice/card/card_info_comparator.cpp b/libcockatrice_card/libcockatrice/card/card_info_comparator.cpp index 821cc8675..4133b7de0 100644 --- a/libcockatrice_card/libcockatrice/card/card_info_comparator.cpp +++ b/libcockatrice_card/libcockatrice/card/card_info_comparator.cpp @@ -25,22 +25,13 @@ bool CardInfoComparator::operator()(const CardInfoPtr &a, const CardInfoPtr &b) bool CardInfoComparator::compareVariants(const QVariant &a, const QVariant &b) const { - // Determine the type of QVariant based on Qt version -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) if (a.typeId() != b.typeId()) { -#else - if (a.type() != b.type()) { -#endif // If they are not the same type, compare as strings return a.toString() < b.toString(); } // Perform type-specific comparison -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) switch (static_cast(a.typeId())) { -#else - switch (static_cast(a.type())) { -#endif case static_cast(QMetaType::Int): return a.toInt() < b.toInt(); case static_cast(QMetaType::Double): diff --git a/libcockatrice_deck_list/libcockatrice/deck_list/deck_list.cpp b/libcockatrice_deck_list/libcockatrice/deck_list/deck_list.cpp index e3e7b41c0..b95f87b26 100644 --- a/libcockatrice_deck_list/libcockatrice/deck_list/deck_list.cpp +++ b/libcockatrice_deck_list/libcockatrice/deck_list/deck_list.cpp @@ -13,14 +13,6 @@ #include #include -#if QT_VERSION < 0x050600 -// qHash on QRegularExpression was added in 5.6, FIX IT -uint qHash(const QRegularExpression &key, uint seed) noexcept -{ - return qHash(key.pattern(), seed); // call qHash on pattern QString instead -} -#endif - static const QString CURRENT_SIDEBOARD_PLAN_KEY = ""; bool DeckList::Metadata::isEmpty() const diff --git a/oracle/src/main.cpp b/oracle/src/main.cpp index 5def0c887..27e5723c1 100644 --- a/oracle/src/main.cpp +++ b/oracle/src/main.cpp @@ -24,11 +24,7 @@ void installNewTranslator() QString lang = SettingsCache::instance().getLang(); QString qtNameHint = "qt_" + lang; -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) QString qtTranslationPath = QLibraryInfo::path(QLibraryInfo::TranslationsPath); -#else - QString qtTranslationPath = QLibraryInfo::location(QLibraryInfo::TranslationsPath); -#endif bool qtTranslationLoaded = qtTranslator->load(qtNameHint, qtTranslationPath); if (!qtTranslationLoaded) { diff --git a/oracle/src/qt-json/json.cpp b/oracle/src/qt-json/json.cpp index 2fffd0f70..97a7048c2 100644 --- a/oracle/src/qt-json/json.cpp +++ b/oracle/src/qt-json/json.cpp @@ -109,12 +109,8 @@ QByteArray Json::serialize(const QVariant &data, bool &success) { str = "null"; } -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) else if ((data.typeId() == QMetaType::Type::QVariantList) || (data.typeId() == QMetaType::Type::QStringList)) // variant is a list? -#else - else if ((data.type() == QVariant::List) || (data.type() == QVariant::StringList)) // variant is a list? -#endif { QList values; const QVariantList list = data.toList(); @@ -129,11 +125,7 @@ QByteArray Json::serialize(const QVariant &data, bool &success) str = "[ " + join(values, ", ") + " ]"; } -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) else if ((data.typeId() == QMetaType::Type::QVariantHash)) // variant is a list? -#else - else if (data.type() == QVariant::Hash) // variant is a hash? -#endif { const QVariantHash vhash = data.toHash(); QHashIterator it(vhash); @@ -155,11 +147,7 @@ QByteArray Json::serialize(const QVariant &data, bool &success) str += join(pairs, ", "); str += " }"; } -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) else if ((data.typeId() == QMetaType::Type::QVariantMap)) // variant is a list? -#else - else if (data.type() == QVariant::Map) // variant is a map? -#endif { const QVariantMap vmap = data.toMap(); QMapIterator it(vmap); @@ -177,39 +165,23 @@ QByteArray Json::serialize(const QVariant &data, bool &success) str += join(pairs, ", "); str += " }"; } -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) else if ((data.typeId() == QMetaType::Type::QString) || (data.typeId() == QMetaType::Type::QByteArray)) // variant is a list? -#else - else if ((data.type() == QVariant::String) || (data.type() == QVariant::ByteArray)) // a string or a byte array? -#endif { str = sanitizeString(data.toString()).toUtf8(); } -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) else if (data.typeId() == QMetaType::Type::Double) -#else - else if (data.type() == QVariant::Double) // double? -#endif { str = QByteArray::number(data.toDouble(), 'g', 20); if (!str.contains(".") && !str.contains("e")) { str += ".0"; } } -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) else if (data.typeId() == QMetaType::Type::Bool) -#else - else if (data.type() == QVariant::Bool) // boolean value? -#endif { str = data.toBool() ? "true" : "false"; } -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) else if (data.typeId() == QMetaType::Type::ULongLong) -#else - else if (data.type() == QVariant::ULongLong) // large unsigned number? -#endif { str = QByteArray::number(data.value()); } else if (data.canConvert()) // any signed number? diff --git a/servatrice/src/smtp/qxtsmtp.cpp b/servatrice/src/smtp/qxtsmtp.cpp index 6326b101d..c81e0955c 100644 --- a/servatrice/src/smtp/qxtsmtp.cpp +++ b/servatrice/src/smtp/qxtsmtp.cpp @@ -54,13 +54,8 @@ QxtSmtp::QxtSmtp(QObject *parent) : QObject(parent) // QObject::connect(socket(), SIGNAL(encrypted()), &qxt_d(), SLOT(ehlo())); QObject::connect(socket(), SIGNAL(connected()), this, SIGNAL(connected())); QObject::connect(socket(), SIGNAL(disconnected()), this, SIGNAL(disconnected())); -#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) QObject::connect(socket(), SIGNAL(errorOccurred(QAbstractSocket::SocketError)), &qxt_d(), SLOT(socketError(QAbstractSocket::SocketError))); -#else - QObject::connect(socket(), SIGNAL(error(QAbstractSocket::SocketError)), &qxt_d(), - SLOT(socketError(QAbstractSocket::SocketError))); -#endif QObject::connect(this, SIGNAL(authenticated()), &qxt_d(), SLOT(sendNext())); QObject::connect(socket(), SIGNAL(readyRead()), &qxt_d(), SLOT(socketRead())); } From 3654b25333631c4ff68217ac4716f973106d70b6 Mon Sep 17 00:00:00 2001 From: tooomm Date: Tue, 31 Mar 2026 01:17:10 +0200 Subject: [PATCH 03/15] Qt5 --- README.md | 1 - .../interface/widgets/tabs/tab_supervisor.cpp | 18 ------------------ .../interface/widgets/tabs/tab_supervisor.h | 8 -------- 3 files changed, 27 deletions(-) diff --git a/README.md b/README.md index 8ad9a092c..8fda3c865 100644 --- a/README.md +++ b/README.md @@ -158,7 +158,6 @@ The following flags (with their non-default values) can be passed to `cmake`: | `-DWARNING_AS_ERROR=0` | Don't treat compilation warnings as errors in debug mode | | `-DUPDATE_TRANSLATIONS=1` | Configure `make` to update the translation .ts files for new strings in the source code
**Note:** `make clean` will remove the .ts files | | `-DTEST=1` | Enable regression tests
**Note:** `make test` to run tests, *googletest* will be downloaded if not available | -| `-DFORCE_USE_QT5=1` | Skip looking for Qt6 before trying to find Qt5 | # Run diff --git a/cockatrice/src/interface/widgets/tabs/tab_supervisor.cpp b/cockatrice/src/interface/widgets/tabs/tab_supervisor.cpp index b245e57ec..e3534af7d 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_supervisor.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_supervisor.cpp @@ -37,18 +37,6 @@ #include #include -QRect MacOSTabFixStyle::subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const -{ - if (element != SE_TabBarTabText) { - return QProxyStyle::subElementRect(element, option, widget); - } - - // Skip over QProxyStyle handling subElementRect, - // This fixes an issue with Qt 5.10 on OSX where the labels for tabs with a button and an icon - // get cut-off too early - return QCommonStyle::subElementRect(element, option, widget); -} - CloseButton::CloseButton(QWidget *parent) : QAbstractButton(parent) { setFocusPolicy(Qt::NoFocus); @@ -108,12 +96,6 @@ TabSupervisor::TabSupervisor(AbstractClient *_client, QMenu *tabsMenu, QWidget * setMovable(true); setIconSize(QSize(15, 15)); -#if defined(Q_OS_MAC) - // This is necessary to fix an issue on macOS with qt5.10, - // where tabs with icons and buttons get drawn incorrectly - tabBar()->setStyle(new MacOSTabFixStyle); -#endif - userListManager = new UserListManager(client, this); // connect tab changes diff --git a/cockatrice/src/interface/widgets/tabs/tab_supervisor.h b/cockatrice/src/interface/widgets/tabs/tab_supervisor.h index 4440c1d66..77d3b978e 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_supervisor.h +++ b/cockatrice/src/interface/widgets/tabs/tab_supervisor.h @@ -21,7 +21,6 @@ #include #include #include -#include #include inline Q_LOGGING_CATEGORY(TabSupervisorLog, "tab_supervisor"); @@ -51,13 +50,6 @@ class ServerInfo_User; class GameReplay; class DeckList; -class MacOSTabFixStyle : public QProxyStyle -{ - Q_OBJECT -public: - QRect subElementRect(SubElement, const QStyleOption *, const QWidget *) const override; -}; - class CloseButton : public QAbstractButton { Q_OBJECT From 288a408bb00ec96026bf12d2f23dcd1f3e4699c7 Mon Sep 17 00:00:00 2001 From: tooomm Date: Tue, 31 Mar 2026 07:48:20 +0200 Subject: [PATCH 04/15] qt5 --- cmake/FindQtRuntime.cmake | 66 ++++++++++++--------------------------- 1 file changed, 20 insertions(+), 46 deletions(-) diff --git a/cmake/FindQtRuntime.cmake b/cmake/FindQtRuntime.cmake index 42060c835..eecb1fcc8 100644 --- a/cmake/FindQtRuntime.cmake +++ b/cmake/FindQtRuntime.cmake @@ -1,8 +1,7 @@ # Find a compatible Qt version -# Inputs: WITH_SERVER, WITH_CLIENT, WITH_ORACLE, FORCE_USE_QT5 +# Inputs: WITH_SERVER, WITH_CLIENT, WITH_ORACLE # Optional Input: QT6_DIR -- Hint as to where Qt6 lives on the system -# Optional Input: QT5_DIR -- Hint as to where Qt5 lives on the system -# Output: COCKATRICE_QT_VERSION_NAME -- Example values: Qt5, Qt6 +# Output: COCKATRICE_QT_VERSION_NAME -- Example values: Qt6 # Output: SERVATRICE_QT_MODULES # Output: COCKATRICE_QT_MODULES # Output: ORACLE_QT_MODULES @@ -39,54 +38,32 @@ set(REQUIRED_QT_COMPONENTS ${REQUIRED_QT_COMPONENTS} ${_SERVATRICE_NEEDED} ${_CO ) list(REMOVE_DUPLICATES REQUIRED_QT_COMPONENTS) -if(NOT FORCE_USE_QT5) - # Linguist is now a component in Qt6 instead of an external package - find_package( - Qt6 6.2.3 - COMPONENTS ${REQUIRED_QT_COMPONENTS} Linguist - QUIET HINTS ${Qt6_DIR} - ) -endif() +# Find Qt and all required components, as well as Linguist +find_package( + Qt6 + COMPONENTS ${REQUIRED_QT_COMPONENTS} Linguist + QUIET HINTS ${Qt6_DIR} +) + if(Qt6_FOUND) set(COCKATRICE_QT_VERSION_NAME Qt6) + set(CMAKE_POSITION_INDEPENDENT_CODE ON) - list(FIND Qt6LinguistTools_TARGETS Qt6::lrelease QT6_LRELEASE_INDEX) - if(QT6_LRELEASE_INDEX EQUAL -1) - message(WARNING "Qt6 lrelease not found.") - endif() - - list(FIND Qt6LinguistTools_TARGETS Qt6::lupdate QT6_LUPDATE_INDEX) - if(QT6_LUPDATE_INDEX EQUAL -1) - message(WARNING "Qt6 lupdate not found.") - endif() -else() - find_package( - Qt5 5.15.2 - COMPONENTS ${REQUIRED_QT_COMPONENTS} - QUIET HINTS ${Qt5_DIR} - ) - if(Qt5_FOUND) - set(COCKATRICE_QT_VERSION_NAME Qt5) - else() - message(FATAL_ERROR "No suitable version of Qt was found") - endif() - - # Qt5 Linguist is in a separate package - find_package(Qt5LinguistTools QUIET) - if(Qt5LinguistTools_FOUND) - if(NOT Qt5_LRELEASE_EXECUTABLE) - message(WARNING "Qt5 lrelease not found.") + if(Qt6LinguistTools_FOUND) + list(FIND Qt6LinguistTools_TARGETS Qt6::lrelease QT6_LRELEASE_INDEX) + if(QT6_LRELEASE_INDEX EQUAL -1) + message(WARNING "Qt6 lrelease not found.") endif() - if(NOT Qt5_LUPDATE_EXECUTABLE) - message(WARNING "Qt5 lupdate not found.") + + list(FIND Qt6LinguistTools_TARGETS Qt6::lupdate QT6_LUPDATE_INDEX) + if(QT6_LUPDATE_INDEX EQUAL -1) + message(WARNING "Qt6 lupdate not found.") endif() else() message(WARNING "Linguist Tools not found, cannot handle translations") endif() -endif() - -if(Qt5_POSITION_INDEPENDENT_CODE OR Qt6_FOUND) - set(CMAKE_POSITION_INDEPENDENT_CODE ON) +else() + message(FATAL_ERROR "Qt6 not found") endif() # Establish Qt Plugins directory & Library directories @@ -99,9 +76,6 @@ if(Qt6_FOUND) # Mac needs a bit more help finding all necessary components list(APPEND QT_LIBRARY_DIR "/usr/local/lib") endif() -elseif(Qt5_FOUND) - get_filename_component(QT_PLUGINS_DIR "${Qt5Core_DIR}/../../../plugins" ABSOLUTE) - get_filename_component(QT_LIBRARY_DIR "${QT_LIBRARY_DIR}/.." ABSOLUTE) endif() message(DEBUG "QT_PLUGINS_DIR = ${QT_PLUGINS_DIR}") message(DEBUG "QT_LIBRARY_DIR = ${QT_LIBRARY_DIR}") From 39f663aaaa9b5e48974a60fcc11d35eb35f47d60 Mon Sep 17 00:00:00 2001 From: tooomm Date: Sat, 4 Apr 2026 12:10:03 +0200 Subject: [PATCH 05/15] min Qt 6.4 --- .ci/compile.sh | 2 ++ CMakeLists.txt | 5 +++-- .../card_picture_loader/card_picture_loader.cpp | 6 ------ .../src/interface/widgets/dialogs/dlg_settings.cpp | 10 ---------- .../interface/widgets/server/chat_view/chat_view.cpp | 10 ---------- servatrice/src/smtp/qxthmac.cpp | 4 ---- 6 files changed, 5 insertions(+), 32 deletions(-) diff --git a/.ci/compile.sh b/.ci/compile.sh index 424527f96..6e24d2560 100755 --- a/.ci/compile.sh +++ b/.ci/compile.sh @@ -168,6 +168,8 @@ if [[ $RUNNER_OS == macOS ]]; then # we use find to get the first subfolder with the name "macos" # this works independent of the qt version as there should be only one version installed on the runner at a time export QTDIR + # Add QTDIR to CMAKE_PREFIX_PATH so CMake can find Qt6 + export CMAKE_PREFIX_PATH="$QTDIR:$CMAKE_PREFIX_PATH" if [[ $TARGET_MACOS_VERSION ]]; then # CMAKE_OSX_DEPLOYMENT_TARGET is a vanilla cmake flag needed to compile to target macOS version diff --git a/CMakeLists.txt b/CMakeLists.txt index e98196673..e4c7bcecf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -195,6 +195,8 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") add_definitions("-DSFMT_MEXP=19937") endif() +find_package(Qt6 6.4 REQUIRED) + find_package(Threads REQUIRED) # Determine 32 or 64 bit build @@ -360,7 +362,6 @@ if(TEST) add_subdirectory(tests) endif() -if(Qt6_FOUND AND Qt6_VERSION_MINOR GREATER_EQUAL 3) - # Qt6.3+ requires project finalization to support translations +if(Qt6_FOUND) qt6_finalize_project() endif() diff --git a/cockatrice/src/interface/card_picture_loader/card_picture_loader.cpp b/cockatrice/src/interface/card_picture_loader/card_picture_loader.cpp index 06a0476c9..0314ee167 100644 --- a/cockatrice/src/interface/card_picture_loader/card_picture_loader.cpp +++ b/cockatrice/src/interface/card_picture_loader/card_picture_loader.cpp @@ -221,13 +221,7 @@ bool CardPictureLoader::hasCustomArt() // Check if there is at least one non-directory file in the pics path, other // than in the "downloadedPics" subdirectory. while (it.hasNext()) { -#if (QT_VERSION >= QT_VERSION_CHECK(6, 3, 0)) QFileInfo dir(it.nextFileInfo()); -#else - // nextFileInfo() is only available in Qt 6.3+, for previous versions, we build - // the QFileInfo from a QString which requires more system calls. - QFileInfo dir(it.next()); -#endif if (it.fileName() == "downloadedPics") continue; diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_settings.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_settings.cpp index e3bf209dc..a98f42d1a 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_settings.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_settings.cpp @@ -1441,12 +1441,7 @@ MessagesSettingsPage::MessagesSettingsPage() void MessagesSettingsPage::updateColor(const QString &value) { -#if (QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)) QColor colorToSet = QColor::fromString("#" + value); -#else - QColor colorToSet; - colorToSet.setNamedColor("#" + value); -#endif if (colorToSet.isValid()) { SettingsCache::instance().setChatMentionColor(value); updateMentionPreview(); @@ -1455,12 +1450,7 @@ void MessagesSettingsPage::updateColor(const QString &value) void MessagesSettingsPage::updateHighlightColor(const QString &value) { -#if (QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)) QColor colorToSet = QColor::fromString("#" + value); -#else - QColor colorToSet; - colorToSet.setNamedColor("#" + value); -#endif if (colorToSet.isValid()) { SettingsCache::instance().setChatHighlightColor(value); updateHighlightPreview(); diff --git a/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp b/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp index 314ba5140..700264adb 100644 --- a/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp +++ b/cockatrice/src/interface/widgets/server/chat_view/chat_view.cpp @@ -517,23 +517,13 @@ void ChatView::showSystemPopup(const QString &userName) QColor ChatView::getCustomMentionColor() { -#if (QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)) QColor customColor = QColor::fromString("#" + SettingsCache::instance().getChatMentionColor()); -#else - QColor customColor; - customColor.setNamedColor("#" + SettingsCache::instance().getChatMentionColor()); -#endif return customColor.isValid() ? customColor : DEFAULT_MENTION_COLOR; } QColor ChatView::getCustomHighlightColor() { -#if (QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)) QColor customColor = QColor::fromString("#" + SettingsCache::instance().getChatMentionColor()); -#else - QColor customColor; - customColor.setNamedColor("#" + SettingsCache::instance().getChatMentionColor()); -#endif return customColor.isValid() ? customColor : DEFAULT_MENTION_COLOR; } diff --git a/servatrice/src/smtp/qxthmac.cpp b/servatrice/src/smtp/qxthmac.cpp index 3b7489f72..744977a0c 100644 --- a/servatrice/src/smtp/qxthmac.cpp +++ b/servatrice/src/smtp/qxthmac.cpp @@ -167,11 +167,7 @@ bool QxtHmac::verify(const QByteArray& otherInner) void QxtHmac::addData(const char* data, int length) { Q_ASSERT(qxt_d().opad.size()); -#if (QT_VERSION >= QT_VERSION_CHECK(6, 3, 0)) qxt_d().ihash->addData(QByteArrayView(data, length)); -#else - qxt_d().ihash->addData(data, length); -#endif qxt_d().result.clear(); } From fcfd188ae8355402dd3befed1b57356410c6cc27 Mon Sep 17 00:00:00 2001 From: tooomm Date: Sun, 5 Apr 2026 13:22:45 +0200 Subject: [PATCH 06/15] update min versions --- CMakeLists.txt | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e4c7bcecf..afdd4f1b3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ # This file sets all the variables shared between the projects # like the installation path, compilation flags etc.. -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.25) # Early detect ccache option(USE_CCACHE "Cache the build results with ccache" ON) @@ -149,7 +149,7 @@ if(MSVC) set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF") add_compile_definitions(_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING) -elseif(CMAKE_COMPILER_IS_GNUCXX) +elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") # linux/gcc, bsd/gcc, windows/mingw include(CheckCXXCompilerFlag) @@ -199,13 +199,6 @@ find_package(Qt6 6.4 REQUIRED) find_package(Threads REQUIRED) -# Determine 32 or 64 bit build -if(CMAKE_SIZEOF_VOID_P EQUAL 8) - set(_lib_suffix 64) -else() - set(_lib_suffix 32) -endif() - if(DEFINED QTDIR${_lib_suffix}) list(APPEND CMAKE_PREFIX_PATH "${QTDIR${_lib_suffix}}") elseif(DEFINED QTDIR) @@ -222,7 +215,8 @@ include(FindQtRuntime) set(CMAKE_AUTOMOC TRUE) -# Find other needed libraries +## Find other needed libraries +# Find Protobuf find_package(Protobuf CONFIG) if(NOT Protobuf_FOUND) find_package(Protobuf REQUIRED) @@ -232,7 +226,7 @@ if(${Protobuf_VERSION} VERSION_LESS "3.21.0.0" AND NOT EXISTS "${Protobuf_PROTOC message(FATAL_ERROR "No protoc command found!") endif() -#Find OpenSSL +# Find OpenSSL if(WIN32) find_package(OpenSSL REQUIRED) if(OPENSSL_FOUND) @@ -245,7 +239,7 @@ if(WIN32) endif() endif() -#Find VCredist +# Find VCredist if(MSVC) find_package(VCredistRuntime) endif() From 6a0384c17543779fa33dabecc369f17bb585b813 Mon Sep 17 00:00:00 2001 From: tooomm Date: Sat, 11 Apr 2026 14:52:00 +0200 Subject: [PATCH 07/15] qt5 --- .github/workflows/translations-push.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/translations-push.yml b/.github/workflows/translations-push.yml index 777e9e6ac..09e6ac161 100644 --- a/.github/workflows/translations-push.yml +++ b/.github/workflows/translations-push.yml @@ -26,15 +26,17 @@ jobs: shell: bash run: | sudo apt-get update - sudo apt-get install -y --no-install-recommends qttools5-dev-tools + sudo apt-get install -y --no-install-recommends qt6-tools-dev - name: Update Cockatrice translation source id: cockatrice shell: bash + env: + FILE: 'cockatrice/cockatrice_en@source.ts' run: | - FILE="cockatrice/cockatrice_en@source.ts" - export DIRS="cockatrice/src $(find . -maxdepth 1 -type d -name 'libcockatrice_*')" - FILE="$FILE" DIRS="$DIRS" .ci/update_translation_source_strings.sh + DIRS="cockatrice/src $(find . -maxdepth 1 -type d -name 'libcockatrice_*')" + export DIRS + .ci/update_translation_source_strings.sh - name: Update Oracle translation source id: oracle From 45f2579e2156c85a3c4d89db498ca051863ac8a1 Mon Sep 17 00:00:00 2001 From: tooomm Date: Sat, 11 Apr 2026 16:06:09 +0200 Subject: [PATCH 08/15] Update translations-push.yml --- .github/workflows/translations-push.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/translations-push.yml b/.github/workflows/translations-push.yml index 09e6ac161..23803b6ac 100644 --- a/.github/workflows/translations-push.yml +++ b/.github/workflows/translations-push.yml @@ -27,6 +27,7 @@ jobs: run: | sudo apt-get update sudo apt-get install -y --no-install-recommends qt6-tools-dev + lupdate -version - name: Update Cockatrice translation source id: cockatrice From d6ef1dd1113a2fa477c8691bc274ac91b9444df3 Mon Sep 17 00:00:00 2001 From: tooomm Date: Sat, 11 Apr 2026 16:13:46 +0200 Subject: [PATCH 09/15] Update translations-push.yml --- .github/workflows/translations-push.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/translations-push.yml b/.github/workflows/translations-push.yml index 23803b6ac..401e8019c 100644 --- a/.github/workflows/translations-push.yml +++ b/.github/workflows/translations-push.yml @@ -26,7 +26,8 @@ jobs: shell: bash run: | sudo apt-get update - sudo apt-get install -y --no-install-recommends qt6-tools-dev + sudo apt-get install -y --no-install-recommends qt6-tools-dev-tools + which lupdate lupdate -version - name: Update Cockatrice translation source From 3d57e6e7c50a7d95acc18a81ef397674640d1d63 Mon Sep 17 00:00:00 2001 From: tooomm Date: Sat, 11 Apr 2026 16:27:04 +0200 Subject: [PATCH 10/15] Update translations-push.yml --- .github/workflows/translations-push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/translations-push.yml b/.github/workflows/translations-push.yml index 401e8019c..6cd84b127 100644 --- a/.github/workflows/translations-push.yml +++ b/.github/workflows/translations-push.yml @@ -26,7 +26,7 @@ jobs: shell: bash run: | sudo apt-get update - sudo apt-get install -y --no-install-recommends qt6-tools-dev-tools + sudo apt-get install -y --no-install-recommends qt6-tools-dev which lupdate lupdate -version From b1e1bbc9c7082b27f304d0e9a7caaf382effe74e Mon Sep 17 00:00:00 2001 From: tooomm Date: Sat, 11 Apr 2026 16:28:18 +0200 Subject: [PATCH 11/15] Update translations-push.yml --- .github/workflows/translations-push.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/translations-push.yml b/.github/workflows/translations-push.yml index 6cd84b127..23803b6ac 100644 --- a/.github/workflows/translations-push.yml +++ b/.github/workflows/translations-push.yml @@ -27,7 +27,6 @@ jobs: run: | sudo apt-get update sudo apt-get install -y --no-install-recommends qt6-tools-dev - which lupdate lupdate -version - name: Update Cockatrice translation source From fec725513f8fa7b5de583ca4ab88a87e4da0dfd5 Mon Sep 17 00:00:00 2001 From: tooomm Date: Sat, 11 Apr 2026 16:41:07 +0200 Subject: [PATCH 12/15] try linguist-qt6 --- .github/workflows/translations-push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/translations-push.yml b/.github/workflows/translations-push.yml index 23803b6ac..dde090c49 100644 --- a/.github/workflows/translations-push.yml +++ b/.github/workflows/translations-push.yml @@ -26,7 +26,7 @@ jobs: shell: bash run: | sudo apt-get update - sudo apt-get install -y --no-install-recommends qt6-tools-dev + sudo apt-get install -y --no-install-recommends linguist-qt6 lupdate -version - name: Update Cockatrice translation source From 1cc3d8c588f4e008f252ddbce8edbb754b172f40 Mon Sep 17 00:00:00 2001 From: tooomm Date: Sat, 11 Apr 2026 16:51:17 +0200 Subject: [PATCH 13/15] Update translations-push.yml --- .github/workflows/translations-push.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/translations-push.yml b/.github/workflows/translations-push.yml index dde090c49..d3fa0ba82 100644 --- a/.github/workflows/translations-push.yml +++ b/.github/workflows/translations-push.yml @@ -28,6 +28,7 @@ jobs: sudo apt-get update sudo apt-get install -y --no-install-recommends linguist-qt6 lupdate -version + /usr/lib/qt6/bin/lupdate -version - name: Update Cockatrice translation source id: cockatrice From e65271c43481ffb45620815022898527704b57b5 Mon Sep 17 00:00:00 2001 From: tooomm Date: Sat, 11 Apr 2026 16:52:17 +0200 Subject: [PATCH 14/15] Update translations-push.yml --- .github/workflows/translations-push.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/translations-push.yml b/.github/workflows/translations-push.yml index d3fa0ba82..5b1c9a03f 100644 --- a/.github/workflows/translations-push.yml +++ b/.github/workflows/translations-push.yml @@ -27,7 +27,6 @@ jobs: run: | sudo apt-get update sudo apt-get install -y --no-install-recommends linguist-qt6 - lupdate -version /usr/lib/qt6/bin/lupdate -version - name: Update Cockatrice translation source From 91e3907ba067149897ddc179509169127714bb57 Mon Sep 17 00:00:00 2001 From: tooomm Date: Wed, 15 Apr 2026 07:17:21 +0200 Subject: [PATCH 15/15] Try qt6-l10n-tools --- .github/workflows/translations-push.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/translations-push.yml b/.github/workflows/translations-push.yml index 5b1c9a03f..d5524e782 100644 --- a/.github/workflows/translations-push.yml +++ b/.github/workflows/translations-push.yml @@ -26,8 +26,8 @@ jobs: shell: bash run: | sudo apt-get update - sudo apt-get install -y --no-install-recommends linguist-qt6 - /usr/lib/qt6/bin/lupdate -version + sudo apt-get install -y --no-install-recommends qt6-l10n-tools + lupdate -version - name: Update Cockatrice translation source id: cockatrice