This commit is contained in:
WarmUpTill 2026-01-20 19:17:41 +01:00
parent 393d70be33
commit 189fa5c314
3 changed files with 107 additions and 73 deletions

View File

@ -686,60 +686,28 @@
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="macroControlLayout">
<item>
<widget class="QToolButton" name="macroAdd">
<property name="toolTip">
<string>AdvSceneSwitcher.macroTab.tooltip.macroAddButton</string>
</property>
<property name="themeID" stdset="0">
<string notr="true">addIconSmall</string>
</property>
<property name="class" stdset="0">
<string notr="true">icon-plus</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="macroRemove">
<property name="toolTip">
<string>AdvSceneSwitcher.macroTab.tooltip.macroRemoveButton</string>
</property>
<property name="themeID" stdset="0">
<string notr="true">removeIconSmall</string>
</property>
<property name="class" stdset="0">
<string notr="true">icon-trash</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="macroUp">
<property name="toolTip">
<string>AdvSceneSwitcher.macroTab.tooltip.macroUpButton</string>
</property>
<property name="themeID" stdset="0">
<string notr="true">upArrowIconSmall</string>
</property>
<property name="class" stdset="0">
<string notr="true">icon-up</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="macroDown">
<property name="toolTip">
<string>AdvSceneSwitcher.macroTab.tooltip.macroDownButton</string>
</property>
<property name="themeID" stdset="0">
<string notr="true">downArrowIconSmall</string>
</property>
<property name="class" stdset="0">
<string notr="true">icon-down</string>
</property>
</widget>
</item>
</layout>
<widget class="QToolBar" name="macrosToolbar">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="iconSize">
<size>
<width>16</width>
<height>16</height>
</size>
</property>
<property name="floatable">
<bool>false</bool>
</property>
<addaction name="macroAdd"/>
<addaction name="macroRemove"/>
<addaction name="separator"/>
<addaction name="macroUp"/>
<addaction name="macroDown"/>
</widget>
</item>
</layout>
</widget>
@ -4054,6 +4022,78 @@
</widget>
</item>
</layout>
<action name="macroAdd">
<property name="icon">
<iconset>
<normaloff>:/res/images/plus.svg</normaloff>:/res/images/plus.svg</iconset>
</property>
<property name="text">
<string>Add</string>
</property>
<property name="toolTip">
<string>AdvSceneSwitcher.macroTab.tooltip.macroAddButton</string>
</property>
<property name="class" stdset="0">
<string notr="true">icon-plus</string>
</property>
<property name="themeID" stdset="0">
<string notr="true">addIconSmall</string>
</property>
</action>
<action name="macroRemove">
<property name="icon">
<iconset>
<normaloff>:/res/images/minus.svg</normaloff>:/res/images/minus.svg</iconset>
</property>
<property name="text">
<string>Remove</string>
</property>
<property name="toolTip">
<string>AdvSceneSwitcher.macroTab.tooltip.macroRemoveButton</string>
</property>
<property name="shortcut">
<string>Del</string>
</property>
<property name="shortcutContext">
<enum>Qt::WidgetWithChildrenShortcut</enum>
</property>
<property name="iconVisibleInMenu">
<bool>false</bool>
</property>
<property name="class" stdset="0">
<string notr="true">icon-trash</string>
</property>
</action>
<action name="macroUp">
<property name="icon">
<iconset>
<normaloff>:/res/images/up.svg</normaloff>:/res/images/up.svg</iconset>
</property>
<property name="text">
<string>MoveUp</string>
</property>
<property name="toolTip">
<string>AdvSceneSwitcher.macroTab.tooltip.macroUpButton</string>
</property>
<property name="class" stdset="0">
<string notr="true">icon-up</string>
</property>
</action>
<action name="macroDown">
<property name="icon">
<iconset>
<normaloff>:/res/images/down.svg</normaloff>:/res/images/down.svg</iconset>
</property>
<property name="text">
<string>MoveDown</string>
</property>
<property name="toolTip">
<string>AdvSceneSwitcher.macroTab.tooltip.macroDownButton</string>
</property>
<property name="class" stdset="0">
<string notr="true">icon-down</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>
@ -4119,10 +4159,6 @@
<tabstop>priorityUp</tabstop>
<tabstop>priorityDown</tabstop>
<tabstop>threadPriority</tabstop>
<tabstop>macroAdd</tabstop>
<tabstop>macroRemove</tabstop>
<tabstop>macroUp</tabstop>
<tabstop>macroDown</tabstop>
<tabstop>macroName</tabstop>
<tabstop>runMacro</tabstop>
<tabstop>runMacroInParallel</tabstop>

View File

@ -101,10 +101,10 @@ public:
void HighlightMacroSettingsButton(bool enable = true);
public slots:
void on_macroAdd_clicked();
void on_macroRemove_clicked();
void on_macroUp_clicked() const;
void on_macroDown_clicked() const;
void on_macroAdd_triggered();
void on_macroRemove_triggered();
void on_macroUp_triggered() const;
void on_macroDown_triggered() const;
void on_macroName_editingFinished();
void on_runMacroInParallel_stateChanged(int value) const;
void on_runMacroOnChange_stateChanged(int value) const;

View File

@ -97,7 +97,7 @@ bool AdvSceneSwitcher::AddNewMacro(std::shared_ptr<Macro> &res,
return true;
}
void AdvSceneSwitcher::on_macroAdd_clicked()
void AdvSceneSwitcher::on_macroAdd_triggered()
{
// Hotkey to add new macro will also use this function.
// Since we don't want the hotkey to have an effect if the macro tab is
@ -247,12 +247,12 @@ void AdvSceneSwitcher::RenameMacro(std::shared_ptr<Macro> &macro,
MacroSignalManager::Instance()->Rename(oldName, name);
}
void AdvSceneSwitcher::on_macroRemove_clicked()
void AdvSceneSwitcher::on_macroRemove_triggered()
{
RemoveSelectedMacros();
}
void AdvSceneSwitcher::on_macroUp_clicked() const
void AdvSceneSwitcher::on_macroUp_triggered() const
{
auto macro = GetSelectedMacro();
if (!macro) {
@ -261,7 +261,7 @@ void AdvSceneSwitcher::on_macroUp_clicked() const
ui->macros->Up(macro);
}
void AdvSceneSwitcher::on_macroDown_clicked() const
void AdvSceneSwitcher::on_macroDown_triggered() const
{
auto macro = GetSelectedMacro();
if (!macro) {
@ -632,13 +632,11 @@ void AdvSceneSwitcher::SetupMacroTab()
auto &macros = GetTopLevelMacros();
if (macros.size() == 0 && !switcher->disableHints) {
addPulse = HighlightWidget(ui->macroAdd, QColor(Qt::green));
addPulse = HighlightWidget(
ui->macrosToolbar->widgetForAction(ui->macroAdd),
QColor(Qt::green));
}
auto macroControls = setupToolBar({{ui->macroAdd, ui->macroRemove},
{ui->macroUp, ui->macroDown}});
ui->macroControlLayout->addWidget(macroControls);
ui->macros->Reset(macros, GetGlobalMacroSettings()._highlightExecuted);
connect(ui->macros, SIGNAL(MacroSelectionChanged()), this,
SLOT(MacroSelectionChanged()));
@ -683,7 +681,7 @@ void AdvSceneSwitcher::ShowMacroContextMenu(const QPoint &pos)
menu.addAction(
obs_module_text("AdvSceneSwitcher.macroTab.contextMenuAdd"),
this, &AdvSceneSwitcher::on_macroAdd_clicked);
this, &AdvSceneSwitcher::on_macroAdd_triggered);
auto copy = menu.addAction(
obs_module_text("AdvSceneSwitcher.macroTab.copy"), this,
@ -699,7 +697,7 @@ void AdvSceneSwitcher::ShowMacroContextMenu(const QPoint &pos)
auto remove = menu.addAction(
obs_module_text("AdvSceneSwitcher.macroTab.remove"), this,
&AdvSceneSwitcher::on_macroRemove_clicked);
&AdvSceneSwitcher::on_macroRemove_triggered);
remove->setDisabled(ui->macros->SelectionEmpty());
menu.addSeparator();