mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-10-20 05:01:51 -04:00
UI: Refactor Audio Settings tab structure
- Now uses a QVBoxLayout with a QScrollArea for the container - Uses QGroupBox for each section - Moved Monitoring and ducking settings out of the Advanced tab - Push-to hotkeys are no longer in a child scroll area - Renamed device labels for consistency
This commit is contained in:
1 parent
d18c62b2b5
commit
31d3669154
3 files changed
+478
-352
No files matched your search
@@ -295,10 +295,6 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent)
|
||||
|
||||
ui->listWidget->setAttribute(Qt::WA_MacShowFocusRect, false);
|
||||
|
||||
auto policy = ui->audioSourceScrollArea->sizePolicy();
|
||||
policy.setVerticalStretch(true);
|
||||
ui->audioSourceScrollArea->setSizePolicy(policy);
|
||||
|
||||
HookWidget(ui->language, COMBO_CHANGED, GENERAL_CHANGED);
|
||||
HookWidget(ui->theme, COMBO_CHANGED, GENERAL_CHANGED);
|
||||
HookWidget(ui->enableAutoUpdates, CHECK_CHANGED, GENERAL_CHANGED);
|
||||
@@ -2006,17 +2002,21 @@ void OBSBasicSettings::LoadAudioDevices()
|
||||
|
||||
void OBSBasicSettings::LoadAudioSources()
|
||||
{
|
||||
if (ui->audioSourceLayout->rowCount() > 0) {
|
||||
QLayoutItem *forDeletion = ui->audioSourceLayout->takeAt(0);
|
||||
delete forDeletion->widget();
|
||||
delete forDeletion;
|
||||
}
|
||||
auto layout = new QFormLayout();
|
||||
layout->setVerticalSpacing(15);
|
||||
layout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow);
|
||||
|
||||
ui->audioSourceScrollArea->takeWidget()->deleteLater();
|
||||
audioSourceSignals.clear();
|
||||
audioSources.clear();
|
||||
|
||||
auto widget = new QWidget();
|
||||
widget->setLayout(layout);
|
||||
ui->audioSourceScrollArea->setWidget(widget);
|
||||
ui->audioSourceLayout->addRow(widget);
|
||||
|
||||
const char *enablePtm = Str("Basic.Settings.Audio.EnablePushToMute");
|
||||
const char *ptmDelay = Str("Basic.Settings.Audio.PushToMuteDelay");
|
||||
@@ -2095,6 +2095,8 @@ void OBSBasicSettings::LoadAudioSources()
|
||||
ptmCB, pttSB, pttCB, pttSB);
|
||||
|
||||
auto label = new OBSSourceLabel(source);
|
||||
label->setMinimumSize(QSize(170, 0));
|
||||
label->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
|
||||
connect(label, &OBSSourceLabel::Removed,
|
||||
[=]()
|
||||
{
|
||||
@@ -2120,9 +2122,9 @@ void OBSBasicSettings::LoadAudioSources()
|
||||
|
||||
|
||||
if (layout->rowCount() == 0)
|
||||
ui->audioSourceScrollArea->hide();
|
||||
ui->audioHotkeysGroupBox->hide();
|
||||
else
|
||||
ui->audioSourceScrollArea->show();
|
||||
ui->audioHotkeysGroupBox->show();
|
||||
}
|
||||
|
||||
void OBSBasicSettings::LoadAudioSettings()
|
||||
|
||||
Reference in new issue
Block a user