From 3d1c7a69379362867bb5b8e2e8dbbb0893db88dd Mon Sep 17 00:00:00 2001 From: m0dB <79429057+m0dB@users.noreply.github.com> Date: Thu, 27 Apr 2023 21:57:53 +0200 Subject: [PATCH 1/5] distinguish between qt6 and qml code, fix compilation with qt6 --- CMakeLists.txt | 27 +++++++++++++++---- src/control/controlsortfiltermodel.h | 2 +- src/engine/enginebuffer.cpp | 2 +- src/library/librarycontrol.cpp | 10 +++---- src/main.cpp | 6 ++--- src/mixer/basetrackplayer.cpp | 2 +- src/preferences/dialog/dlgpreferences.cpp | 5 ++-- src/skin/legacy/legacyskinparser.cpp | 14 +++++----- .../allshader/waveformrendermark.cpp | 4 +++ src/waveform/renderers/waveformrendermark.cpp | 4 +++ .../renderers/waveformwidgetrenderer.cpp | 4 +++ src/waveform/visualplayposition.cpp | 4 +-- src/waveform/visualplayposition.h | 2 +- src/waveform/widgets/glwaveformwidget.cpp | 1 - src/waveform/widgets/qthsvwaveformwidget.cpp | 1 - src/waveform/widgets/qtrgbwaveformwidget.cpp | 1 - src/waveform/widgets/qtvsynctestwidget.cpp | 1 - src/waveform/widgets/qtwaveformwidget.cpp | 1 - src/widget/woverview.cpp | 12 ++++++--- 19 files changed, 65 insertions(+), 38 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c34a6a17777..c286725e52b 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 4a8d4f870c4..62db5a012b3 100644 --- a/src/control/controlsortfiltermodel.h +++ b/src/control/controlsortfiltermodel.h @@ -2,7 +2,7 @@ #include #include -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) +#ifdef MIXXX_USE_QML #include #else #define QML_ELEMENT diff --git a/src/engine/enginebuffer.cpp b/src/engine/enginebuffer.cpp index 21d6bbc700d..660fdd70be5 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 6c8d297efa3..680a7809d01 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(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(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( 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(ConfigKey("[Library]", "sort_column_toggle"), false); m_pSortFocusedColumn = std::make_unique( 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 94e0ac9124f..b6fddc6ef79 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 cbc0c859ece..24faed32bc5 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 b21ef9ac585..34edd104883 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 e6810be402d..3f6eea53713 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 4f27e4ba801..c74b362f950 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 a279a0d0b78..7d928cef12b 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 1b3d618cba0..845109349d1 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 6a816e1d525..a9e1ff9d8a3 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 9c2ca6ab672..87d917201da 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 32a4db35283..051842830ef 100644 --- a/src/waveform/widgets/glwaveformwidget.cpp +++ b/src/waveform/widgets/glwaveformwidget.cpp @@ -1,6 +1,5 @@ #include "waveform/widgets/glwaveformwidget.h" -#include #include #include diff --git a/src/waveform/widgets/qthsvwaveformwidget.cpp b/src/waveform/widgets/qthsvwaveformwidget.cpp index 53ad3b95bcc..179d44d48bf 100644 --- a/src/waveform/widgets/qthsvwaveformwidget.cpp +++ b/src/waveform/widgets/qthsvwaveformwidget.cpp @@ -1,6 +1,5 @@ #include "waveform/widgets/qthsvwaveformwidget.h" -#include #include #include diff --git a/src/waveform/widgets/qtrgbwaveformwidget.cpp b/src/waveform/widgets/qtrgbwaveformwidget.cpp index 677f4c93eeb..78988702c88 100644 --- a/src/waveform/widgets/qtrgbwaveformwidget.cpp +++ b/src/waveform/widgets/qtrgbwaveformwidget.cpp @@ -1,6 +1,5 @@ #include "waveform/widgets/qtrgbwaveformwidget.h" -#include #include #include diff --git a/src/waveform/widgets/qtvsynctestwidget.cpp b/src/waveform/widgets/qtvsynctestwidget.cpp index 833a1cfe181..13a357494d2 100644 --- a/src/waveform/widgets/qtvsynctestwidget.cpp +++ b/src/waveform/widgets/qtvsynctestwidget.cpp @@ -1,6 +1,5 @@ #include "waveform/widgets/qtvsynctestwidget.h" -#include #include #include diff --git a/src/waveform/widgets/qtwaveformwidget.cpp b/src/waveform/widgets/qtwaveformwidget.cpp index 6a6fa9a8986..172ffcc215e 100644 --- a/src/waveform/widgets/qtwaveformwidget.cpp +++ b/src/waveform/widgets/qtwaveformwidget.cpp @@ -1,6 +1,5 @@ #include "waveform/widgets/qtwaveformwidget.h" -#include #include #include diff --git a/src/widget/woverview.cpp b/src/widget/woverview.cpp index 989e54076e3..71654bb1bf8 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(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(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(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(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(m_iLabelFontSize * m_scaleFactor)); QPen shadowPen(Qt::black, 2.5 * m_scaleFactor); From 3e67e639b8ac261990bac98f01d7cba16ee22fb2 Mon Sep 17 00:00:00 2001 From: m0dB <79429057+m0dB@users.noreply.github.com> Date: Fri, 5 May 2023 02:14:04 +0200 Subject: [PATCH 2/5] fix compilation, rebased on 2.4 --- src/preferences/dialog/dlgpreferences.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/preferences/dialog/dlgpreferences.cpp b/src/preferences/dialog/dlgpreferences.cpp index 34edd104883..1fa301608a8 100644 --- a/src/preferences/dialog/dlgpreferences.cpp +++ b/src/preferences/dialog/dlgpreferences.cpp @@ -24,6 +24,7 @@ #include "preferences/dialog/dlgprefdeck.h" #include "preferences/dialog/dlgprefeffects.h" #include "preferences/dialog/dlgprefinterface.h" +#include "preferences/dialog/dlgprefmixer.h" #ifndef MIXXX_USE_QML #include "preferences/dialog/dlgprefwaveform.h" #endif From d5c96f430efc537aeb16ec5188b107975e84dfee Mon Sep 17 00:00:00 2001 From: m0dB <79429057+m0dB@users.noreply.github.com> Date: Tue, 30 May 2023 14:39:53 +0200 Subject: [PATCH 3/5] correct size policy for widget group containing waveforms --- res/skins/LateNight/skin.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/skins/LateNight/skin.xml b/res/skins/LateNight/skin.xml index 781067c8af9..ab7fbc4e606 100644 --- a/res/skins/LateNight/skin.xml +++ b/res/skins/LateNight/skin.xml @@ -421,7 +421,7 @@ vertical - me,max + me,me