mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-09-24 23:31:36 +08:00
UI: Move VolumeSlider widget to volume control
This commit is contained in:
@@ -1518,3 +1518,77 @@ void VolumeMeterTimer::timerEvent(QTimerEvent *)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
VolumeSlider::VolumeSlider(obs_fader_t *fader, QWidget *parent)
|
||||
: SliderIgnoreScroll(parent)
|
||||
{
|
||||
fad = fader;
|
||||
}
|
||||
|
||||
VolumeSlider::VolumeSlider(obs_fader_t *fader, Qt::Orientation orientation,
|
||||
QWidget *parent)
|
||||
: SliderIgnoreScroll(orientation, parent)
|
||||
{
|
||||
fad = fader;
|
||||
}
|
||||
|
||||
VolumeAccessibleInterface::VolumeAccessibleInterface(QWidget *w)
|
||||
: QAccessibleWidget(w)
|
||||
{
|
||||
}
|
||||
|
||||
VolumeSlider *VolumeAccessibleInterface::slider() const
|
||||
{
|
||||
return qobject_cast<VolumeSlider *>(object());
|
||||
}
|
||||
|
||||
QString VolumeAccessibleInterface::text(QAccessible::Text t) const
|
||||
{
|
||||
if (slider()->isVisible()) {
|
||||
switch (t) {
|
||||
case QAccessible::Text::Value:
|
||||
return currentValue().toString();
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return QAccessibleWidget::text(t);
|
||||
}
|
||||
|
||||
QVariant VolumeAccessibleInterface::currentValue() const
|
||||
{
|
||||
QString text;
|
||||
float db = obs_fader_get_db(slider()->fad);
|
||||
|
||||
if (db < -96.0f)
|
||||
text = "-inf dB";
|
||||
else
|
||||
text = QString::number(db, 'f', 1).append(" dB");
|
||||
|
||||
return text;
|
||||
}
|
||||
|
||||
void VolumeAccessibleInterface::setCurrentValue(const QVariant &value)
|
||||
{
|
||||
slider()->setValue(value.toInt());
|
||||
}
|
||||
|
||||
QVariant VolumeAccessibleInterface::maximumValue() const
|
||||
{
|
||||
return slider()->maximum();
|
||||
}
|
||||
|
||||
QVariant VolumeAccessibleInterface::minimumValue() const
|
||||
{
|
||||
return slider()->minimum();
|
||||
}
|
||||
|
||||
QVariant VolumeAccessibleInterface::minimumStepSize() const
|
||||
{
|
||||
return slider()->singleStep();
|
||||
}
|
||||
|
||||
QAccessible::Role VolumeAccessibleInterface::role() const
|
||||
{
|
||||
return QAccessible::Role::Slider;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user