diff --git a/UI/forms/OBSBasic.ui b/UI/forms/OBSBasic.ui index d1dd30827..8b5cc7725 100644 --- a/UI/forms/OBSBasic.ui +++ b/UI/forms/OBSBasic.ui @@ -431,7 +431,7 @@ - QDockWidget::AllDockWidgetFeatures + QDockWidget::DockWidgetClosable|QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable Basic.Main.Scenes @@ -566,7 +566,7 @@ - QDockWidget::AllDockWidgetFeatures + QDockWidget::DockWidgetClosable|QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable Basic.Main.Sources @@ -702,7 +702,7 @@ - QDockWidget::AllDockWidgetFeatures + QDockWidget::DockWidgetClosable|QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable Mixer @@ -842,7 +842,7 @@ - QDockWidget::AllDockWidgetFeatures + QDockWidget::DockWidgetClosable|QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable Basic.SceneTransitions @@ -1089,7 +1089,7 @@ - QDockWidget::AllDockWidgetFeatures + QDockWidget::DockWidgetClosable|QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable Basic.Main.Controls diff --git a/UI/properties-view.cpp b/UI/properties-view.cpp index 5d7847a76..c5de333a0 100644 --- a/UI/properties-view.cpp +++ b/UI/properties-view.cpp @@ -1686,7 +1686,7 @@ bool WidgetInfo::ColorChanged(const char *setting) long long val = obs_data_get_int(view->settings, setting); QColor color = color_from_int(val); - QColorDialog::ColorDialogOptions options = 0; + QColorDialog::ColorDialogOptions options; /* The native dialog on OSX has all kinds of problems, like closing * other open QDialogs on exit, and diff --git a/UI/qt-display.hpp b/UI/qt-display.hpp index a2e5a3efb..816d96bce 100644 --- a/UI/qt-display.hpp +++ b/UI/qt-display.hpp @@ -24,7 +24,7 @@ signals: public: OBSQTDisplay(QWidget *parent = nullptr, - Qt::WindowFlags flags = nullptr); + Qt::WindowFlags flags = Qt::WindowFlags()); virtual QPaintEngine *paintEngine() const override; diff --git a/UI/qt-wrappers.cpp b/UI/qt-wrappers.cpp index e8a51d37d..03955eab9 100644 --- a/UI/qt-wrappers.cpp +++ b/UI/qt-wrappers.cpp @@ -264,7 +264,7 @@ void ExecuteFuncSafeBlockMsgBox(std::function func, dlg.setWindowFlags(dlg.windowFlags() & ~Qt::WindowCloseButtonHint); dlg.setWindowTitle(title); dlg.setText(text); - dlg.setStandardButtons(0); + dlg.setStandardButtons(QMessageBox::StandardButtons()); auto wait = [&]() { func(); diff --git a/UI/source-label.hpp b/UI/source-label.hpp index 4a629b83e..b8f0fbe3c 100644 --- a/UI/source-label.hpp +++ b/UI/source-label.hpp @@ -29,7 +29,7 @@ public: OBSSignal destroyedSignal; OBSSourceLabel(const obs_source_t *source, QWidget *parent = nullptr, - Qt::WindowFlags f = 0) + Qt::WindowFlags f = Qt::WindowFlags()) : QLabel(obs_source_get_name(source), parent, f), renamedSignal(obs_source_get_signal_handler(source), "rename", &OBSSourceLabel::SourceRenamed, this), diff --git a/UI/window-basic-auto-config.cpp b/UI/window-basic-auto-config.cpp index e79718474..f799e51a8 100644 --- a/UI/window-basic-auto-config.cpp +++ b/UI/window-basic-auto-config.cpp @@ -830,7 +830,7 @@ AutoConfig::AutoConfig(QWidget *parent) : QWizard(parent) streamPage->ui->preferHardware->setChecked(preferHardware); } - setOptions(0); + setOptions(QWizard::WizardOptions()); setButtonText(QWizard::FinishButton, QTStr("Basic.AutoConfig.ApplySettings")); setButtonText(QWizard::BackButton, QTStr("Back")); diff --git a/UI/window-basic-interaction.cpp b/UI/window-basic-interaction.cpp index 4e702b97c..333a26387 100644 --- a/UI/window-basic-interaction.cpp +++ b/UI/window-basic-interaction.cpp @@ -314,22 +314,32 @@ bool OBSBasicInteraction::HandleMouseWheelEvent(QWheelEvent *event) int xDelta = 0; int yDelta = 0; + const QPoint angleDelta = event->angleDelta(); if (!event->pixelDelta().isNull()) { - if (event->orientation() == Qt::Horizontal) + if (angleDelta.x()) xDelta = event->pixelDelta().x(); else yDelta = event->pixelDelta().y(); } else { - if (event->orientation() == Qt::Horizontal) - xDelta = event->delta(); + if (angleDelta.x()) + xDelta = angleDelta.x(); else - yDelta = event->delta(); + yDelta = angleDelta.y(); } - if (GetSourceRelativeXY(event->x(), event->y(), mouseEvent.x, - mouseEvent.y)) +#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) + const QPointF position = event->position(); + const int x = position.x(); + const int y = position.y(); +#else + const int x = event->x(); + const int y = event->y(); +#endif + + if (GetSourceRelativeXY(x, y, mouseEvent.x, mouseEvent.y)) { obs_source_send_mouse_wheel(source, &mouseEvent, xDelta, yDelta); + } return true; } diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 0e0d5b795..0bd7e5b45 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -221,7 +221,9 @@ OBSBasic::OBSBasic(QWidget *parent) statsDock = new OBSDock(); statsDock->setObjectName(QStringLiteral("statsDock")); - statsDock->setFeatures(QDockWidget::AllDockWidgetFeatures); + statsDock->setFeatures(QDockWidget::DockWidgetClosable | + QDockWidget::DockWidgetMovable | + QDockWidget::DockWidgetFloatable); statsDock->setWindowTitle(QTStr("Basic.Stats")); addDockWidget(Qt::BottomDockWidgetArea, statsDock); statsDock->setVisible(false); @@ -6982,7 +6984,9 @@ void OBSBasic::on_lockUI_toggled(bool lock) { QDockWidget::DockWidgetFeatures features = lock ? QDockWidget::NoDockWidgetFeatures - : QDockWidget::AllDockWidgetFeatures; + : (QDockWidget::DockWidgetClosable | + QDockWidget::DockWidgetMovable | + QDockWidget::DockWidgetFloatable); QDockWidget::DockWidgetFeatures mainFeatures = features; mainFeatures &= ~QDockWidget::QDockWidget::DockWidgetClosable; @@ -7652,7 +7656,9 @@ QAction *OBSBasic::AddDockWidget(QDockWidget *dock) bool lock = ui->lockUI->isChecked(); QDockWidget::DockWidgetFeatures features = lock ? QDockWidget::NoDockWidgetFeatures - : QDockWidget::AllDockWidgetFeatures; + : (QDockWidget::DockWidgetClosable | + QDockWidget::DockWidgetMovable | + QDockWidget::DockWidgetFloatable); dock->setFeatures(features); diff --git a/UI/window-basic-preview.cpp b/UI/window-basic-preview.cpp index 6b278495e..eefdffdc0 100644 --- a/UI/window-basic-preview.cpp +++ b/UI/window-basic-preview.cpp @@ -495,13 +495,15 @@ void OBSBasicPreview::keyReleaseEvent(QKeyEvent *event) void OBSBasicPreview::wheelEvent(QWheelEvent *event) { - if (scrollMode && IsFixedScaling() && - event->orientation() == Qt::Vertical) { - if (event->delta() > 0) - SetScalingLevel(scalingLevel + 1); - else if (event->delta() < 0) - SetScalingLevel(scalingLevel - 1); - emit DisplayResized(); + if (scrollMode && IsFixedScaling()) { + const int delta = event->angleDelta().y(); + if (delta != 0) { + if (delta > 0) + SetScalingLevel(scalingLevel + 1); + else + SetScalingLevel(scalingLevel - 1); + emit DisplayResized(); + } } OBSQTDisplay::wheelEvent(event); diff --git a/UI/window-basic-preview.hpp b/UI/window-basic-preview.hpp index 2473f62ae..c5fdea095 100644 --- a/UI/window-basic-preview.hpp +++ b/UI/window-basic-preview.hpp @@ -105,7 +105,8 @@ private: void ProcessClick(const vec2 &pos); public: - OBSBasicPreview(QWidget *parent, Qt::WindowFlags flags = 0); + OBSBasicPreview(QWidget *parent, + Qt::WindowFlags flags = Qt::WindowFlags()); ~OBSBasicPreview(); static OBSBasicPreview *Get();