[CI] Remove Qt5 (#7071)

* [CI] Remove Qt5

Took 10 minutes

Took 9 minutes

* Revert CI failure and fix up comments

Took 4 minutes

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
BruebachL 2026-08-08 22:04:50 +02:00 • committed by GitHub
parent 59d90db3c7
commit c4316c40e9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
60 changed files with 103 additions and 555 deletions

View file

@ -334,7 +334,7 @@ the tr() call, also you can add an extra string as a hint for translators:
QString message = tr("Everyone draws %n cards", "english hint for translators", amount); QString message = tr("Everyone draws %n cards", "english hint for translators", amount);
``` ```
See [Qt's wiki on translations]( See [Qt's wiki on translations](
https://doc.qt.io/qt-5/i18n-source-translation.html#handling-plurals) https://doc.qt.io/qt-6/i18n-source-translation.html#handling-plurals)
If you're about to propose a change that adds or modifies any translatable If you're about to propose a change that adds or modifies any translatable
string in the code, you don't need to take care of adding the new strings to string in the code, you don't need to take care of adding the new strings to

View file

@ -64,10 +64,11 @@ if(WIN32 OR USE_VCPKG)
else() else()
set(QTDIR set(QTDIR
"" ""
CACHE PATH "Path to Qt (e.g. C:/Qt/5.7/msvc2015_64)" CACHE PATH "Path to Qt (e.g. C:/Qt/6.4.2/msvc2019_64)"
) )
message( message(
WARNING "QTDIR variable is missing. Please set this variable to specify path to Qt (e.g. C:/Qt/5.7/msvc2015_64)" WARNING
"QTDIR variable is missing. Please set this variable to specify path to Qt (e.g. C:/Qt/6.4.2/msvc2019_64)"
) )
endif() endif()
endif() endif()
@ -174,7 +175,7 @@ elseif(CMAKE_COMPILER_IS_GNUCXX)
-Wno-error=delete-non-virtual-dtor -Wno-error=delete-non-virtual-dtor
-Wno-error=sign-compare -Wno-error=sign-compare
-Wno-error=missing-declarations -Wno-error=missing-declarations
-Wno-error=sfinae-incomplete # GCC 16+: Qt MOC + protobuf forward decls trigger this -Wno-error=sfinae-incomplete # GCC 16+: Qt MOC + protobuf forward decls trigger this
) )
foreach(FLAG ${ADDITIONAL_DEBUG_FLAGS}) foreach(FLAG ${ADDITIONAL_DEBUG_FLAGS})
@ -280,11 +281,7 @@ if(UNIX)
if(CPACK_GENERATOR STREQUAL "RPM") if(CPACK_GENERATOR STREQUAL "RPM")
set(CPACK_RPM_PACKAGE_LICENSE "GPLv2") set(CPACK_RPM_PACKAGE_LICENSE "GPLv2")
set(CPACK_RPM_MAIN_COMPONENT "cockatrice") set(CPACK_RPM_MAIN_COMPONENT "cockatrice")
if(Qt6_FOUND) set(CPACK_RPM_PACKAGE_REQUIRES "protobuf, qt6-qttools, qt6-qtsvg, qt6-qtmultimedia, qt6-qtimageformats")
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_GROUP "Amusements/Games")
set(CPACK_RPM_PACKAGE_URL "http://github.com/Cockatrice/Cockatrice") set(CPACK_RPM_PACKAGE_URL "http://github.com/Cockatrice/Cockatrice")
# stop directories from making package conflicts # stop directories from making package conflicts
@ -302,12 +299,8 @@ if(UNIX)
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
set(CPACK_DEBIAN_PACKAGE_SECTION "games") set(CPACK_DEBIAN_PACKAGE_SECTION "games")
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "http://github.com/Cockatrice/Cockatrice") set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "http://github.com/Cockatrice/Cockatrice")
if(Qt6_FOUND) set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt6multimedia6, libqt6svg6, qt6-qpa-plugins, qt6-image-formats-plugins")
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
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()
endif() endif()
elseif(WIN32) elseif(WIN32)

View file

@ -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 | | `-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<br> **Note:** `make clean` will remove the .ts files | | `-DUPDATE_TRANSLATIONS=1` | Configure `make` to update the translation .ts files for new strings in the source code<br> **Note:** `make clean` will remove the .ts files |
| `-DTEST=1` | Enable regression tests<br> **Note:** `make test` to run tests, *googletest* will be downloaded if not available | | `-DTEST=1` | Enable regression tests<br> **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 # Run

View file

@ -1,8 +1,7 @@
# Find a compatible Qt version # 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: 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: Qt6
# Output: COCKATRICE_QT_VERSION_NAME -- Example values: Qt5, Qt6
# Output: SERVATRICE_QT_MODULES # Output: SERVATRICE_QT_MODULES
# Output: COCKATRICE_QT_MODULES # Output: COCKATRICE_QT_MODULES
# Output: ORACLE_QT_MODULES # Output: ORACLE_QT_MODULES
@ -39,69 +38,37 @@ set(REQUIRED_QT_COMPONENTS ${REQUIRED_QT_COMPONENTS} ${_SERVATRICE_NEEDED} ${_CO
) )
list(REMOVE_DUPLICATES REQUIRED_QT_COMPONENTS) list(REMOVE_DUPLICATES REQUIRED_QT_COMPONENTS)
if(NOT FORCE_USE_QT5) # Linguist is now a component in Qt6 instead of an external package
# Linguist is now a component in Qt6 instead of an external package find_package(
find_package( Qt6 6.4.2
Qt6 6.4.2 COMPONENTS ${REQUIRED_QT_COMPONENTS} Linguist
COMPONENTS ${REQUIRED_QT_COMPONENTS} Linguist QUIET HINTS ${Qt6_DIR}
QUIET HINTS ${Qt6_DIR} )
) if(NOT Qt6_FOUND)
message(FATAL_ERROR "No suitable version of Qt was found")
endif() endif()
if(Qt6_FOUND) set(COCKATRICE_QT_VERSION_NAME Qt6)
set(COCKATRICE_QT_VERSION_NAME Qt6)
list(FIND Qt6LinguistTools_TARGETS Qt6::lrelease QT6_LRELEASE_INDEX) list(FIND Qt6LinguistTools_TARGETS Qt6::lrelease QT6_LRELEASE_INDEX)
if(QT6_LRELEASE_INDEX EQUAL -1) if(QT6_LRELEASE_INDEX EQUAL -1)
message(WARNING "Qt6 lrelease not found.") 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.")
endif()
if(NOT Qt5_LUPDATE_EXECUTABLE)
message(WARNING "Qt5 lupdate not found.")
endif()
else()
message(WARNING "Linguist Tools not found, cannot handle translations")
endif()
endif() endif()
if(Qt5_POSITION_INDEPENDENT_CODE OR Qt6_FOUND) list(FIND Qt6LinguistTools_TARGETS Qt6::lupdate QT6_LUPDATE_INDEX)
set(CMAKE_POSITION_INDEPENDENT_CODE ON) if(QT6_LUPDATE_INDEX EQUAL -1)
message(WARNING "Qt6 lupdate not found.")
endif() endif()
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
# Establish Qt Plugins directory & Library directories # Establish Qt Plugins directory & Library directories
get_target_property(QT_LIBRARY_DIR ${COCKATRICE_QT_VERSION_NAME}::Core LOCATION) get_target_property(QT_LIBRARY_DIR ${COCKATRICE_QT_VERSION_NAME}::Core LOCATION)
get_filename_component(QT_LIBRARY_DIR ${QT_LIBRARY_DIR} DIRECTORY) get_filename_component(QT_LIBRARY_DIR ${QT_LIBRARY_DIR} DIRECTORY)
if(Qt6_FOUND) get_filename_component(QT_PLUGINS_DIR "${Qt6Core_DIR}/../../../${QT6_INSTALL_PLUGINS}" ABSOLUTE)
get_filename_component(QT_PLUGINS_DIR "${Qt6Core_DIR}/../../../${QT6_INSTALL_PLUGINS}" ABSOLUTE) get_filename_component(QT_LIBRARY_DIR "${QT_LIBRARY_DIR}/../../.." ABSOLUTE)
get_filename_component(QT_LIBRARY_DIR "${QT_LIBRARY_DIR}/../../.." ABSOLUTE) if(UNIX AND APPLE)
if(UNIX AND APPLE) # Mac needs a bit more help finding all necessary components
# Mac needs a bit more help finding all necessary components list(APPEND QT_LIBRARY_DIR "/usr/local/lib")
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() endif()
message(DEBUG "QT_PLUGINS_DIR = ${QT_PLUGINS_DIR}") message(DEBUG "QT_PLUGINS_DIR = ${QT_PLUGINS_DIR}")
message(DEBUG "QT_LIBRARY_DIR = ${QT_LIBRARY_DIR}") message(DEBUG "QT_LIBRARY_DIR = ${QT_LIBRARY_DIR}")

View file

@ -294,20 +294,6 @@ Section "Application" SecApplication
SetShellVarContext all SetShellVarContext all
SetOutPath "$INSTDIR" SetOutPath "$INSTDIR"
${If} $PortableMode = 0
; --- Register .cod file type ---
WriteRegStr HKCR ".cod" "" "Cockatrice"
WriteRegStr HKCR "Cockatrice" "" "Cockatrice Deck File"
WriteRegStr HKCR "Cockatrice\shell\open\command" "" '"$INSTDIR\cockatrice.exe" "%1"'
; --- Register custom URI protocol ---
WriteRegStr HKCR "cockatrice" "" "URL: Cockatrice Protocol"
WriteRegStr HKCR "cockatrice" "URL Protocol" ""
WriteRegStr HKCR "cockatrice\shell\open\command" "" '"$INSTDIR\cockatrice.exe" "%1"'
${EndIf}
${If} $PortableMode = 1 ${If} $PortableMode = 1
${AndIf} ${FileExists} "$INSTDIR\portable.dat" ${AndIf} ${FileExists} "$INSTDIR\portable.dat"
; upgrade portable mode ; upgrade portable mode
@ -416,18 +402,6 @@ Section "un.Application" UnSecApplication
RMDir "$SMPROGRAMS\Cockatrice" RMDir "$SMPROGRAMS\Cockatrice"
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice"
; Only remove the file/protocol associations if we registered them (i.e. the
; install was not portable) and .cod is still owned by Cockatrice, so we don't
; clobber a .cod association installed by another application.
${If} Not ${FileExists} "$INSTDIR\portable.dat"
ReadRegStr $0 HKCR ".cod" ""
${If} $0 == "Cockatrice"
DeleteRegKey HKCR ".cod"
DeleteRegKey HKCR "Cockatrice"
DeleteRegKey HKCR "cockatrice"
${EndIf}
${EndIf}
SectionEnd SectionEnd
; unselected because it is /o ; unselected because it is /o

View file

@ -424,11 +424,7 @@ if(APPLE)
set(cockatrice_SOURCES ${cockatrice_SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/resources/appicon.icns) set(cockatrice_SOURCES ${cockatrice_SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/resources/appicon.icns)
endif(APPLE) endif(APPLE)
if(Qt6_FOUND) qt6_add_resources(cockatrice_RESOURCES_RCC ${cockatrice_RESOURCES})
qt6_add_resources(cockatrice_RESOURCES_RCC ${cockatrice_RESOURCES})
elseif(Qt5_FOUND)
qt5_add_resources(cockatrice_RESOURCES_RCC ${cockatrice_RESOURCES})
endif()
# Declare path variables # Declare path variables
set(ICONDIR set(ICONDIR
@ -449,67 +445,28 @@ set(COCKATRICE_MAC_QM_INSTALL_DIR "cockatrice.app/Contents/Resources/translation
set(COCKATRICE_UNIX_QM_INSTALL_DIR "share/cockatrice/translations") set(COCKATRICE_UNIX_QM_INSTALL_DIR "share/cockatrice/translations")
set(COCKATRICE_WIN32_QM_INSTALL_DIR "translations") set(COCKATRICE_WIN32_QM_INSTALL_DIR "translations")
if(Qt6_FOUND) qt6_add_executable(
qt6_add_executable( cockatrice
cockatrice WIN32
WIN32 MACOSX_BUNDLE
MACOSX_BUNDLE ${cockatrice_SOURCES}
${cockatrice_SOURCES} ${cockatrice_RESOURCES_RCC}
${cockatrice_RESOURCES_RCC} ${cockatrice_MOC_SRCS}
${cockatrice_MOC_SRCS} MANUAL_FINALIZATION
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(
target_link_libraries( cockatrice
cockatrice PUBLIC libcockatrice_card
libcockatrice_card libcockatrice_deck_list
libcockatrice_deck_list libcockatrice_filters
libcockatrice_filters libcockatrice_utility
libcockatrice_utility libcockatrice_network
libcockatrice_network libcockatrice_models
libcockatrice_models libcockatrice_rng
libcockatrice_rng libcockatrice_settings
libcockatrice_settings ${COCKATRICE_QT_MODULES}
${COCKATRICE_QT_MODULES} )
)
else()
target_link_libraries(
cockatrice
PUBLIC libcockatrice_card
libcockatrice_deck_list
libcockatrice_filters
libcockatrice_utility
libcockatrice_network
libcockatrice_models
libcockatrice_rng
libcockatrice_settings
${COCKATRICE_QT_MODULES}
)
endif()
if(UNIX) if(UNIX)
if(APPLE) if(APPLE)
@ -556,7 +513,7 @@ if(APPLE)
set(plugin_dest_dir cockatrice.app/Contents/Plugins) set(plugin_dest_dir cockatrice.app/Contents/Plugins)
set(qtconf_dest_dir cockatrice.app/Contents/Resources) set(qtconf_dest_dir cockatrice.app/Contents/Resources)
# Qt plugins: audio (Qt5), iconengines, imageformats, multimedia (Qt6), platforms, printsupport (Qt5), styles, tls (Qt6) # Qt plugins: audio, iconengines, imageformats, multimedia, platforms, printsupport, styles, tls
install( install(
DIRECTORY "${QT_PLUGINS_DIR}/" DIRECTORY "${QT_PLUGINS_DIR}/"
DESTINATION ${plugin_dest_dir} DESTINATION ${plugin_dest_dir}
@ -623,7 +580,7 @@ if(WIN32)
PATTERN "*.ini" PATTERN "*.ini"
) )
# Qt plugins: audio (Qt5), iconengines, imageformats, multimedia (Qt6) platforms, printsupport (Qt5), styles, tls (Qt6) # Qt plugins: audio, iconengines, imageformats, multimedia, platforms, printsupport, styles, tls
install( install(
DIRECTORY "${QT_PLUGINS_DIR}/" DIRECTORY "${QT_PLUGINS_DIR}/"
DESTINATION ${plugin_dest_dir} DESTINATION ${plugin_dest_dir}
@ -679,7 +636,7 @@ Data = Resources\")
endif() endif()
endif() endif()
if(Qt6_FOUND AND Qt6LinguistTools_FOUND) if(Qt6LinguistTools_FOUND)
#Qt6 Translations happen after the executable is built up #Qt6 Translations happen after the executable is built up
if(UPDATE_TRANSLATIONS) if(UPDATE_TRANSLATIONS)
qt6_add_translations( qt6_add_translations(
@ -706,6 +663,4 @@ if(Qt6_FOUND AND Qt6LinguistTools_FOUND)
endif() endif()
endif() endif()
if(Qt6_FOUND) qt6_finalize_target(cockatrice)
qt6_finalize_target(cockatrice)
endif()

View file

@ -2,14 +2,11 @@
#include "settings/cache_settings.h" #include "settings/cache_settings.h"
#include <QDir>
#include <QMediaPlayer>
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
#include <QApplication> #include <QApplication>
#include <QAudioOutput> #include <QAudioOutput>
#include <QDir>
#include <QMediaPlayer>
#include <libcockatrice/settings/sound_settings.h> #include <libcockatrice/settings/sound_settings.h>
#endif
#define DEFAULT_THEME_NAME "Default" #define DEFAULT_THEME_NAME "Default"
#define TEST_SOUND_FILENAME "player_join" #define TEST_SOUND_FILENAME "player_join"
@ -44,10 +41,8 @@ void SoundEngine::soundEnabledChanged()
qCInfo(SoundEngineLog) << "SoundEngine: enabling sound with" << audioData.size() << "sounds"; qCInfo(SoundEngineLog) << "SoundEngine: enabling sound with" << audioData.size() << "sounds";
if (!player) { if (!player) {
player = new QMediaPlayer; player = new QMediaPlayer;
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
audioOutput = new QAudioOutput(player); audioOutput = new QAudioOutput(player);
player->setAudioOutput(audioOutput); player->setAudioOutput(audioOutput);
#endif
} }
} else { } else {
qCInfo(SoundEngineLog) << "SoundEngine: disabling sound"; qCInfo(SoundEngineLog) << "SoundEngine: disabling sound";
@ -75,13 +70,8 @@ void SoundEngine::playSound(const QString &fileName)
player->stop(); player->stop();
int volumeSliderValue = SettingsCache::instance().sound().getMasterVolume(); int volumeSliderValue = SettingsCache::instance().sound().getMasterVolume();
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
player->audioOutput()->setVolume(qreal(volumeSliderValue) / 100); player->audioOutput()->setVolume(qreal(volumeSliderValue) / 100);
player->setSource(QUrl::fromLocalFile(audioData[fileName])); player->setSource(QUrl::fromLocalFile(audioData[fileName]));
#else
player->setVolume(volumeSliderValue);
player->setMedia(QUrl::fromLocalFile(audioData[fileName]));
#endif
player->play(); player->play();
} }

View file

@ -1354,11 +1354,7 @@ void PlayerActions::actSetPT(QList<CardItem *> selectedCards, const QString &pt)
const auto oldpt = CardItem::parsePT(card->getPT()); const auto oldpt = CardItem::parsePT(card->getPT());
int ptIter = 0; int ptIter = 0;
for (const auto &_item : ptList) { for (const auto &_item : ptList) {
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
if (_item.typeId() == QMetaType::Type::Int) { if (_item.typeId() == QMetaType::Type::Int) {
#else
if (_item.type() == QVariant::Int) {
#endif
int oldItem = ptIter < oldpt.size() ? oldpt.at(ptIter).toInt() : 0; int oldItem = ptIter < oldpt.size() ? oldpt.at(ptIter).toInt() : 0;
newpt += '/' + QString::number(oldItem + _item.toInt()); newpt += '/' + QString::number(oldItem + _item.toInt());
} else { } else {

View file

@ -25,11 +25,7 @@ bool PlayerListItemDelegate::editorEvent(QEvent *event,
if ((event->type() == QEvent::MouseButtonPress) && index.isValid()) { if ((event->type() == QEvent::MouseButtonPress) && index.isValid()) {
auto *const mouseEvent = static_cast<QMouseEvent *>(event); auto *const mouseEvent = static_cast<QMouseEvent *>(event);
if (mouseEvent->button() == Qt::RightButton) { if (mouseEvent->button() == Qt::RightButton) {
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
static_cast<PlayerListWidget *>(parent())->showContextMenu(mouseEvent->globalPosition().toPoint(), index); static_cast<PlayerListWidget *>(parent())->showContextMenu(mouseEvent->globalPosition().toPoint(), index);
#else
static_cast<PlayerListWidget *>(parent())->showContextMenu(mouseEvent->globalPos(), index);
#endif
return true; return true;
} }
} }

View file

@ -67,7 +67,7 @@ QList<TallyRow> countSubtypes(const QList<CardItem *> &cards)
// convert entries into TallyRows // convert entries into TallyRows
QList<TallyRow> rows; QList<TallyRow> rows;
rows.reserve(entries.size()); // for backwards compatibility with Qt5 rows.reserve(entries.size());
std::transform(entries.begin(), entries.end(), std::back_inserter(rows), std::transform(entries.begin(), entries.end(), std::back_inserter(rows),
[](const SubtypeEntry &e) { return TallyRow{e.name, QString::number(e.count)}; }); [](const SubtypeEntry &e) { return TallyRow{e.name, QString::number(e.count)}; });

View file

@ -250,11 +250,7 @@ QSize CardInfoPictureWidget::sizeHint() const
* @brief Starts the hover timer to show the enlarged pixmap on hover. * @brief Starts the hover timer to show the enlarged pixmap on hover.
* @param event The enter event. * @param event The enter event.
*/ */
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
void CardInfoPictureWidget::enterEvent(QEnterEvent *event) void CardInfoPictureWidget::enterEvent(QEnterEvent *event)
#else
void CardInfoPictureWidget::enterEvent(QEvent *event)
#endif
{ {
QWidget::enterEvent(event); // Call the base class implementation QWidget::enterEvent(event); // Call the base class implementation

View file

@ -48,11 +48,7 @@ signals:
protected: protected:
void resizeEvent(QResizeEvent *event) override; void resizeEvent(QResizeEvent *event) override;
void paintEvent(QPaintEvent *) override; void paintEvent(QPaintEvent *) override;
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) void enterEvent(QEnterEvent *event) override;
void enterEvent(QEnterEvent *event) override; // Qt6 signature
#else
void enterEvent(QEvent *event) override; // Qt5 signature
#endif
void leaveEvent(QEvent *event) override; void leaveEvent(QEvent *event) override;
void moveEvent(QMoveEvent *event) override; void moveEvent(QMoveEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override; void mouseMoveEvent(QMouseEvent *event) override;

View file

@ -147,11 +147,7 @@ bool ResizablePanel::eventFilter(QObject *obj, QEvent *event)
if (event->type() == QEvent::MouseButtonPress) { if (event->type() == QEvent::MouseButtonPress) {
auto *mouseEvent = static_cast<QMouseEvent *>(event); auto *mouseEvent = static_cast<QMouseEvent *>(event);
if (mouseEvent->button() == Qt::LeftButton) { if (mouseEvent->button() == Qt::LeftButton) {
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
dragStartPos = mouseEvent->globalPosition().toPoint(); dragStartPos = mouseEvent->globalPosition().toPoint();
#else
dragStartPos = mouseEvent->globalPos();
#endif
isDraggingPanel = false; isDraggingPanel = false;
dragButton->setCursor(Qt::ClosedHandCursor); dragButton->setCursor(Qt::ClosedHandCursor);
} }
@ -159,11 +155,7 @@ bool ResizablePanel::eventFilter(QObject *obj, QEvent *event)
} else if (event->type() == QEvent::MouseMove) { } else if (event->type() == QEvent::MouseMove) {
auto *mouseEvent = static_cast<QMouseEvent *>(event); auto *mouseEvent = static_cast<QMouseEvent *>(event);
if (mouseEvent->buttons() & Qt::LeftButton) { if (mouseEvent->buttons() & Qt::LeftButton) {
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
QPoint currentPos = mouseEvent->globalPosition().toPoint(); QPoint currentPos = mouseEvent->globalPosition().toPoint();
#else
QPoint currentPos = mouseEvent->globalPos();
#endif
int distance = (currentPos - dragStartPos).manhattanLength(); int distance = (currentPos - dragStartPos).manhattanLength();
if (distance >= 5 && !isDraggingPanel) { if (distance >= 5 && !isDraggingPanel) {
isDraggingPanel = true; isDraggingPanel = true;
@ -182,22 +174,14 @@ bool ResizablePanel::eventFilter(QObject *obj, QEvent *event)
if (obj == resizeHandle) { if (obj == resizeHandle) {
if (event->type() == QEvent::MouseButtonPress) { if (event->type() == QEvent::MouseButtonPress) {
auto *mouseEvent = static_cast<QMouseEvent *>(event); auto *mouseEvent = static_cast<QMouseEvent *>(event);
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
resizeStartY = mouseEvent->globalPosition().y(); resizeStartY = mouseEvent->globalPosition().y();
#else
resizeStartY = mouseEvent->globalPos().y();
#endif
isResizing = true; isResizing = true;
resizeStartHeight = currentHeight; resizeStartHeight = currentHeight;
resizeHandle->grabMouse(); resizeHandle->grabMouse();
return true; return true;
} else if (event->type() == QEvent::MouseMove && isResizing) { } else if (event->type() == QEvent::MouseMove && isResizing) {
auto *mouseEvent = static_cast<QMouseEvent *>(event); auto *mouseEvent = static_cast<QMouseEvent *>(event);
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
int deltaY = mouseEvent->globalPosition().y() - resizeStartY; int deltaY = mouseEvent->globalPosition().y() - resizeStartY;
#else
int deltaY = mouseEvent->globalPos().y() - resizeStartY;
#endif
int newHeight = resizeStartHeight + deltaY; int newHeight = resizeStartHeight + deltaY;
int minAllowed = getMinimumAllowedHeight(); int minAllowed = getMinimumAllowedHeight();
@ -221,11 +205,7 @@ void ResizablePanel::dragEnterEvent(QDragEnterEvent *event)
{ {
if (event->mimeData()->hasFormat("application/x-resizablepanel")) { if (event->mimeData()->hasFormat("application/x-resizablepanel")) {
event->acceptProposedAction(); event->acceptProposedAction();
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
showDropIndicator(event->position().y()); showDropIndicator(event->position().y());
#else
showDropIndicator(event->pos().y());
#endif
} }
} }
@ -233,13 +213,8 @@ void ResizablePanel::dragMoveEvent(QDragMoveEvent *event)
{ {
if (event->mimeData()->hasFormat("application/x-resizablepanel")) { if (event->mimeData()->hasFormat("application/x-resizablepanel")) {
event->acceptProposedAction(); event->acceptProposedAction();
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
showDropIndicator(event->position().y()); showDropIndicator(event->position().y());
lastDragPos = mapToGlobal(event->position().toPoint()); lastDragPos = mapToGlobal(event->position().toPoint());
#else
showDropIndicator(event->pos().y());
lastDragPos = mapToGlobal(event->pos());
#endif
if (!autoScrollTimer->isActive()) { if (!autoScrollTimer->isActive()) {
autoScrollTimer->start(); autoScrollTimer->start();
@ -265,11 +240,7 @@ void ResizablePanel::dropEvent(QDropEvent *event)
ResizablePanel *draggedPanel = reinterpret_cast<ResizablePanel *>(ptr); ResizablePanel *draggedPanel = reinterpret_cast<ResizablePanel *>(ptr);
if (draggedPanel && draggedPanel != this) { if (draggedPanel && draggedPanel != this) {
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
bool insertBefore = (event->position().y() < height() / 2); bool insertBefore = (event->position().y() < height() / 2);
#else
bool insertBefore = (event->pos().y() < height() / 2);
#endif
emit dropRequested(draggedPanel, this, insertBefore); emit dropRequested(draggedPanel, this, insertBefore);
event->acceptProposedAction(); event->acceptProposedAction();
} }

View file

@ -321,11 +321,7 @@ void DlgSelectSetForCards::dropEvent(QDropEvent *event)
{ {
QByteArray itemData = event->mimeData()->data("application/x-setentrywidget"); QByteArray itemData = event->mimeData()->data("application/x-setentrywidget");
QString draggedSetName = QString::fromUtf8(itemData); QString draggedSetName = QString::fromUtf8(itemData);
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
QPoint adjustedPos = event->position().toPoint() + QPoint(0, scrollArea->verticalScrollBar()->value()); QPoint adjustedPos = event->position().toPoint() + QPoint(0, scrollArea->verticalScrollBar()->value());
#else
QPoint adjustedPos = event->pos() + QPoint(0, scrollArea->verticalScrollBar()->value());
#endif
int dropIndex = -1; int dropIndex = -1;
for (int i = 0; i < listLayout->count(); ++i) { for (int i = 0; i < listLayout->count(); ++i) {
QWidget *widget = listLayout->itemAt(i)->widget(); QWidget *widget = listLayout->itemAt(i)->widget();
@ -491,11 +487,7 @@ void SetEntryWidget::mousePressEvent(QMouseEvent *event)
} }
} }
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
void SetEntryWidget::enterEvent(QEnterEvent *event) void SetEntryWidget::enterEvent(QEnterEvent *event)
#else
void SetEntryWidget::enterEvent(QEvent *event)
#endif
{ {
QWidget::enterEvent(event); // Call the base class handler QWidget::enterEvent(event); // Call the base class handler
// Highlight the widget by changing the background color only for the widget itself // Highlight the widget by changing the background color only for the widget itself

View file

@ -87,11 +87,7 @@ public:
public slots: public slots:
void mousePressEvent(QMouseEvent *event) override; void mousePressEvent(QMouseEvent *event) override;
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
void enterEvent(QEnterEvent *event) override; void enterEvent(QEnterEvent *event) override;
#else
void enterEvent(QEvent *event) override;
#endif
void leaveEvent(QEvent *event) override; void leaveEvent(QEvent *event) override;
void dragMoveEvent(QDragMoveEvent *event) override; void dragMoveEvent(QDragMoveEvent *event) override;

View file

@ -207,11 +207,7 @@ void BarChartWidget::mouseMoveEvent(QMouseEvent *e)
if (hoveredSegment >= 0) { if (hoveredSegment >= 0) {
const auto &s = segments[hoveredSegment]; 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")); 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); QToolTip::showText(e->globalPosition().toPoint(), text, this);
#else
QToolTip::showText(e->globalPos(), text, this);
#endif
} else { } else {
QToolTip::hideText(); QToolTip::hideText();
} }

View file

@ -83,19 +83,11 @@ void ColorBar::paintEvent(QPaintEvent *)
} }
} }
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
void ColorBar::enterEvent(QEnterEvent *event) void ColorBar::enterEvent(QEnterEvent *event)
{ {
Q_UNUSED(event); Q_UNUSED(event);
isHovered = true; isHovered = true;
} }
#else
void ColorBar::enterEvent(QEvent *event)
{
Q_UNUSED(event);
isHovered = true;
}
#endif
void ColorBar::leaveEvent(QEvent *) void ColorBar::leaveEvent(QEvent *)
{ {
@ -108,13 +100,8 @@ void ColorBar::mouseMoveEvent(QMouseEvent *event)
return; return;
} }
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
int x = int(event->position().x()); int x = int(event->position().x());
QPoint gp = event->globalPosition().toPoint(); QPoint gp = event->globalPosition().toPoint();
#else
int x = event->pos().x();
QPoint gp = event->globalPos();
#endif
QString text = tooltipForPosition(x); QString text = tooltipForPosition(x);
if (!text.isEmpty()) { if (!text.isEmpty()) {

View file

@ -76,17 +76,10 @@ protected:
*/ */
void paintEvent(QPaintEvent *event) override; 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; void enterEvent(QEnterEvent *event) override;
#else
/**
* @brief Handles mouse hover entering (Qt5 version).
*/
void enterEvent(QEvent *event) override;
#endif
/** /**
* @brief Handles mouse hover leaving. * @brief Handles mouse hover leaving.

View file

@ -134,9 +134,5 @@ void SegmentedBarWidget::mouseMoveEvent(QMouseEvent *e)
const Segment &s = segments[idx]; const Segment &s = segments[idx];
QString text = QString("%1: %2 cards\n%3").arg(s.category).arg(s.value).arg(s.cards.join(", ")); 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); QToolTip::showText(e->globalPosition().toPoint(), text, this);
#else
QToolTip::showText(e->globalPos(), text, this);
#endif
} }

View file

@ -82,11 +82,7 @@ void ColorPie::paintEvent(QPaintEvent *)
QString label = QString("%1%").arg(int(ratio * 100 + 0.5)); QString label = QString("%1%").arg(int(ratio * 100 + 0.5));
QFontMetrics fm(p.font()); QFontMetrics fm(p.font());
#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
int labelWidth = fm.horizontalAdvance(label); 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()); QRectF textRect(labelPos.x() - labelWidth / 2.0, labelPos.y() - fm.height() / 2.0, labelWidth, fm.height());
p.setPen(Qt::black); p.setPen(Qt::black);
@ -96,19 +92,11 @@ void ColorPie::paintEvent(QPaintEvent *)
} }
} }
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
void ColorPie::enterEvent(QEnterEvent *event) void ColorPie::enterEvent(QEnterEvent *event)
{ {
Q_UNUSED(event); Q_UNUSED(event);
isHovered = true; isHovered = true;
} }
#else
void ColorPie::enterEvent(QEvent *event)
{
Q_UNUSED(event);
isHovered = true;
}
#endif
void ColorPie::leaveEvent(QEvent *) void ColorPie::leaveEvent(QEvent *)
{ {
@ -121,13 +109,8 @@ void ColorPie::mouseMoveEvent(QMouseEvent *event)
return; return;
} }
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
QPoint p = event->position().toPoint(); QPoint p = event->position().toPoint();
QPoint gp = event->globalPosition().toPoint(); QPoint gp = event->globalPosition().toPoint();
#else
QPoint p = event->pos();
QPoint gp = event->globalPos();
#endif
QString text = tooltipForPoint(p); QString text = tooltipForPoint(p);
if (!text.isEmpty()) { if (!text.isEmpty()) {

View file

@ -22,11 +22,7 @@ public:
protected: protected:
void paintEvent(QPaintEvent *) override; void paintEvent(QPaintEvent *) override;
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
void enterEvent(QEnterEvent *event) override; void enterEvent(QEnterEvent *event) override;
#else
void enterEvent(QEvent *event) override;
#endif
void leaveEvent(QEvent *) override; void leaveEvent(QEvent *) override;
void mouseMoveEvent(QMouseEvent *event) override; void mouseMoveEvent(QMouseEvent *event) override;

View file

@ -141,11 +141,7 @@ bool AllZonesCardAmountWidget::isNonZero()
* *
* @param event The event information for the mouse entry. * @param event The event information for the mouse entry.
*/ */
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
void AllZonesCardAmountWidget::enterEvent(QEnterEvent *event) void AllZonesCardAmountWidget::enterEvent(QEnterEvent *event)
#else
void AllZonesCardAmountWidget::enterEvent(QEvent *event)
#endif
{ {
QWidget::enterEvent(event); QWidget::enterEvent(event);
update(); update();

View file

@ -26,11 +26,7 @@ public:
int getTokensboardAmount(); int getTokensboardAmount();
bool isNonZero(); bool isNonZero();
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
void enterEvent(QEnterEvent *event) override; void enterEvent(QEnterEvent *event) override;
#else
void enterEvent(QEvent *event) override;
#endif
public slots: public slots:
void adjustFontSize(int scalePercentage); void adjustFontSize(int scalePercentage);

View file

@ -106,11 +106,7 @@ void PrintingSelectorCardOverlayWidget::resizeEvent(QResizeEvent *event)
* *
* @param event The event triggered when the mouse enters the widget. * @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) void PrintingSelectorCardOverlayWidget::enterEvent(QEnterEvent *event)
#else
void PrintingSelectorCardOverlayWidget::enterEvent(QEvent *event)
#endif
{ {
QWidget::enterEvent(event); QWidget::enterEvent(event);
deckEditor->updateCard(rootCard); deckEditor->updateCard(rootCard);

View file

@ -26,11 +26,7 @@ public:
protected: protected:
void resizeEvent(QResizeEvent *event) override; void resizeEvent(QResizeEvent *event) override;
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
void enterEvent(QEnterEvent *event) override; void enterEvent(QEnterEvent *event) override;
#else
void enterEvent(QEvent *event) override;
#endif
void leaveEvent(QEvent *event) override; void leaveEvent(QEvent *event) override;
void mousePressEvent(QMouseEvent *event) override; void mousePressEvent(QMouseEvent *event) override;
void customMenu(QPoint point); void customMenu(QPoint point);

View file

@ -110,11 +110,7 @@ void SettingsButtonWidget::onPopupClosed() const
void SettingsButtonWidget::mousePressEvent(QMouseEvent *event) void SettingsButtonWidget::mousePressEvent(QMouseEvent *event)
{ {
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
if (popup->isVisible() && !popup->geometry().contains(event->globalPosition().toPoint())) { if (popup->isVisible() && !popup->geometry().contains(event->globalPosition().toPoint())) {
#else
if (popup->isVisible() && !popup->geometry().contains(event->globalPos())) {
#endif
popup->close(); popup->close();
} }
QWidget::mousePressEvent(event); QWidget::mousePressEvent(event);

View file

@ -65,11 +65,7 @@ void ReplayTimelineWidget::paintEvent(QPaintEvent * /* event */)
void ReplayTimelineWidget::mousePressEvent(QMouseEvent *event) void ReplayTimelineWidget::mousePressEvent(QMouseEvent *event)
{ {
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
int newTime = static_cast<int>((qint64)maxTime * (qint64)event->position().x() / width()); int newTime = static_cast<int>((qint64)maxTime * (qint64)event->position().x() / width());
#else
int newTime = static_cast<int>((qint64)maxTime * (qint64)event->x() / width());
#endif
emit timeClicked(newTime); emit timeClicked(newTime);
} }

View file

@ -580,11 +580,7 @@ void ChatView::redactMessages(const QString &userName, int amount)
} }
} }
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
void ChatView::enterEvent(QEnterEvent * /*event*/) void ChatView::enterEvent(QEnterEvent * /*event*/)
#else
void ChatView::enterEvent(QEvent * /*event*/)
#endif
{ {
setMouseTracking(true); setMouseTracking(true);
} }
@ -641,12 +637,9 @@ void ChatView::mousePressEvent(QMouseEvent *event)
{ {
switch (hoveredItemType) { switch (hoveredItemType) {
case HoveredCard: { case HoveredCard: {
if ((event->button() == Qt::MiddleButton) || (event->button() == Qt::LeftButton)) if ((event->button() == Qt::MiddleButton) || (event->button() == Qt::LeftButton)) {
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
emit showCardInfoPopup(event->globalPosition().toPoint(), {hoveredContent}); emit showCardInfoPopup(event->globalPosition().toPoint(), {hoveredContent});
#else }
emit showCardInfoPopup(event->globalPos(), {hoveredContent});
#endif
break; break;
} }
case HoveredUser: { case HoveredUser: {
@ -656,11 +649,7 @@ void ChatView::mousePressEvent(QMouseEvent *event)
switch (event->button()) { switch (event->button()) {
case Qt::RightButton: { case Qt::RightButton: {
UserLevelFlags userLevel(hoveredContent.left(delimiterIndex).toInt()); UserLevelFlags userLevel(hoveredContent.left(delimiterIndex).toInt());
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
userContextMenu->showContextMenu(event->globalPosition().toPoint(), userName, userLevel, this); userContextMenu->showContextMenu(event->globalPosition().toPoint(), userName, userLevel, this);
#else
userContextMenu->showContextMenu(event->globalPos(), userName, userLevel, this);
#endif
break; break;
} }
case Qt::LeftButton: { case Qt::LeftButton: {

View file

@ -103,11 +103,7 @@ public:
void redactMessages(const QString &userName, int amount); void redactMessages(const QString &userName, int amount);
protected: protected:
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
void enterEvent(QEnterEvent *event) override; void enterEvent(QEnterEvent *event) override;
#else
void enterEvent(QEvent *event) override;
#endif
void leaveEvent(QEvent *event) override; void leaveEvent(QEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override; void mouseMoveEvent(QMouseEvent *event) override;
void mousePressEvent(QMouseEvent *event) override; void mousePressEvent(QMouseEvent *event) override;

View file

@ -636,19 +636,11 @@ void UserInfoPopup::refreshGames()
// ── Mouse events ────────────────────────────────────────────────────────────── // ── Mouse events ──────────────────────────────────────────────────────────────
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
void UserInfoPopup::enterEvent(QEnterEvent *e) void UserInfoPopup::enterEvent(QEnterEvent *e)
{ {
QFrame::enterEvent(e); QFrame::enterEvent(e);
emit mouseEnteredPopup(); emit mouseEnteredPopup();
} }
#else
void UserInfoPopup::enterEvent(QEvent *e)
{
QFrame::enterEvent(e);
emit mouseEnteredPopup();
}
#endif
void UserInfoPopup::leaveEvent(QEvent *e) void UserInfoPopup::leaveEvent(QEvent *e)
{ {
QFrame::leaveEvent(e); QFrame::leaveEvent(e);

View file

@ -143,11 +143,7 @@ signals:
void demoteFromJudgeRequested(const QString &userName); void demoteFromJudgeRequested(const QString &userName);
protected: protected:
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
void enterEvent(QEnterEvent *e) override; void enterEvent(QEnterEvent *e) override;
#else
void enterEvent(QEvent *e) override;
#endif
void leaveEvent(QEvent *e) override; void leaveEvent(QEvent *e) override;
private slots: private slots:

View file

@ -340,11 +340,7 @@ bool UserListItemDelegate::editorEvent(QEvent *event,
if ((event->type() == QEvent::MouseButtonPress) && index.isValid()) { if ((event->type() == QEvent::MouseButtonPress) && index.isValid()) {
QMouseEvent *const mouseEvent = static_cast<QMouseEvent *>(event); QMouseEvent *const mouseEvent = static_cast<QMouseEvent *>(event);
if (mouseEvent->button() == Qt::RightButton) { if (mouseEvent->button() == Qt::RightButton) {
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
static_cast<UserListWidget *>(parent())->showContextMenu(mouseEvent->globalPosition().toPoint(), index); static_cast<UserListWidget *>(parent())->showContextMenu(mouseEvent->globalPosition().toPoint(), index);
#else
static_cast<UserListWidget *>(parent())->showContextMenu(mouseEvent->globalPos(), index);
#endif
return true; return true;
} }
} }

View file

@ -137,11 +137,7 @@ void ArchidektApiResponseDeckEntryDisplayWidget::mousePressEvent(QMouseEvent *ev
actRequestNavigationToDeck(); actRequestNavigationToDeck();
} }
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
void ArchidektApiResponseDeckEntryDisplayWidget::enterEvent(QEnterEvent *event) void ArchidektApiResponseDeckEntryDisplayWidget::enterEvent(QEnterEvent *event)
#else
void ArchidektApiResponseDeckEntryDisplayWidget::enterEvent(QEvent *event)
#endif
{ {
QWidget::enterEvent(event); QWidget::enterEvent(event);
backgroundPlateWidget->setFocused(true); backgroundPlateWidget->setFocused(true);

View file

@ -98,11 +98,7 @@ public slots:
protected: protected:
void mousePressEvent(QMouseEvent *event) override; void mousePressEvent(QMouseEvent *event) override;
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) void enterEvent(QEnterEvent *event) override; ///< Hover enter
void enterEvent(QEnterEvent *event) override; ///< Qt6 hover enter
#else
void enterEvent(QEvent *event) override; ///< Qt5 hover enter
#endif
void leaveEvent(QEvent *event) override; void leaveEvent(QEvent *event) override;
private: private:

View file

@ -65,11 +65,7 @@ void EdhrecApiResponseCardDetailsDisplayWidget::mousePressEvent(QMouseEvent *eve
} }
} }
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
void EdhrecApiResponseCardDetailsDisplayWidget::enterEvent(QEnterEvent *event) void EdhrecApiResponseCardDetailsDisplayWidget::enterEvent(QEnterEvent *event)
#else
void EdhrecApiResponseCardDetailsDisplayWidget::enterEvent(QEvent *event)
#endif
{ {
QWidget::enterEvent(event); QWidget::enterEvent(event);
backgroundPlateWidget->setFocused(true); backgroundPlateWidget->setFocused(true);

View file

@ -39,11 +39,7 @@ private:
protected slots: protected slots:
void mousePressEvent(QMouseEvent *event) override; void mousePressEvent(QMouseEvent *event) override;
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) void enterEvent(QEnterEvent *event) override; ///< Hover enter
void enterEvent(QEnterEvent *event) override; ///< Qt6 hover enter
#else
void enterEvent(QEvent *event) override; ///< Qt5 hover enter
#endif
void leaveEvent(QEvent *event) override; void leaveEvent(QEvent *event) override;
}; };

View file

@ -50,7 +50,7 @@ QRect MacOSTabFixStyle::subElementRect(SubElement element, const QStyleOption *o
} }
// Skip over QProxyStyle handling subElementRect, // 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 // This fixes an issue on OSX where the labels for tabs with a button and an icon
// get cut-off too early // get cut-off too early
return QCommonStyle::subElementRect(element, option, widget); return QCommonStyle::subElementRect(element, option, widget);
} }
@ -70,11 +70,7 @@ QSize CloseButton::sizeHint() const
return {width, height}; return {width, height};
} }
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
void CloseButton::enterEvent(QEnterEvent *event) void CloseButton::enterEvent(QEnterEvent *event)
#else
void CloseButton::enterEvent(QEvent *event)
#endif
{ {
update(); update();
QAbstractButton::enterEvent(event); QAbstractButton::enterEvent(event);
@ -123,7 +119,7 @@ TabSupervisor::TabSupervisor(AbstractClient *_client, QMenu *tabsMenu, QWidget *
setIconSize(QSize(15, 15)); setIconSize(QSize(15, 15));
#if defined(Q_OS_MAC) #if defined(Q_OS_MAC)
// This is necessary to fix an issue on macOS with qt5.10, // This is necessary to fix an issue on macOS,
// where tabs with icons and buttons get drawn incorrectly // where tabs with icons and buttons get drawn incorrectly
tabBar()->setStyle(new MacOSTabFixStyle); tabBar()->setStyle(new MacOSTabFixStyle);
#endif #endif

View file

@ -71,11 +71,7 @@ public:
} }
protected: protected:
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
void enterEvent(QEnterEvent *event) override; void enterEvent(QEnterEvent *event) override;
#else
void enterEvent(QEvent *event) override;
#endif
void leaveEvent(QEvent *event) override; void leaveEvent(QEvent *event) override;
void paintEvent(QPaintEvent *event) override; void paintEvent(QPaintEvent *event) override;
}; };

View file

@ -75,11 +75,7 @@ void DeckPreviewWidget::resizeEvent(QResizeEvent *event)
} }
} }
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
void DeckPreviewWidget::enterEvent(QEnterEvent *event) void DeckPreviewWidget::enterEvent(QEnterEvent *event)
#else
void DeckPreviewWidget::enterEvent(QEvent *event)
#endif
{ {
QWidget::enterEvent(event); QWidget::enterEvent(event);

View file

@ -72,11 +72,7 @@ public slots:
void resizeEvent(QResizeEvent *event) override; void resizeEvent(QResizeEvent *event) override;
protected: protected:
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) void enterEvent(QEnterEvent *event) override;
void enterEvent(QEnterEvent *event) override; // Qt6 signature
#else
void enterEvent(QEvent *event) override; // Qt5 signature
#endif
private: private:
void updateLastModifiedTime(); void updateLastModifiedTime();

View file

@ -137,11 +137,7 @@ void installNewTranslator()
QString lang = SettingsCache::instance().personal().getLang(); QString lang = SettingsCache::instance().personal().getLang();
QString qtNameHint = "qt_" + lang; QString qtNameHint = "qt_" + lang;
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
QString qtTranslationPath = QLibraryInfo::path(QLibraryInfo::TranslationsPath); QString qtTranslationPath = QLibraryInfo::path(QLibraryInfo::TranslationsPath);
#else
QString qtTranslationPath = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
#endif
bool qtTranslationLoaded = qtTranslator->load(qtNameHint, qtTranslationPath); bool qtTranslationLoaded = qtTranslator->load(qtNameHint, qtTranslationPath);
if (!qtTranslationLoaded) { if (!qtTranslationLoaded) {
@ -366,10 +362,6 @@ int main(int argc, char *argv[])
qApp->setAttribute(Qt::AA_DontShowShortcutsInContextMenus, qApp->setAttribute(Qt::AA_DontShowShortcutsInContextMenus,
!SettingsCache::instance().cardsDisplay().getShowShortcuts()); !SettingsCache::instance().cardsDisplay().getShowShortcuts());
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
app.setAttribute(Qt::AA_UseHighDpiPixmaps);
#endif
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
for (const QString &url : pendingMacUrls) { for (const QString &url : pendingMacUrls) {
handleActivation(url); handleActivation(url);

View file

@ -19,11 +19,7 @@ set(HEADERS
libcockatrice/card/relation/card_relation.h libcockatrice/card/relation/card_relation.h
) )
if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
elseif(Qt5_FOUND)
qt5_wrap_cpp(MOC_SOURCES ${HEADERS})
endif()
add_library( add_library(
libcockatrice_card STATIC libcockatrice_card STATIC

View file

@ -25,22 +25,13 @@ bool CardInfoComparator::operator()(const CardInfoPtr &a, const CardInfoPtr &b)
bool CardInfoComparator::compareVariants(const QVariant &a, const QVariant &b) const 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()) { if (a.typeId() != b.typeId()) {
#else
if (a.type() != b.type()) {
#endif
// If they are not the same type, compare as strings // If they are not the same type, compare as strings
return a.toString() < b.toString(); return a.toString() < b.toString();
} }
// Perform type-specific comparison // Perform type-specific comparison
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
switch (static_cast<int>(a.typeId())) { switch (static_cast<int>(a.typeId())) {
#else
switch (static_cast<int>(a.type())) {
#endif
case static_cast<int>(QMetaType::Int): case static_cast<int>(QMetaType::Int):
return a.toInt() < b.toInt(); return a.toInt() < b.toInt();
case static_cast<int>(QMetaType::Double): case static_cast<int>(QMetaType::Double):

View file

@ -14,11 +14,7 @@ set(HEADERS
libcockatrice/deck_list/sideboard_plan.h libcockatrice/deck_list/sideboard_plan.h
) )
if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
elseif(Qt5_FOUND)
qt5_wrap_cpp(MOC_SOURCES ${HEADERS})
endif()
add_library( add_library(
libcockatrice_deck_list STATIC libcockatrice_deck_list STATIC

View file

@ -6,11 +6,7 @@ set(HEADERS libcockatrice/filters/filter_card.h libcockatrice/filters/filter_str
libcockatrice/filters/filter_tree.h libcockatrice/filters/filter_tree.h
) )
if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
elseif(Qt5_FOUND)
qt5_wrap_cpp(MOC_SOURCES ${HEADERS})
endif()
add_library( add_library(
libcockatrice_filters STATIC ${MOC_SOURCES} libcockatrice/filters/filter_card.cpp libcockatrice_filters STATIC ${MOC_SOURCES} libcockatrice/filters/filter_card.cpp

View file

@ -23,11 +23,7 @@ set(HEADERS
libcockatrice/interfaces/noop_card_set_priority_controller.h libcockatrice/interfaces/noop_card_set_priority_controller.h
) )
if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
elseif(Qt5_FOUND)
qt5_wrap_cpp(MOC_SOURCES ${HEADERS})
endif()
add_library(libcockatrice_interfaces STATIC ${MOC_SOURCES}) add_library(libcockatrice_interfaces STATIC ${MOC_SOURCES})

View file

@ -12,11 +12,7 @@ set(HEADERS
token/token_edit_model.h token/token_edit_model.h
) )
if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
elseif(Qt5_FOUND)
qt5_wrap_cpp(MOC_SOURCES ${HEADERS})
endif()
add_library( add_library(
libcockatrice_models_database STATIC libcockatrice_models_database STATIC

View file

@ -4,11 +4,7 @@ set(CMAKE_AUTORCC ON)
set(HEADERS deck_list_model.h deck_list_sort_filter_proxy_model.h) set(HEADERS deck_list_model.h deck_list_sort_filter_proxy_model.h)
if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
elseif(Qt5_FOUND)
qt5_wrap_cpp(MOC_SOURCES ${HEADERS})
endif()
add_library( add_library(
libcockatrice_models_deck_list STATIC ${MOC_SOURCES} deck_list_model.cpp deck_list_sort_filter_proxy_model.cpp libcockatrice_models_deck_list STATIC ${MOC_SOURCES} deck_list_model.cpp deck_list_sort_filter_proxy_model.cpp

View file

@ -6,11 +6,7 @@ set(HEADERS abstract_client.h)
set(SOURCES abstract_client.cpp) set(SOURCES abstract_client.cpp)
if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
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}) add_library(libcockatrice_network_client_abstract STATIC ${MOC_SOURCES} ${SOURCES})

View file

@ -6,11 +6,7 @@ set(HEADERS local_client.h)
set(SOURCES local_client.cpp) set(SOURCES local_client.cpp)
if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
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}) add_library(libcockatrice_network_client_local STATIC ${MOC_SOURCES} ${SOURCES})

View file

@ -6,11 +6,7 @@ set(HEADERS remote_client.h)
set(SOURCES remote_client.cpp) set(SOURCES remote_client.cpp)
if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
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}) add_library(libcockatrice_network_client_remote STATIC ${MOC_SOURCES} ${SOURCES})

View file

@ -6,11 +6,7 @@ set(HEADERS local_server.h local_server_interface.h)
set(SOURCES local_server.cpp local_server_interface.cpp) set(SOURCES local_server.cpp local_server_interface.cpp)
if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
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}) add_library(libcockatrice_network_server_local STATIC ${MOC_SOURCES} ${SOURCES})

View file

@ -23,11 +23,7 @@ set(HEADERS
serverinfo_user_container.h serverinfo_user_container.h
) )
if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
elseif(Qt5_FOUND)
qt5_wrap_cpp(MOC_SOURCES ${HEADERS})
endif()
add_library( add_library(
libcockatrice_network_server_remote STATIC libcockatrice_network_server_remote STATIC

View file

@ -4,11 +4,7 @@ set(CMAKE_AUTORCC ON)
set(HEADERS libcockatrice/rng/rng_abstract.h libcockatrice/rng/rng_sfmt.h libcockatrice/rng/sfmt/SFMT.h) set(HEADERS libcockatrice/rng/rng_abstract.h libcockatrice/rng/rng_sfmt.h libcockatrice/rng/sfmt/SFMT.h)
if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
elseif(Qt5_FOUND)
qt5_wrap_cpp(MOC_SOURCES ${HEADERS})
endif()
add_library( add_library(
libcockatrice_rng STATIC ${MOC_SOURCES} libcockatrice/rng/rng_abstract.cpp libcockatrice/rng/rng_sfmt.cpp libcockatrice_rng STATIC ${MOC_SOURCES} libcockatrice/rng/rng_abstract.cpp libcockatrice/rng/rng_sfmt.cpp

View file

@ -27,11 +27,7 @@ set(HEADERS
libcockatrice/settings/visual_deck_storage_settings.h libcockatrice/settings/visual_deck_storage_settings.h
) )
if(Qt6_FOUND) qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
elseif(Qt5_FOUND)
qt5_wrap_cpp(MOC_SOURCES ${HEADERS})
endif()
add_library( add_library(
libcockatrice_settings STATIC libcockatrice_settings STATIC

View file

@ -64,11 +64,7 @@ set(oracle_RESOURCES oracle.qrc)
# ------------------------ # ------------------------
# Qt resources # Qt resources
# ------------------------ # ------------------------
if(Qt6_FOUND) qt6_add_resources(oracle_RESOURCES_RCC ${oracle_RESOURCES})
qt6_add_resources(oracle_RESOURCES_RCC ${oracle_RESOURCES})
elseif(Qt5_FOUND)
qt5_add_resources(oracle_RESOURCES_RCC ${oracle_RESOURCES})
endif()
# ------------------------ # ------------------------
# Include directories # Include directories
@ -106,37 +102,16 @@ set(ORACLE_MAC_QM_INSTALL_DIR "oracle.app/Contents/Resources/translations")
set(ORACLE_UNIX_QM_INSTALL_DIR "share/oracle/translations") set(ORACLE_UNIX_QM_INSTALL_DIR "share/oracle/translations")
set(ORACLE_WIN32_QM_INSTALL_DIR "translations") set(ORACLE_WIN32_QM_INSTALL_DIR "translations")
if(Qt6_FOUND) # Qt6 Translations are linked after the executable is created in manual mode
# Qt6 Translations are linked after the executable is created in manual mode qt6_add_executable(
qt6_add_executable( oracle
oracle WIN32
WIN32 MACOSX_BUNDLE
MACOSX_BUNDLE ${oracle_SOURCES}
${oracle_SOURCES} ${oracle_RESOURCES_RCC}
${oracle_RESOURCES_RCC} ${oracle_MOC_SRCS}
${oracle_MOC_SRCS} MANUAL_FINALIZATION
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()
# ------------------------ # ------------------------
# Link libraries # Link libraries
@ -285,7 +260,7 @@ endif()
# ------------------------ # ------------------------
# Qt translations # Qt translations
# ------------------------ # ------------------------
if(Qt6_FOUND AND Qt6LinguistTools_FOUND) if(Qt6LinguistTools_FOUND)
#Qt6 Translations happen after the executable is built up #Qt6 Translations happen after the executable is built up
if(UPDATE_TRANSLATIONS) if(UPDATE_TRANSLATIONS)
qt6_add_translations( qt6_add_translations(
@ -312,6 +287,4 @@ if(Qt6_FOUND AND Qt6LinguistTools_FOUND)
endif() endif()
endif() endif()
if(Qt6_FOUND) qt6_finalize_target(oracle)
qt6_finalize_target(oracle)
endif()

View file

@ -25,11 +25,7 @@ void installNewTranslator()
QString lang = SettingsCache::instance().personal().getLang(); QString lang = SettingsCache::instance().personal().getLang();
QString qtNameHint = "qt_" + lang; QString qtNameHint = "qt_" + lang;
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
QString qtTranslationPath = QLibraryInfo::path(QLibraryInfo::TranslationsPath); QString qtTranslationPath = QLibraryInfo::path(QLibraryInfo::TranslationsPath);
#else
QString qtTranslationPath = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
#endif
bool qtTranslationLoaded = qtTranslator->load(qtNameHint, qtTranslationPath); bool qtTranslationLoaded = qtTranslator->load(qtNameHint, qtTranslationPath);
if (!qtTranslationLoaded) { if (!qtTranslationLoaded) {

View file

@ -109,12 +109,8 @@ QByteArray Json::serialize(const QVariant &data, bool &success)
{ {
str = "null"; str = "null";
} }
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
else if ((data.typeId() == QMetaType::Type::QVariantList) || else if ((data.typeId() == QMetaType::Type::QVariantList) ||
(data.typeId() == QMetaType::Type::QStringList)) // variant is a list? (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<QByteArray> values; QList<QByteArray> values;
const QVariantList list = data.toList(); const QVariantList list = data.toList();
@ -129,11 +125,7 @@ QByteArray Json::serialize(const QVariant &data, bool &success)
str = "[ " + join(values, ", ") + " ]"; str = "[ " + join(values, ", ") + " ]";
} }
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) else if ((data.typeId() == QMetaType::Type::QVariantHash)) // variant is a hash?
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(); const QVariantHash vhash = data.toHash();
QHashIterator<QString, QVariant> it(vhash); QHashIterator<QString, QVariant> it(vhash);
@ -155,11 +147,7 @@ QByteArray Json::serialize(const QVariant &data, bool &success)
str += join(pairs, ", "); str += join(pairs, ", ");
str += " }"; str += " }";
} }
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) else if ((data.typeId() == QMetaType::Type::QVariantMap)) // variant is a map?
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(); const QVariantMap vmap = data.toMap();
QMapIterator<QString, QVariant> it(vmap); QMapIterator<QString, QVariant> it(vmap);
@ -177,39 +165,23 @@ QByteArray Json::serialize(const QVariant &data, bool &success)
str += join(pairs, ", "); str += join(pairs, ", ");
str += " }"; str += " }";
} }
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
else if ((data.typeId() == QMetaType::Type::QString) || else if ((data.typeId() == QMetaType::Type::QString) ||
(data.typeId() == QMetaType::Type::QByteArray)) // variant is a list? (data.typeId() == QMetaType::Type::QByteArray)) // a string or a byte array?
#else
else if ((data.type() == QVariant::String) || (data.type() == QVariant::ByteArray)) // a string or a byte array?
#endif
{ {
str = sanitizeString(data.toString()).toUtf8(); str = sanitizeString(data.toString()).toUtf8();
} }
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) else if (data.typeId() == QMetaType::Type::Double) // double?
else if (data.typeId() == QMetaType::Type::Double)
#else
else if (data.type() == QVariant::Double) // double?
#endif
{ {
str = QByteArray::number(data.toDouble(), 'g', 20); str = QByteArray::number(data.toDouble(), 'g', 20);
if (!str.contains(".") && !str.contains("e")) { if (!str.contains(".") && !str.contains("e")) {
str += ".0"; str += ".0";
} }
} }
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) else if (data.typeId() == QMetaType::Type::Bool) // boolean value?
else if (data.typeId() == QMetaType::Type::Bool)
#else
else if (data.type() == QVariant::Bool) // boolean value?
#endif
{ {
str = data.toBool() ? "true" : "false"; str = data.toBool() ? "true" : "false";
} }
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) else if (data.typeId() == QMetaType::Type::ULongLong) // large unsigned number?
else if (data.typeId() == QMetaType::Type::ULongLong)
#else
else if (data.type() == QVariant::ULongLong) // large unsigned number?
#endif
{ {
str = QByteArray::number(data.value<qulonglong>()); str = QByteArray::number(data.value<qulonglong>());
} else if (data.canConvert<qlonglong>()) // any signed number? } else if (data.canConvert<qlonglong>()) // any signed number?

View file

@ -43,11 +43,7 @@ if(APPLE)
set(servatrice_SOURCES ${servatrice_SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/resources/appicon.icns) set(servatrice_SOURCES ${servatrice_SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/resources/appicon.icns)
endif(APPLE) endif(APPLE)
if(Qt6_FOUND) qt6_add_resources(servatrice_RESOURCES_RCC ${servatrice_RESOURCES})
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) set(QT_DONT_USE_QTGUI TRUE)

View file

@ -54,13 +54,8 @@ QxtSmtp::QxtSmtp(QObject *parent) : QObject(parent)
// QObject::connect(socket(), SIGNAL(encrypted()), &qxt_d(), SLOT(ehlo())); // QObject::connect(socket(), SIGNAL(encrypted()), &qxt_d(), SLOT(ehlo()));
QObject::connect(socket(), SIGNAL(connected()), this, SIGNAL(connected())); QObject::connect(socket(), SIGNAL(connected()), this, SIGNAL(connected()));
QObject::connect(socket(), SIGNAL(disconnected()), this, SIGNAL(disconnected())); 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(), QObject::connect(socket(), SIGNAL(errorOccurred(QAbstractSocket::SocketError)), &qxt_d(),
SLOT(socketError(QAbstractSocket::SocketError))); 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(this, SIGNAL(authenticated()), &qxt_d(), SLOT(sendNext()));
QObject::connect(socket(), SIGNAL(readyRead()), &qxt_d(), SLOT(socketRead())); QObject::connect(socket(), SIGNAL(readyRead()), &qxt_d(), SLOT(socketRead()));
} }