summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorm0dB <79429057+m0dB@users.noreply.github.com>2023-04-27 21:57:53 +0200
committerm0dB <79429057+m0dB@users.noreply.github.com>2023-05-30 14:41:10 +0200
commit3d1c7a69379362867bb5b8e2e8dbbb0893db88dd (patch)
tree90f5cb530de2a823be0b818fd55ba878060aca3c
parent11146c6e5edd806ee3d895e47c837ac406324737 (diff)
distinguish between qt6 and qml code, fix compilation with qt6
-rw-r--r--CMakeLists.txt27
-rw-r--r--src/control/controlsortfiltermodel.h2
-rw-r--r--src/engine/enginebuffer.cpp2
-rw-r--r--src/library/librarycontrol.cpp10
-rw-r--r--src/main.cpp6
-rw-r--r--src/mixer/basetrackplayer.cpp2
-rw-r--r--src/preferences/dialog/dlgpreferences.cpp5
-rw-r--r--src/skin/legacy/legacyskinparser.cpp14
-rw-r--r--src/waveform/renderers/allshader/waveformrendermark.cpp4
-rw-r--r--src/waveform/renderers/waveformrendermark.cpp4
-rw-r--r--src/waveform/renderers/waveformwidgetrenderer.cpp4
-rw-r--r--src/waveform/visualplayposition.cpp4
-rw-r--r--src/waveform/visualplayposition.h2
-rw-r--r--src/waveform/widgets/glwaveformwidget.cpp1
-rw-r--r--src/waveform/widgets/qthsvwaveformwidget.cpp1
-rw-r--r--src/waveform/widgets/qtrgbwaveformwidget.cpp1
-rw-r--r--src/waveform/widgets/qtvsynctestwidget.cpp1
-rw-r--r--src/waveform/widgets/qtwaveformwidget.cpp1
-rw-r--r--src/widget/woverview.cpp12
19 files changed, 65 insertions, 38 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c34a6a1777..c286725e52 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -109,18 +109,27 @@ if(NOT CMAKE_CONFIGURATION_TYPES)
endif()
option(QT6 "Build with Qt6" OFF)
-
+option(QML "Build with QML" OFF)
option(QOPENGL "Use QOpenGLWindow based widget instead of QGLWidget" ON)
+
+if(QML AND NOT QT6)
+ message(FATAL_ERROR "Building with option QML=ON requires QT6=ON")
+endif()
+
if(QOPENGL)
add_compile_definitions(MIXXX_USE_QOPENGL)
endif()
+if(QML)
+ add_compile_definitions(MIXXX_USE_QML)
+endif()
+
if(APPLE)
if(QT6)
# Minimum macOS version supported by Qt 6
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.15 CACHE STRING "Minimum macOS version the build will be able to run on")
if(NOT VCPKG_TARGET_TRIPLET)
- set(VCPKG_TARGET_TRIPLET "x64-osx-min10.15")
+ set(VCPKG_TARGET_TRIPLET "x64-osx-min1012")
endif()
else()
if(VCPKG_TARGET_TRIPLET STREQUAL "arm64-osx-min1100")
@@ -1103,7 +1112,7 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL
src/widget/wwidgetgroup.cpp
src/widget/wwidgetstack.cpp
)
-if(QT6)
+if(QML)
target_sources(mixxx-lib PRIVATE
src/qml/asyncimageprovider.cpp
src/qml/qmlapplication.cpp
@@ -2038,6 +2047,8 @@ if(ENGINEPRIME)
message(STATUS "Using existing system installation of libdjinterop")
target_include_directories(mixxx-lib PUBLIC ${DjInterop_INCLUDE_DIRS})
target_link_libraries(mixxx-lib PRIVATE DjInterop::DjInterop)
+ find_package(ZLIB 1.2.8 REQUIRED)
+ target_link_libraries(mixxx-lib PRIVATE ${ZLIB_LIBRARIES})
else()
# Fetch djinterop sources from GitHub and build them statically.
@@ -2318,7 +2329,9 @@ if(QT6)
foreach(COMPONENT ${QT6_NEW_COMPONENTS})
target_link_libraries(mixxx-lib PUBLIC Qt6::${COMPONENT})
endforeach()
+endif()
+if(QML)
set(QT_QML_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/qml)
set_target_properties(mixxx-lib PROPERTIES AUTOMOC ON)
qt_add_qml_module(mixxx-lib
@@ -2416,7 +2429,7 @@ endif()
if(APPLE)
- if(Qt_IS_STATIC)
+ if(Qt_IS_STATIC OR QT6)
target_link_libraries(mixxx-lib PRIVATE
"-weak_framework Accelerate"
"-weak_framework AppKit"
@@ -2520,7 +2533,11 @@ endif()
if(APPLE OR WIN32)
# qt_de.qm is just one arbitrary file in the directory that needs to be located;
# there is no particular reason to look for this file versus any other one in the directory.
- find_file(QT_TRANSLATION_FILE qt_de.qm PATHS "${Qt5_DIR}/../../../translations" "${Qt5_DIR}/../../qt5/translations" REQUIRED NO_DEFAULT_PATH)
+ if(QT6)
+ find_file(QT_TRANSLATION_FILE qt_de.qm PATHS "${Qt6_DIR}/../../../translations" "${Qt6_DIR}/../../qt5/translations" REQUIRED NO_DEFAULT_PATH)
+ else()
+ find_file(QT_TRANSLATION_FILE qt_de.qm PATHS "${Qt5_DIR}/../../../translations" "${Qt5_DIR}/../../qt5/translations" REQUIRED NO_DEFAULT_PATH)
+ endif()
get_filename_component(QT_TRANSLATIONS ${QT_TRANSLATION_FILE} DIRECTORY)
install(
DIRECTORY "${QT_TRANSLATIONS}"
diff --git a/src/control/controlsortfiltermodel.h b/src/control/controlsortfiltermodel.h
index 4a8d4f870c..62db5a012b 100644
--- a/src/control/controlsortfiltermodel.h
+++ b/src/control/controlsortfiltermodel.h
@@ -2,7 +2,7 @@
#include <QSortFilterProxyModel>
#include <QString>
-#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#ifdef MIXXX_USE_QML
#include <QtQml>
#else
#define QML_ELEMENT
diff --git a/src/engine/enginebuffer.cpp b/src/engine/enginebuffer.cpp
index 21d6bbc700..660fdd70be 100644
--- a/src/engine/enginebuffer.cpp
+++ b/src/engine/enginebuffer.cpp
@@ -36,7 +36,7 @@
#include "util/sample.h"
#include "util/timer.h"
#include "waveform/visualplayposition.h"
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#ifndef MIXXX_USE_QML
#include "waveform/waveformwidgetfactory.h"
#endif
diff --git a/src/library/librarycontrol.cpp b/src/library/librarycontrol.cpp
index 6c8d297efa..680a7809d0 100644
--- a/src/library/librarycontrol.cpp
+++ b/src/library/librarycontrol.cpp
@@ -183,7 +183,7 @@ LibraryControl::LibraryControl(Library* pLibrary)
// Auto DJ controls
m_pAutoDjAddTop = std::make_unique<ControlPushButton>(ConfigKey("[Library]","AutoDjAddTop"));
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#ifndef MIXXX_USE_QML
connect(m_pAutoDjAddTop.get(),
&ControlPushButton::valueChanged,
this,
@@ -191,7 +191,7 @@ LibraryControl::LibraryControl(Library* pLibrary)
#endif
m_pAutoDjAddBottom = std::make_unique<ControlPushButton>(ConfigKey("[Library]","AutoDjAddBottom"));
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#ifndef MIXXX_USE_QML
connect(m_pAutoDjAddBottom.get(),
&ControlPushButton::valueChanged,
this,
@@ -200,7 +200,7 @@ LibraryControl::LibraryControl(Library* pLibrary)
m_pAutoDjAddReplace = std::make_unique<ControlPushButton>(
ConfigKey("[Library]", "AutoDjAddReplace"));
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#ifndef MIXXX_USE_QML
connect(m_pAutoDjAddReplace.get(),
&ControlPushButton::valueChanged,
this,
@@ -214,7 +214,7 @@ LibraryControl::LibraryControl(Library* pLibrary)
m_pSortColumnToggle = std::make_unique<ControlEncoder>(ConfigKey("[Library]", "sort_column_toggle"), false);
m_pSortFocusedColumn = std::make_unique<ControlPushButton>(
ConfigKey("[Library]", "sort_focused_column"));
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#ifndef MIXXX_USE_QML
connect(m_pSortColumn.get(),
&ControlEncoder::valueChanged,
this,
@@ -405,7 +405,7 @@ LibraryControl::LibraryControl(Library* pLibrary)
ControlDoublePrivate::insertAlias(ConfigKey("[Playlist]", "AutoDjAddTop"), ConfigKey("[Library]", "AutoDjAddTop"));
ControlDoublePrivate::insertAlias(ConfigKey("[Playlist]", "AutoDjAddBottom"), ConfigKey("[Library]", "AutoDjAddBottom"));
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#ifndef MIXXX_USE_QML
QApplication* app = qApp;
// Update controls if any widget in any Mixxx window gets or loses focus
connect(app,
diff --git a/src/main.cpp b/src/main.cpp
index 94e0ac9124..b6fddc6ef7 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -13,7 +13,7 @@
#include "coreservices.h"
#include "errordialoghandler.h"
#include "mixxxapplication.h"
-#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#ifdef MIXXX_USE_QML
#include "qml/qmlapplication.h"
#else
#include "mixxxmainwindow.h"
@@ -27,7 +27,7 @@
namespace {
// Exit codes
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#ifndef MIXXX_USE_QML
constexpr int kFatalErrorOnStartupExitCode = 1;
#endif
constexpr int kParseCmdlineArgsErrorExitCode = 2;
@@ -42,7 +42,7 @@ int runMixxx(MixxxApplication* pApp, const CmdlineArgs& args) {
CmdlineArgs::Instance().parseForUserFeedback();
int exitCode;
-#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#ifdef MIXXX_USE_QML
mixxx::qml::QmlApplication qmlApplication(pApp, pCoreServices);
exitCode = pApp->exec();
#else
diff --git a/src/mixer/basetrackplayer.cpp b/src/mixer/basetrackplayer.cpp
index cbc0c859ec..24faed32bc 100644
--- a/src/mixer/basetrackplayer.cpp
+++ b/src/mixer/basetrackplayer.cpp
@@ -17,7 +17,7 @@
#include "track/track.h"
#include "util/sandbox.h"
#include "vinylcontrol/defs_vinylcontrol.h"
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#ifndef MIXXX_USE_QML
#include "waveform/renderers/waveformwidgetrenderer.h"
#include "waveform/visualsmanager.h"
#endif
diff --git a/src/preferences/dialog/dlgpreferences.cpp b/src/preferences/dialog/dlgpreferences.cpp
index b21ef9ac58..34edd10488 100644
--- a/src/preferences/dialog/dlgpreferences.cpp
+++ b/src/preferences/dialog/dlgpreferences.cpp
@@ -24,8 +24,7 @@
#include "preferences/dialog/dlgprefdeck.h"
#include "preferences/dialog/dlgprefeffects.h"
#include "preferences/dialog/dlgprefinterface.h"
-#include "preferences/dialog/dlgprefmixer.h"
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#ifndef MIXXX_USE_QML
#include "preferences/dialog/dlgprefwaveform.h"
#endif
@@ -153,7 +152,7 @@ DlgPreferences::DlgPreferences(
tr("Interface"),
"ic_preferences_interface.svg");
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#ifndef MIXXX_USE_QML
// ugly proxy for determining whether this is being instantiated for QML or legacy QWidgets GUI
if (pSkinLoader) {
DlgPrefWaveform* pWaveformPage = new DlgPrefWaveform(this, m_pConfig, pLibrary);
diff --git a/src/skin/legacy/legacyskinparser.cpp b/src/skin/legacy/legacyskinparser.cpp
index e6810be402..3f6eea5371 100644
--- a/src/skin/legacy/legacyskinparser.cpp
+++ b/src/skin/legacy/legacyskinparser.cpp
@@ -28,7 +28,7 @@
#include "util/timer.h"
#include "util/valuetransformer.h"
#include "util/xml.h"
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#ifndef MIXXX_USE_QML
#include "waveform/vsyncthread.h"
#endif
#include "waveform/waveformwidgetfactory.h"
@@ -73,7 +73,7 @@
#include "widget/wsizeawarestack.h"
#include "widget/wskincolor.h"
#include "widget/wslidercomposed.h"
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#ifndef MIXXX_USE_QML
#include "widget/wspinny.h"
#include "widget/wspinnyglsl.h"
#endif
@@ -84,7 +84,7 @@
#include "widget/wtrackproperty.h"
#include "widget/wtracktext.h"
#include "widget/wtrackwidgetgroup.h"
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#ifndef MIXXX_USE_QML
#include "widget/wvumeter.h"
#include "widget/wvumeterglsl.h"
#include "widget/wvumeterlegacy.h"
@@ -950,7 +950,7 @@ void LegacySkinParser::setupLabelWidget(const QDomElement& element, WLabel* pLab
}
QWidget* LegacySkinParser::parseOverview(const QDomElement& node) {
-#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#ifdef MIXXX_USE_QML
Q_UNUSED(node);
return nullptr;
@@ -996,7 +996,7 @@ QWidget* LegacySkinParser::parseOverview(const QDomElement& node) {
}
QWidget* LegacySkinParser::parseVisual(const QDomElement& node) {
-#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#ifdef MIXXX_USE_QML
Q_UNUSED(node);
return nullptr;
@@ -1269,7 +1269,7 @@ QWidget* LegacySkinParser::parseRecordingDuration(const QDomElement& node) {
}
QWidget* LegacySkinParser::parseSpinny(const QDomElement& node) {
-#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#ifdef MIXXX_USE_QML
Q_UNUSED(node);
return nullptr;
@@ -1354,7 +1354,7 @@ QWidget* LegacySkinParser::parseSpinny(const QDomElement& node) {
}
QWidget* LegacySkinParser::parseVuMeter(const QDomElement& node) {
-#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#ifdef MIXXX_USE_QML
Q_UNUSED(node);
return nullptr;
diff --git a/src/waveform/renderers/allshader/waveformrendermark.cpp b/src/waveform/renderers/allshader/waveformrendermark.cpp
index 4f27e4ba80..c74b362f95 100644
--- a/src/waveform/renderers/allshader/waveformrendermark.cpp
+++ b/src/waveform/renderers/allshader/waveformrendermark.cpp
@@ -444,7 +444,11 @@ void allshader::WaveformRenderMark::generateMarkImage(WaveformMarkPointer pMark,
// though as soon as other OS-based font and app scaling mechanics join the
// party the resulting font size is hard to predict (affects all supported OS).
font.setPixelSize(13);
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
font.setWeight(75); // bold
+#else
+ font.setWeight(QFont::Bold); // bold
+#endif
font.setItalic(false);
QFontMetrics metrics(font);
diff --git a/src/waveform/renderers/waveformrendermark.cpp b/src/waveform/renderers/waveformrendermark.cpp
index a279a0d0b7..7d928cef12 100644
--- a/src/waveform/renderers/waveformrendermark.cpp
+++ b/src/waveform/renderers/waveformrendermark.cpp
@@ -263,7 +263,11 @@ void WaveformRenderMark::generateMarkImage(WaveformMarkPointer pMark) {
// though as soon as other OS-based font and app scaling mechanics join the
// party the resulting font size is hard to predict (affects all supported OS).
font.setPixelSize(13);
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
font.setWeight(75); // bold
+#else
+ font.setWeight(QFont::Bold); // bold
+#endif
font.setItalic(false);
QFontMetrics metrics(font);
diff --git a/src/waveform/renderers/waveformwidgetrenderer.cpp b/src/waveform/renderers/waveformwidgetrenderer.cpp
index 1b3d618cba..845109349d 100644
--- a/src/waveform/renderers/waveformwidgetrenderer.cpp
+++ b/src/waveform/renderers/waveformwidgetrenderer.cpp
@@ -319,7 +319,11 @@ void WaveformWidgetRenderer::drawPassthroughLabel(QPainter* painter) {
font.setFamily("Open Sans"); // default label font
// Make the label always fit
font.setPixelSize(math_min(25, int(m_height * 0.8)));
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
font.setWeight(75); // bold
+#else
+ font.setWeight(QFont::Bold); // bold
+#endif
font.setItalic(false);
QString label = QObject::tr("Passthrough");
diff --git a/src/waveform/visualplayposition.cpp b/src/waveform/visualplayposition.cpp
index 6a816e1d52..a9e1ff9d8a 100644
--- a/src/waveform/visualplayposition.cpp
+++ b/src/waveform/visualplayposition.cpp
@@ -6,7 +6,7 @@
#include "control/controlproxy.h"
#include "moc_visualplayposition.cpp"
#include "util/math.h"
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#ifndef MIXXX_USE_QML
#include "waveform/vsyncthread.h"
#endif
@@ -51,7 +51,7 @@ void VisualPlayPosition::set(
double VisualPlayPosition::calcOffsetAtNextVSync(
VSyncThread* pVSyncThread, const VisualPlayPositionData& data) {
if (data.m_audioBufferMicroS != 0.0) {
-#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#ifdef MIXXX_USE_QML
Q_UNUSED(pVSyncThread);
const int refToVSync = 0;
const int syncIntervalTimeMicros = 0;
diff --git a/src/waveform/visualplayposition.h b/src/waveform/visualplayposition.h
index 9c2ca6ab67..87d917201d 100644
--- a/src/waveform/visualplayposition.h
+++ b/src/waveform/visualplayposition.h
@@ -8,7 +8,7 @@
#include "control/controlvalue.h"
class ControlProxy;
-#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#ifdef MIXXX_USE_QML
typedef void VSyncThread;
#else
class VSyncThread;
diff --git a/src/waveform/widgets/glwaveformwidget.cpp b/src/waveform/widgets/glwaveformwidget.cpp
index 32a4db3528..051842830e 100644
--- a/src/waveform/widgets/glwaveformwidget.cpp
+++ b/src/waveform/widgets/glwaveformwidget.cpp
@@ -1,6 +1,5 @@
#include "waveform/widgets/glwaveformwidget.h"
-#include <QGLContext>
#include <QPainter>
#include <QtDebug>
diff --git a/src/waveform/widgets/qthsvwaveformwidget.cpp b/src/waveform/widgets/qthsvwaveformwidget.cpp
index 53ad3b95bc..179d44d48b 100644
--- a/src/waveform/widgets/qthsvwaveformwidget.cpp
+++ b/src/waveform/widgets/qthsvwaveformwidget.cpp
@@ -1,6 +1,5 @@
#include "waveform/widgets/qthsvwaveformwidget.h"
-#include <QGLContext>
#include <QPainter>
#include <QtDebug>
diff --git a/src/waveform/widgets/qtrgbwaveformwidget.cpp b/src/waveform/widgets/qtrgbwaveformwidget.cpp
index 677f4c93ee..78988702c8 100644
--- a/src/waveform/widgets/qtrgbwaveformwidget.cpp
+++ b/src/waveform/widgets/qtrgbwaveformwidget.cpp
@@ -1,6 +1,5 @@
#include "waveform/widgets/qtrgbwaveformwidget.h"
-#include <QGLContext>
#include <QPainter>
#include <QtDebug>
diff --git a/src/waveform/widgets/qtvsynctestwidget.cpp b/src/waveform/widgets/qtvsynctestwidget.cpp
index 833a1cfe18..13a357494d 100644
--- a/src/waveform/widgets/qtvsynctestwidget.cpp
+++ b/src/waveform/widgets/qtvsynctestwidget.cpp
@@ -1,6 +1,5 @@
#include "waveform/widgets/qtvsynctestwidget.h"
-#include <QGLContext>
#include <QPainter>
#include <QtDebug>
diff --git a/src/waveform/widgets/qtwaveformwidget.cpp b/src/waveform/widgets/qtwaveformwidget.cpp
index 6a6fa9a898..172ffcc215 100644
--- a/src/waveform/widgets/qtwaveformwidget.cpp
+++ b/src/waveform/widgets/qtwaveformwidget.cpp
@@ -1,6 +1,5 @@
#include "waveform/widgets/qtwaveformwidget.h"
-#include <QGLContext>
#include <QPainter>
#include <QtDebug>
diff --git a/src/widget/woverview.cpp b/src/widget/woverview.cpp
index 989e54076e..71654bb1bf 100644
--- a/src/widget/woverview.cpp
+++ b/src/widget/woverview.cpp
@@ -465,13 +465,13 @@ void WOverview::mouseMoveEvent(QMouseEvent* e) {
if (m_bLeftClickDragging) {
if (m_orientation == Qt::Horizontal) {
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
- m_iPickupPos = math_clamp(e->position().x(), 0, width() - 1);
+ m_iPickupPos = math_clamp(static_cast<int>(e->position().x()), 0, width() - 1);
#else
m_iPickupPos = math_clamp(e->x(), 0, width() - 1);
#endif
} else {
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
- m_iPickupPos = math_clamp(e->position().y(), 0, height() - 1);
+ m_iPickupPos = math_clamp(static_cast<int>(e->position().y()), 0, height() - 1);
#else
m_iPickupPos = math_clamp(e->y(), 0, height() - 1);
#endif
@@ -546,13 +546,13 @@ void WOverview::mousePressEvent(QMouseEvent* e) {
if (e->button() == Qt::LeftButton) {
if (m_orientation == Qt::Horizontal) {
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
- m_iPickupPos = math_clamp(e->position().x(), 0, width() - 1);
+ m_iPickupPos = math_clamp(static_cast<int>(e->position().x()), 0, width() - 1);
#else
m_iPickupPos = math_clamp(e->x(), 0, width() - 1);
#endif
} else {
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
- m_iPickupPos = math_clamp(e->position().y(), 0, height() - 1);
+ m_iPickupPos = math_clamp(static_cast<int>(e->position().y()), 0, height() - 1);
#else
m_iPickupPos = math_clamp(e->y(), 0, height() - 1);
#endif
@@ -1100,7 +1100,11 @@ void WOverview::drawTimeRuler(QPainter* pPainter) {
QFontMetricsF fontMetrics(markerFont);
QFont shadowFont = pPainter->font();
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
shadowFont.setWeight(99);
+#else
+ shadowFont.setWeight(QFont::Black);
+#endif
shadowFont.setPixelSize(static_cast<int>(m_iLabelFontSize * m_scaleFactor));
QPen shadowPen(Qt::black, 2.5 * m_scaleFactor);