mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-04-04 08:15:38 -05:00
Add option to toggle between vertical and horizontal macro controls
This commit is contained in:
parent
487c735e13
commit
61d9031933
|
|
@ -30,6 +30,7 @@ AdvSceneSwitcher.generalTab.generalBehavior.verboseLogging="Enable verbose loggi
|
|||
AdvSceneSwitcher.generalTab.generalBehavior.saveWindowGeo="Save window position and size"
|
||||
AdvSceneSwitcher.generalTab.generalBehavior.showTrayNotifications="Show system tray notifications"
|
||||
AdvSceneSwitcher.generalTab.generalBehavior.disableUIHints="Disable UI hints"
|
||||
AdvSceneSwitcher.generalTab.generalBehavior.verticalMacroControls="Use permanent vertical controls on Macro tab"
|
||||
AdvSceneSwitcher.generalTab.priority="Priority"
|
||||
AdvSceneSwitcher.generalTab.priority.description="Switching methods priority (Highest priority is at the top)"
|
||||
AdvSceneSwitcher.generalTab.priority.threadPriority="Use thread priority"
|
||||
|
|
|
|||
|
|
@ -325,6 +325,30 @@
|
|||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_23">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="useVerticalMacroControls">
|
||||
<property name="text">
|
||||
<string>AdvSceneSwitcher.generalTab.generalBehavior.verticalMacroControls</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
|
|||
|
|
@ -192,6 +192,16 @@ void AdvSceneSwitcher::on_uiHintsDisable_stateChanged(int state)
|
|||
switcher->disableHints = state;
|
||||
}
|
||||
|
||||
void AdvSceneSwitcher::on_useVerticalMacroControls_stateChanged(int state)
|
||||
{
|
||||
if (loading) {
|
||||
return;
|
||||
}
|
||||
|
||||
switcher->useVerticalMacroControls = state;
|
||||
setupMacroTab();
|
||||
}
|
||||
|
||||
QString getDefaultSaveLocation()
|
||||
{
|
||||
QString desktopPath = QStandardPaths::writableLocation(
|
||||
|
|
@ -511,6 +521,8 @@ void SwitcherData::saveGeneralSettings(obs_data_t *obj)
|
|||
obs_data_set_bool(obj, "showSystemTrayNotifications",
|
||||
showSystemTrayNotifications);
|
||||
obs_data_set_bool(obj, "disableHints", disableHints);
|
||||
obs_data_set_bool(obj, "useVerticalMacroControls",
|
||||
useVerticalMacroControls);
|
||||
|
||||
obs_data_set_int(obj, "priority0", functionNamesByPriority[0]);
|
||||
obs_data_set_int(obj, "priority1", functionNamesByPriority[1]);
|
||||
|
|
@ -584,6 +596,8 @@ void SwitcherData::loadGeneralSettings(obs_data_t *obj)
|
|||
showSystemTrayNotifications =
|
||||
obs_data_get_bool(obj, "showSystemTrayNotifications");
|
||||
disableHints = obs_data_get_bool(obj, "disableHints");
|
||||
useVerticalMacroControls =
|
||||
obs_data_get_bool(obj, "useVerticalMacroControls");
|
||||
|
||||
obs_data_set_default_int(obj, "priority0", default_priority_0);
|
||||
obs_data_set_default_int(obj, "priority1", default_priority_1);
|
||||
|
|
@ -797,6 +811,8 @@ void AdvSceneSwitcher::setupGeneralTab()
|
|||
ui->showTrayNotifications->setChecked(
|
||||
switcher->showSystemTrayNotifications);
|
||||
ui->uiHintsDisable->setChecked(switcher->disableHints);
|
||||
ui->useVerticalMacroControls->setChecked(
|
||||
switcher->useVerticalMacroControls);
|
||||
|
||||
for (int p : switcher->functionNamesByPriority) {
|
||||
std::string s = "";
|
||||
|
|
|
|||
|
|
@ -170,6 +170,7 @@ public slots:
|
|||
void on_saveWindowGeo_stateChanged(int state);
|
||||
void on_showTrayNotifications_stateChanged(int state);
|
||||
void on_uiHintsDisable_stateChanged(int state);
|
||||
void on_useVerticalMacroControls_stateChanged(int state);
|
||||
|
||||
void on_exportSettings_clicked();
|
||||
void on_importSettings_clicked();
|
||||
|
|
|
|||
|
|
@ -16,6 +16,11 @@ public:
|
|||
|
||||
void Show(bool visible = true);
|
||||
|
||||
QPushButton *GetUp() { return _up; }
|
||||
QPushButton *GetDown() { return _down; }
|
||||
QPushButton *GetAdd() { return _add; }
|
||||
QPushButton *GetRemove() { return _remove; }
|
||||
|
||||
signals:
|
||||
void Add();
|
||||
void Remove();
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@ struct SwitcherData {
|
|||
bool stop = false;
|
||||
bool verbose = false;
|
||||
bool disableHints = false;
|
||||
bool useVerticalMacroControls = false;
|
||||
bool showSystemTrayNotifications = false;
|
||||
bool showFrame = false;
|
||||
bool transitionOverrideOverride = false;
|
||||
|
|
|
|||
|
|
@ -77,9 +77,24 @@ MacroActionEdit::MacroActionEdit(QWidget *parent,
|
|||
_section->AddHeaderWidget(_actionSelection);
|
||||
_section->AddHeaderWidget(_headerInfo);
|
||||
|
||||
QVBoxLayout *mainLayout = new QVBoxLayout;
|
||||
mainLayout->addWidget(_section);
|
||||
mainLayout->addWidget(_controls);
|
||||
QVBoxLayout *verticalControlsLayout = new QVBoxLayout;
|
||||
if (switcher->useVerticalMacroControls) {
|
||||
verticalControlsLayout->addWidget(_controls->GetUp());
|
||||
verticalControlsLayout->addWidget(_controls->GetAdd());
|
||||
verticalControlsLayout->addWidget(_controls->GetRemove());
|
||||
verticalControlsLayout->addWidget(_controls->GetDown());
|
||||
verticalControlsLayout->setContentsMargins(0, 0, 0, 0);
|
||||
verticalControlsLayout->setSpacing(0);
|
||||
_controls->hide(); // Only useful in horizontal case
|
||||
}
|
||||
|
||||
QVBoxLayout *actionLayout = new QVBoxLayout;
|
||||
actionLayout->addWidget(_section);
|
||||
actionLayout->addWidget(_controls);
|
||||
|
||||
QHBoxLayout *mainLayout = new QHBoxLayout;
|
||||
mainLayout->addLayout(verticalControlsLayout);
|
||||
mainLayout->addLayout(actionLayout);
|
||||
setLayout(mainLayout);
|
||||
|
||||
_entryData = entryData;
|
||||
|
|
|
|||
|
|
@ -120,9 +120,24 @@ MacroConditionEdit::MacroConditionEdit(
|
|||
_section->AddHeaderWidget(_headerInfo);
|
||||
_section->AddHeaderWidget(_dur);
|
||||
|
||||
QVBoxLayout *mainLayout = new QVBoxLayout;
|
||||
mainLayout->addWidget(_section);
|
||||
mainLayout->addWidget(_controls);
|
||||
QVBoxLayout *verticalControlsLayout = new QVBoxLayout;
|
||||
if (switcher->useVerticalMacroControls) {
|
||||
verticalControlsLayout->addWidget(_controls->GetUp());
|
||||
verticalControlsLayout->addWidget(_controls->GetAdd());
|
||||
verticalControlsLayout->addWidget(_controls->GetRemove());
|
||||
verticalControlsLayout->addWidget(_controls->GetDown());
|
||||
verticalControlsLayout->setContentsMargins(0, 0, 0, 0);
|
||||
verticalControlsLayout->setSpacing(0);
|
||||
_controls->hide(); // Only useful in horizontal case
|
||||
}
|
||||
|
||||
QVBoxLayout *conditionLayout = new QVBoxLayout;
|
||||
conditionLayout->addWidget(_section);
|
||||
conditionLayout->addWidget(_controls);
|
||||
|
||||
QHBoxLayout *mainLayout = new QHBoxLayout;
|
||||
mainLayout->addLayout(verticalControlsLayout);
|
||||
mainLayout->addLayout(conditionLayout);
|
||||
setLayout(mainLayout);
|
||||
|
||||
UpdateEntryData(id);
|
||||
|
|
|
|||
|
|
@ -356,6 +356,8 @@ void AdvSceneSwitcher::on_macros_itemChanged(QListWidgetItem *item)
|
|||
|
||||
void AdvSceneSwitcher::setupMacroTab()
|
||||
{
|
||||
const QSignalBlocker signalBlocker(ui->macros);
|
||||
ui->macros->clear();
|
||||
for (auto &m : switcher->macros) {
|
||||
QString text = QString::fromStdString(m->Name());
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user