mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-08-24 10:14:13 -05:00
UI: Replace SIGNAL and SLOT macros for HookWidget methods
This commit is contained in:
@@ -871,8 +871,8 @@ void OBSBasicSettings::UpdateVodTrackSetting()
|
||||
&pos, nullptr);
|
||||
ui->simpleStreamingLayout->insertRow(pos + 1, nullptr, simpleVodTrack);
|
||||
|
||||
HookWidget(simpleVodTrack, SIGNAL(clicked(bool)),
|
||||
SLOT(OutputsChanged()));
|
||||
HookWidget(simpleVodTrack.data(), &QCheckBox::clicked,
|
||||
&OBSBasicSettings::OutputsChanged);
|
||||
connect(ui->simpleOutAdvanced, &QCheckBox::toggled,
|
||||
simpleVodTrack.data(), &QCheckBox::setVisible);
|
||||
|
||||
@@ -890,12 +890,12 @@ void OBSBasicSettings::UpdateVodTrackSetting()
|
||||
vodTrack[i] = new QRadioButton(QString::number(i + 1));
|
||||
vodTrackLayout->addWidget(vodTrack[i]);
|
||||
|
||||
HookWidget(vodTrack[i], SIGNAL(clicked(bool)),
|
||||
SLOT(OutputsChanged()));
|
||||
HookWidget(vodTrack[i].data(), &QRadioButton::clicked,
|
||||
&OBSBasicSettings::OutputsChanged);
|
||||
}
|
||||
|
||||
HookWidget(vodTrackCheckbox, SIGNAL(clicked(bool)),
|
||||
SLOT(OutputsChanged()));
|
||||
HookWidget(vodTrackCheckbox.data(), &QCheckBox::clicked,
|
||||
&OBSBasicSettings::OutputsChanged);
|
||||
|
||||
vodTrackLayout->addStretch();
|
||||
vodTrackLayout->setContentsMargins(0, 0, 0, 0);
|
||||
@@ -1219,8 +1219,8 @@ bool OBSBasicSettings::UpdateResFPSLimits()
|
||||
ui->outputResolution->clear();
|
||||
ui->outputResolution->setEditable(false);
|
||||
HookWidget(ui->outputResolution,
|
||||
SIGNAL(currentIndexChanged(int)),
|
||||
SLOT(VideoChangedResolution()));
|
||||
&QComboBox::currentIndexChanged,
|
||||
&OBSBasicSettings::VideoChangedResolution);
|
||||
|
||||
int new_res_index = -1;
|
||||
|
||||
|
||||
@@ -389,31 +389,25 @@ static inline void HighlightGroupBoxLabel(QGroupBox *gb, QWidget *widget,
|
||||
|
||||
void RestrictResetBitrates(initializer_list<QComboBox *> boxes, int maxbitrate);
|
||||
|
||||
void OBSBasicSettings::HookWidget(QWidget *widget, const char *signal,
|
||||
const char *slot)
|
||||
{
|
||||
QObject::connect(widget, signal, this, slot);
|
||||
widget->setProperty("changed", QVariant(false));
|
||||
}
|
||||
|
||||
/* clang-format off */
|
||||
#define COMBO_CHANGED SIGNAL(currentIndexChanged(int))
|
||||
#define EDIT_CHANGED SIGNAL(textChanged(const QString &))
|
||||
#define CBEDIT_CHANGED SIGNAL(editTextChanged(const QString &))
|
||||
#define CHECK_CHANGED SIGNAL(clicked(bool))
|
||||
#define SCROLL_CHANGED SIGNAL(valueChanged(int))
|
||||
#define DSCROLL_CHANGED SIGNAL(valueChanged(double))
|
||||
#define COMBO_CHANGED &QComboBox::currentIndexChanged
|
||||
#define EDIT_CHANGED &QLineEdit::textChanged
|
||||
#define CBEDIT_CHANGED &QComboBox::editTextChanged
|
||||
#define CHECK_CHANGED &QCheckBox::clicked
|
||||
#define GROUP_CHANGED &QGroupBox::clicked
|
||||
#define SCROLL_CHANGED &QSpinBox::valueChanged
|
||||
#define DSCROLL_CHANGED &QDoubleSpinBox::valueChanged
|
||||
|
||||
#define GENERAL_CHANGED SLOT(GeneralChanged())
|
||||
#define STREAM1_CHANGED SLOT(Stream1Changed())
|
||||
#define OUTPUTS_CHANGED SLOT(OutputsChanged())
|
||||
#define AUDIO_RESTART SLOT(AudioChangedRestart())
|
||||
#define AUDIO_CHANGED SLOT(AudioChanged())
|
||||
#define VIDEO_RES SLOT(VideoChangedResolution())
|
||||
#define VIDEO_CHANGED SLOT(VideoChanged())
|
||||
#define A11Y_CHANGED SLOT(A11yChanged())
|
||||
#define ADV_CHANGED SLOT(AdvancedChanged())
|
||||
#define ADV_RESTART SLOT(AdvancedChangedRestart())
|
||||
#define GENERAL_CHANGED &OBSBasicSettings::GeneralChanged
|
||||
#define STREAM1_CHANGED &OBSBasicSettings::Stream1Changed
|
||||
#define OUTPUTS_CHANGED &OBSBasicSettings::OutputsChanged
|
||||
#define AUDIO_RESTART &OBSBasicSettings::AudioChangedRestart
|
||||
#define AUDIO_CHANGED &OBSBasicSettings::AudioChanged
|
||||
#define VIDEO_RES &OBSBasicSettings::VideoChangedResolution
|
||||
#define VIDEO_CHANGED &OBSBasicSettings::VideoChanged
|
||||
#define A11Y_CHANGED &OBSBasicSettings::A11yChanged
|
||||
#define ADV_CHANGED &OBSBasicSettings::AdvancedChanged
|
||||
#define ADV_RESTART &OBSBasicSettings::AdvancedChangedRestart
|
||||
/* clang-format on */
|
||||
|
||||
OBSBasicSettings::OBSBasicSettings(QWidget *parent)
|
||||
@@ -596,7 +590,7 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent)
|
||||
HookWidget(ui->fpsInteger, SCROLL_CHANGED, VIDEO_CHANGED);
|
||||
HookWidget(ui->fpsNumerator, SCROLL_CHANGED, VIDEO_CHANGED);
|
||||
HookWidget(ui->fpsDenominator, SCROLL_CHANGED, VIDEO_CHANGED);
|
||||
HookWidget(ui->colorsGroupBox, CHECK_CHANGED, A11Y_CHANGED);
|
||||
HookWidget(ui->colorsGroupBox, GROUP_CHANGED, A11Y_CHANGED);
|
||||
HookWidget(ui->colorPreset, COMBO_CHANGED, A11Y_CHANGED);
|
||||
HookWidget(ui->renderer, COMBO_CHANGED, ADV_RESTART);
|
||||
HookWidget(ui->adapter, COMBO_CHANGED, ADV_RESTART);
|
||||
|
||||
@@ -221,7 +221,15 @@ private:
|
||||
EnableApplyButton(false);
|
||||
}
|
||||
|
||||
void HookWidget(QWidget *widget, const char *signal, const char *slot);
|
||||
template<typename Widget, typename WidgetParent, typename... SignalArgs,
|
||||
typename... SlotArgs>
|
||||
void HookWidget(Widget *widget,
|
||||
void (WidgetParent::*signal)(SignalArgs...),
|
||||
void (OBSBasicSettings::*slot)(SlotArgs...))
|
||||
{
|
||||
QObject::connect(widget, signal, this, slot);
|
||||
widget->setProperty("changed", QVariant(false));
|
||||
}
|
||||
|
||||
bool QueryChanges();
|
||||
bool QueryAllowedToClose();
|
||||
|
||||
@@ -30,15 +30,9 @@ static OBSSceneItem FindASelectedItem(obs_scene_t *scene)
|
||||
return item;
|
||||
}
|
||||
|
||||
void OBSBasicTransform::HookWidget(QWidget *widget, const char *signal,
|
||||
const char *slot)
|
||||
{
|
||||
QObject::connect(widget, signal, this, slot);
|
||||
}
|
||||
|
||||
#define COMBO_CHANGED SIGNAL(currentIndexChanged(int))
|
||||
#define ISCROLL_CHANGED SIGNAL(valueChanged(int))
|
||||
#define DSCROLL_CHANGED SIGNAL(valueChanged(double))
|
||||
#define COMBO_CHANGED &QComboBox::currentIndexChanged
|
||||
#define ISCROLL_CHANGED &QSpinBox::valueChanged
|
||||
#define DSCROLL_CHANGED &QDoubleSpinBox::valueChanged
|
||||
|
||||
OBSBasicTransform::OBSBasicTransform(OBSSceneItem item, OBSBasic *parent)
|
||||
: QDialog(parent),
|
||||
@@ -49,20 +43,34 @@ OBSBasicTransform::OBSBasicTransform(OBSSceneItem item, OBSBasic *parent)
|
||||
|
||||
ui->setupUi(this);
|
||||
|
||||
HookWidget(ui->positionX, DSCROLL_CHANGED, SLOT(OnControlChanged()));
|
||||
HookWidget(ui->positionY, DSCROLL_CHANGED, SLOT(OnControlChanged()));
|
||||
HookWidget(ui->rotation, DSCROLL_CHANGED, SLOT(OnControlChanged()));
|
||||
HookWidget(ui->sizeX, DSCROLL_CHANGED, SLOT(OnControlChanged()));
|
||||
HookWidget(ui->sizeY, DSCROLL_CHANGED, SLOT(OnControlChanged()));
|
||||
HookWidget(ui->align, COMBO_CHANGED, SLOT(OnControlChanged()));
|
||||
HookWidget(ui->boundsType, COMBO_CHANGED, SLOT(OnBoundsType(int)));
|
||||
HookWidget(ui->boundsAlign, COMBO_CHANGED, SLOT(OnControlChanged()));
|
||||
HookWidget(ui->boundsWidth, DSCROLL_CHANGED, SLOT(OnControlChanged()));
|
||||
HookWidget(ui->boundsHeight, DSCROLL_CHANGED, SLOT(OnControlChanged()));
|
||||
HookWidget(ui->cropLeft, ISCROLL_CHANGED, SLOT(OnCropChanged()));
|
||||
HookWidget(ui->cropRight, ISCROLL_CHANGED, SLOT(OnCropChanged()));
|
||||
HookWidget(ui->cropTop, ISCROLL_CHANGED, SLOT(OnCropChanged()));
|
||||
HookWidget(ui->cropBottom, ISCROLL_CHANGED, SLOT(OnCropChanged()));
|
||||
HookWidget(ui->positionX, DSCROLL_CHANGED,
|
||||
&OBSBasicTransform::OnControlChanged);
|
||||
HookWidget(ui->positionY, DSCROLL_CHANGED,
|
||||
&OBSBasicTransform::OnControlChanged);
|
||||
HookWidget(ui->rotation, DSCROLL_CHANGED,
|
||||
&OBSBasicTransform::OnControlChanged);
|
||||
HookWidget(ui->sizeX, DSCROLL_CHANGED,
|
||||
&OBSBasicTransform::OnControlChanged);
|
||||
HookWidget(ui->sizeY, DSCROLL_CHANGED,
|
||||
&OBSBasicTransform::OnControlChanged);
|
||||
HookWidget(ui->align, COMBO_CHANGED,
|
||||
&OBSBasicTransform::OnControlChanged);
|
||||
HookWidget(ui->boundsType, COMBO_CHANGED,
|
||||
&OBSBasicTransform::OnBoundsType);
|
||||
HookWidget(ui->boundsAlign, COMBO_CHANGED,
|
||||
&OBSBasicTransform::OnControlChanged);
|
||||
HookWidget(ui->boundsWidth, DSCROLL_CHANGED,
|
||||
&OBSBasicTransform::OnControlChanged);
|
||||
HookWidget(ui->boundsHeight, DSCROLL_CHANGED,
|
||||
&OBSBasicTransform::OnControlChanged);
|
||||
HookWidget(ui->cropLeft, ISCROLL_CHANGED,
|
||||
&OBSBasicTransform::OnCropChanged);
|
||||
HookWidget(ui->cropRight, ISCROLL_CHANGED,
|
||||
&OBSBasicTransform::OnCropChanged);
|
||||
HookWidget(ui->cropTop, ISCROLL_CHANGED,
|
||||
&OBSBasicTransform::OnCropChanged);
|
||||
HookWidget(ui->cropBottom, ISCROLL_CHANGED,
|
||||
&OBSBasicTransform::OnCropChanged);
|
||||
|
||||
ui->buttonBox->button(QDialogButtonBox::Close)->setDefault(true);
|
||||
|
||||
|
||||
@@ -27,7 +27,14 @@ private:
|
||||
bool ignoreTransformSignal = false;
|
||||
bool ignoreItemChange = false;
|
||||
|
||||
void HookWidget(QWidget *widget, const char *signal, const char *slot);
|
||||
template<typename Widget, typename WidgetParent, typename... SignalArgs,
|
||||
typename... SlotArgs>
|
||||
void HookWidget(Widget *widget,
|
||||
void (WidgetParent::*signal)(SignalArgs...),
|
||||
void (OBSBasicTransform::*slot)(SlotArgs...))
|
||||
{
|
||||
QObject::connect(widget, signal, this, slot);
|
||||
}
|
||||
|
||||
void SetScene(OBSScene scene);
|
||||
void SetItem(OBSSceneItem newItem);
|
||||
|
||||
Reference in New Issue
Block a user