UI: Add SliderAbsoluteSetStyle class
When this class is used in conjunction with a QSlider control, allows direct setting of the slider handle position when clicking in an area other than the slider handle. The default QSlider handle behavior is to step towards clicked position.
This commit is contained in:
parent
f29f286402
commit
df893dde81
@ -114,6 +114,7 @@ set(obs_SOURCES
|
||||
visibility-checkbox.cpp
|
||||
vertical-scroll-area.cpp
|
||||
visibility-item-widget.cpp
|
||||
slider-absoluteset-style.cpp
|
||||
source-list-widget.cpp
|
||||
crash-report.cpp
|
||||
qt-wrappers.cpp)
|
||||
@ -148,6 +149,7 @@ set(obs_HEADERS
|
||||
visibility-checkbox.hpp
|
||||
vertical-scroll-area.hpp
|
||||
visibility-item-widget.hpp
|
||||
slider-absoluteset-style.hpp
|
||||
source-list-widget.hpp
|
||||
qt-display.hpp
|
||||
crash-report.hpp
|
||||
|
19
obs/slider-absoluteset-style.cpp
Normal file
19
obs/slider-absoluteset-style.cpp
Normal file
@ -0,0 +1,19 @@
|
||||
#include "slider-absoluteset-style.hpp"
|
||||
|
||||
SliderAbsoluteSetStyle::SliderAbsoluteSetStyle(const QString& baseStyle)
|
||||
:QProxyStyle(baseStyle)
|
||||
{
|
||||
}
|
||||
SliderAbsoluteSetStyle::SliderAbsoluteSetStyle(QStyle* baseStyle)
|
||||
:QProxyStyle(baseStyle)
|
||||
{
|
||||
}
|
||||
|
||||
int SliderAbsoluteSetStyle::styleHint(QStyle::StyleHint hint,
|
||||
const QStyleOption* option = 0, const QWidget* widget = 0,
|
||||
QStyleHintReturn* returnData = 0) const
|
||||
{
|
||||
if(hint == QStyle::SH_Slider_AbsoluteSetButtons)
|
||||
return (Qt::LeftButton | Qt::MidButton);
|
||||
return QProxyStyle::styleHint(hint, option, widget, returnData);
|
||||
}
|
12
obs/slider-absoluteset-style.hpp
Normal file
12
obs/slider-absoluteset-style.hpp
Normal file
@ -0,0 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include <QProxyStyle>
|
||||
|
||||
class SliderAbsoluteSetStyle : public QProxyStyle
|
||||
{
|
||||
public:
|
||||
SliderAbsoluteSetStyle(const QString& baseStyle);
|
||||
SliderAbsoluteSetStyle(QStyle* baseStyle);
|
||||
int styleHint(QStyle::StyleHint hint, const QStyleOption* option,
|
||||
const QWidget* widget, QStyleHintReturn* returnData) const;
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user