UI: Remove unnecessary Undo/Redo cleanup func
Since fixing the reference holding issue with scene/source deletion, the undo/redo cleanup function (last param of add_action) is no longer required.
This commit is contained in:
parent
8946f02270
commit
78f1983f7d
@ -84,7 +84,7 @@ void SourceToolbar::SetUndoProperties(obs_source_t *source)
|
|||||||
main->undo_s.add_action(
|
main->undo_s.add_action(
|
||||||
QTStr("Undo.Properties")
|
QTStr("Undo.Properties")
|
||||||
.arg(obs_source_get_name(source)),
|
.arg(obs_source_get_name(source)),
|
||||||
undo_redo, undo_redo, undo_data, redo_data, nullptr);
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
|
|
||||||
obs_data_release(new_settings);
|
obs_data_release(new_settings);
|
||||||
obs_data_release(curr_settings);
|
obs_data_release(curr_settings);
|
||||||
|
@ -154,7 +154,7 @@ SourceTreeItem::SourceTreeItem(SourceTree *tree_, OBSSceneItem sceneitem_)
|
|||||||
OBSBasic *main = OBSBasic::Get();
|
OBSBasic *main = OBSBasic::Get();
|
||||||
main->undo_s.add_action(str, undo_redo, undo_redo,
|
main->undo_s.add_action(str, undo_redo, undo_redo,
|
||||||
checked ? "0" : "1",
|
checked ? "0" : "1",
|
||||||
checked ? "1" : "0", nullptr);
|
checked ? "1" : "0");
|
||||||
|
|
||||||
SignalBlocker sourcesSignalBlocker(this);
|
SignalBlocker sourcesSignalBlocker(this);
|
||||||
obs_sceneitem_set_visible(sceneitem, checked);
|
obs_sceneitem_set_visible(sceneitem, checked);
|
||||||
@ -454,7 +454,7 @@ void SourceTreeItem::ExitEditMode(bool save)
|
|||||||
};
|
};
|
||||||
|
|
||||||
main->undo_s.add_action(QTStr("Undo.Rename").arg(newName.c_str()), undo,
|
main->undo_s.add_action(QTStr("Undo.Rename").arg(newName.c_str()), undo,
|
||||||
redo, newName, prevName, NULL);
|
redo, newName, prevName);
|
||||||
|
|
||||||
obs_source_set_name(source, newName.c_str());
|
obs_source_set_name(source, newName.c_str());
|
||||||
label->setText(QT_UTF8(newName.c_str()));
|
label->setText(QT_UTF8(newName.c_str()));
|
||||||
|
@ -6,21 +6,8 @@
|
|||||||
|
|
||||||
undo_stack::undo_stack(ui_ptr ui) : ui(ui) {}
|
undo_stack::undo_stack(ui_ptr ui) : ui(ui) {}
|
||||||
|
|
||||||
void undo_stack::release()
|
|
||||||
{
|
|
||||||
for (auto f : undo_items)
|
|
||||||
if (f.d)
|
|
||||||
f.d(true);
|
|
||||||
|
|
||||||
for (auto f : redo_items)
|
|
||||||
if (f.d)
|
|
||||||
f.d(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
void undo_stack::clear()
|
void undo_stack::clear()
|
||||||
{
|
{
|
||||||
release();
|
|
||||||
|
|
||||||
undo_items.clear();
|
undo_items.clear();
|
||||||
redo_items.clear();
|
redo_items.clear();
|
||||||
|
|
||||||
@ -33,16 +20,14 @@ void undo_stack::clear()
|
|||||||
|
|
||||||
void undo_stack::add_action(const QString &name, undo_redo_cb undo,
|
void undo_stack::add_action(const QString &name, undo_redo_cb undo,
|
||||||
undo_redo_cb redo, std::string undo_data,
|
undo_redo_cb redo, std::string undo_data,
|
||||||
std::string redo_data, func d)
|
std::string redo_data)
|
||||||
{
|
{
|
||||||
while (undo_items.size() >= MAX_STACK_SIZE) {
|
while (undo_items.size() >= MAX_STACK_SIZE) {
|
||||||
undo_redo_t item = undo_items.back();
|
undo_redo_t item = undo_items.back();
|
||||||
if (item.d)
|
|
||||||
item.d(true);
|
|
||||||
undo_items.pop_back();
|
undo_items.pop_back();
|
||||||
}
|
}
|
||||||
|
|
||||||
undo_redo_t n = {name, undo_data, redo_data, undo, redo, d};
|
undo_redo_t n = {name, undo_data, redo_data, undo, redo};
|
||||||
|
|
||||||
undo_items.push_front(n);
|
undo_items.push_front(n);
|
||||||
clear_redo();
|
clear_redo();
|
||||||
@ -116,9 +101,5 @@ void undo_stack::disable_undo_redo()
|
|||||||
|
|
||||||
void undo_stack::clear_redo()
|
void undo_stack::clear_redo()
|
||||||
{
|
{
|
||||||
for (auto f : redo_items)
|
|
||||||
if (f.d)
|
|
||||||
f.d(false);
|
|
||||||
|
|
||||||
redo_items.clear();
|
redo_items.clear();
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,6 @@ class undo_stack {
|
|||||||
std::string redo_data;
|
std::string redo_data;
|
||||||
undo_redo_cb undo;
|
undo_redo_cb undo;
|
||||||
undo_redo_cb redo;
|
undo_redo_cb redo;
|
||||||
func d;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
ui_ptr ui;
|
ui_ptr ui;
|
||||||
@ -36,11 +35,10 @@ public:
|
|||||||
void enable_undo_redo();
|
void enable_undo_redo();
|
||||||
void disable_undo_redo();
|
void disable_undo_redo();
|
||||||
|
|
||||||
void release();
|
|
||||||
void clear();
|
void clear();
|
||||||
void add_action(const QString &name, undo_redo_cb undo,
|
void add_action(const QString &name, undo_redo_cb undo,
|
||||||
undo_redo_cb redo, std::string undo_data,
|
undo_redo_cb redo, std::string undo_data,
|
||||||
std::string redo_data, func d);
|
std::string redo_data);
|
||||||
void undo();
|
void undo();
|
||||||
void redo();
|
void redo();
|
||||||
};
|
};
|
||||||
|
@ -258,7 +258,7 @@ void OBSBasicFilters::UpdatePropertiesView(int row, bool async)
|
|||||||
std::string redo_data = obs_data_get_json(redo_wrapper);
|
std::string redo_data = obs_data_get_json(redo_wrapper);
|
||||||
main->undo_s.add_action(QTStr("Undo.Filters").arg(name.c_str()),
|
main->undo_s.add_action(QTStr("Undo.Filters").arg(name.c_str()),
|
||||||
undo_redo, undo_redo, undo_data,
|
undo_redo, undo_redo, undo_data,
|
||||||
redo_data, NULL);
|
redo_data);
|
||||||
|
|
||||||
obs_data_release(redo_wrapper);
|
obs_data_release(redo_wrapper);
|
||||||
obs_data_release(undo_wrapper);
|
obs_data_release(undo_wrapper);
|
||||||
@ -621,7 +621,7 @@ void OBSBasicFilters::AddNewFilter(const char *id)
|
|||||||
std::string undo_data(obs_data_get_json(wrapper));
|
std::string undo_data(obs_data_get_json(wrapper));
|
||||||
std::string redo_data(obs_data_get_json(rwrapper));
|
std::string redo_data(obs_data_get_json(rwrapper));
|
||||||
main->undo_s.add_action(QTStr("Undo.Add").arg(name.c_str()),
|
main->undo_s.add_action(QTStr("Undo.Add").arg(name.c_str()),
|
||||||
undo, redo, undo_data, redo_data, NULL);
|
undo, redo, undo_data, redo_data);
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
obs_data_release(rwrapper);
|
obs_data_release(rwrapper);
|
||||||
@ -877,7 +877,7 @@ void OBSBasicFilters::on_removeEffectFilter_clicked()
|
|||||||
main->undo_s.add_action(
|
main->undo_s.add_action(
|
||||||
QTStr("Undo.Delete")
|
QTStr("Undo.Delete")
|
||||||
.arg(obs_source_get_name(filter)),
|
.arg(obs_source_get_name(filter)),
|
||||||
undo, redo, undo_data, redo_data, NULL);
|
undo, redo, undo_data, redo_data);
|
||||||
obs_source_filter_remove(source, filter);
|
obs_source_filter_remove(source, filter);
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
@ -1166,7 +1166,7 @@ void OBSBasicFilters::FilterNameEdited(QWidget *editor, QListWidget *list)
|
|||||||
std::string undo_data(sourceName);
|
std::string undo_data(sourceName);
|
||||||
std::string redo_data(sourceName);
|
std::string redo_data(sourceName);
|
||||||
main->undo_s.add_action(QTStr("Undo.Rename").arg(name.c_str()),
|
main->undo_s.add_action(QTStr("Undo.Rename").arg(name.c_str()),
|
||||||
undo, redo, undo_data, redo_data, NULL);
|
undo, redo, undo_data, redo_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
listItem->setText(QString());
|
listItem->setText(QString());
|
||||||
|
@ -199,7 +199,7 @@ bool OBSBasic::AddSceneCollection(bool create_new, const QString &qname)
|
|||||||
};
|
};
|
||||||
|
|
||||||
undo_s.add_action(QTStr("Undo.Add").arg(name.c_str()), undo, redo, file,
|
undo_s.add_action(QTStr("Undo.Add").arg(name.c_str()), undo, redo, file,
|
||||||
"", NULL);
|
"");
|
||||||
|
|
||||||
blog(LOG_INFO, "Added scene collection '%s' (%s, %s.json)",
|
blog(LOG_INFO, "Added scene collection '%s' (%s, %s.json)",
|
||||||
name.c_str(), create_new ? "clean" : "duplicate", file.c_str());
|
name.c_str(), create_new ? "clean" : "duplicate", file.c_str());
|
||||||
@ -376,7 +376,7 @@ void OBSBasic::on_actionRenameSceneCollection_triggered()
|
|||||||
RefreshSceneCollections();
|
RefreshSceneCollections();
|
||||||
|
|
||||||
undo_s.add_action(QTStr("Undo.Rename").arg(name.c_str()), undo, redo,
|
undo_s.add_action(QTStr("Undo.Rename").arg(name.c_str()), undo, redo,
|
||||||
"", "", NULL);
|
"", "");
|
||||||
|
|
||||||
if (api) {
|
if (api) {
|
||||||
api->on_event(OBS_FRONTEND_EVENT_SCENE_COLLECTION_LIST_CHANGED);
|
api->on_event(OBS_FRONTEND_EVENT_SCENE_COLLECTION_LIST_CHANGED);
|
||||||
@ -450,7 +450,7 @@ void OBSBasic::on_actionRemoveSceneCollection_triggered()
|
|||||||
|
|
||||||
std::string undo_data = std::string(obs_data_get_json(data));
|
std::string undo_data = std::string(obs_data_get_json(data));
|
||||||
undo_s.add_action(QTStr("Undo.Delete").arg(oldName.c_str()), undo, redo,
|
undo_s.add_action(QTStr("Undo.Delete").arg(oldName.c_str()), undo, redo,
|
||||||
undo_data, "", NULL);
|
undo_data, "");
|
||||||
obs_data_release(data);
|
obs_data_release(data);
|
||||||
|
|
||||||
os_unlink(oldFile.c_str());
|
os_unlink(oldFile.c_str());
|
||||||
|
@ -1236,8 +1236,7 @@ QMenu *OBSBasic::CreateVisibilityTransitionMenu(bool visible)
|
|||||||
.arg(obs_source_get_name(
|
.arg(obs_source_get_name(
|
||||||
obs_sceneitem_get_source(
|
obs_sceneitem_get_source(
|
||||||
sceneItem))),
|
sceneItem))),
|
||||||
undo_redo, undo_redo, undo_data, redo_data,
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
NULL);
|
|
||||||
obs_data_release(newTransitionData);
|
obs_data_release(newTransitionData);
|
||||||
obs_data_release(oldTransitionData);
|
obs_data_release(oldTransitionData);
|
||||||
};
|
};
|
||||||
|
@ -3663,8 +3663,7 @@ void OBSBasic::DuplicateSelectedScene()
|
|||||||
QTStr("Undo.Scene.Duplicate")
|
QTStr("Undo.Scene.Duplicate")
|
||||||
.arg(obs_source_get_name(source)),
|
.arg(obs_source_get_name(source)),
|
||||||
undo, redo, obs_source_get_name(source),
|
undo, redo, obs_source_get_name(source),
|
||||||
obs_source_get_name(obs_scene_get_source(curScene)),
|
obs_source_get_name(obs_scene_get_source(curScene)));
|
||||||
NULL);
|
|
||||||
|
|
||||||
obs_scene_release(scene);
|
obs_scene_release(scene);
|
||||||
|
|
||||||
@ -3765,7 +3764,7 @@ void OBSBasic::RemoveSelectedScene()
|
|||||||
obs_data_set_int(data, "index", ui->scenes->currentRow());
|
obs_data_set_int(data, "index", ui->scenes->currentRow());
|
||||||
|
|
||||||
undo_s.add_action("Delete Scene", undo, redo, obs_data_get_json(data),
|
undo_s.add_action("Delete Scene", undo, redo, obs_data_get_json(data),
|
||||||
obs_source_get_name(source), NULL);
|
obs_source_get_name(source));
|
||||||
|
|
||||||
obs_data_array_release(array);
|
obs_data_array_release(array);
|
||||||
obs_data_release(data);
|
obs_data_release(data);
|
||||||
@ -4468,7 +4467,6 @@ void OBSBasic::closeEvent(QCloseEvent *event)
|
|||||||
|
|
||||||
/* Clear all scene data (dialogs, widgets, widget sub-items, scenes,
|
/* Clear all scene data (dialogs, widgets, widget sub-items, scenes,
|
||||||
* sources, etc) so that all references are released before shutdown */
|
* sources, etc) so that all references are released before shutdown */
|
||||||
undo_s.release();
|
|
||||||
ClearSceneData();
|
ClearSceneData();
|
||||||
|
|
||||||
App()->quit();
|
App()->quit();
|
||||||
@ -4672,8 +4670,7 @@ void OBSBasic::on_actionAdvAudioProperties_triggered()
|
|||||||
|
|
||||||
if (undo_data.compare(redo_data) != 0)
|
if (undo_data.compare(redo_data) != 0)
|
||||||
undo_s.add_action(QTStr("Undo.Audio"), undo_redo,
|
undo_s.add_action(QTStr("Undo.Audio"), undo_redo,
|
||||||
undo_redo, undo_data, redo_data,
|
undo_redo, undo_data, redo_data);
|
||||||
NULL);
|
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
});
|
});
|
||||||
@ -4917,7 +4914,7 @@ void OBSBasic::on_actionAddScene_triggered()
|
|||||||
obs_scene_release(scene);
|
obs_scene_release(scene);
|
||||||
};
|
};
|
||||||
undo_s.add_action(QTStr("Undo.Add").arg(QString(name.c_str())),
|
undo_s.add_action(QTStr("Undo.Add").arg(QString(name.c_str())),
|
||||||
undo_fn, redo_fn, name, name, NULL);
|
undo_fn, redo_fn, name, name);
|
||||||
|
|
||||||
obs_scene_t *scene = obs_scene_create(name.c_str());
|
obs_scene_t *scene = obs_scene_create(name.c_str());
|
||||||
source = obs_scene_get_source(scene);
|
source = obs_scene_get_source(scene);
|
||||||
@ -5552,7 +5549,7 @@ void OBSBasic::CreateSceneUndoRedoAction(const QString &action_name,
|
|||||||
const char *redo_json = obs_data_get_last_json(redo_data);
|
const char *redo_json = obs_data_get_last_json(redo_data);
|
||||||
|
|
||||||
undo_s.add_action(action_name, undo_redo, undo_redo, undo_json,
|
undo_s.add_action(action_name, undo_redo, undo_redo, undo_json,
|
||||||
redo_json, nullptr);
|
redo_json);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OBSBasic::on_actionRemoveSource_triggered()
|
void OBSBasic::on_actionRemoveSource_triggered()
|
||||||
@ -5893,7 +5890,7 @@ static void RenameListItem(OBSBasic *parent, QListWidget *listWidget,
|
|||||||
std::string redo_data(prevName);
|
std::string redo_data(prevName);
|
||||||
parent->undo_s.add_action(
|
parent->undo_s.add_action(
|
||||||
QTStr("Undo.Rename").arg(name.c_str()), undo, redo,
|
QTStr("Undo.Rename").arg(name.c_str()), undo, redo,
|
||||||
undo_data, redo_data, NULL);
|
undo_data, redo_data);
|
||||||
|
|
||||||
listItem->setText(QT_UTF8(name.c_str()));
|
listItem->setText(QT_UTF8(name.c_str()));
|
||||||
obs_source_set_name(source, name.c_str());
|
obs_source_set_name(source, name.c_str());
|
||||||
@ -7183,7 +7180,7 @@ void OBSBasic::on_actionPasteTransform_triggered()
|
|||||||
undo_s.add_action(
|
undo_s.add_action(
|
||||||
QTStr("Undo.Transform.Paste")
|
QTStr("Undo.Transform.Paste")
|
||||||
.arg(obs_source_get_name(GetCurrentSceneSource())),
|
.arg(obs_source_get_name(GetCurrentSceneSource())),
|
||||||
undo_redo, undo_redo, undo_data, redo_data, NULL);
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
obs_data_release(rwrapper);
|
obs_data_release(rwrapper);
|
||||||
@ -7233,7 +7230,7 @@ void OBSBasic::on_actionResetTransform_triggered()
|
|||||||
undo_s.add_action(
|
undo_s.add_action(
|
||||||
QTStr("Undo.Transform.Reset")
|
QTStr("Undo.Transform.Reset")
|
||||||
.arg(obs_source_get_name(obs_scene_get_source(scene))),
|
.arg(obs_source_get_name(obs_scene_get_source(scene))),
|
||||||
undo_redo, undo_redo, undo_data, redo_data, NULL);
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
obs_data_release(rwrapper);
|
obs_data_release(rwrapper);
|
||||||
@ -7326,7 +7323,7 @@ void OBSBasic::on_actionRotate90CW_triggered()
|
|||||||
undo_s.add_action(QTStr("Undo.Transform.Rotate")
|
undo_s.add_action(QTStr("Undo.Transform.Rotate")
|
||||||
.arg(obs_source_get_name(obs_scene_get_source(
|
.arg(obs_source_get_name(obs_scene_get_source(
|
||||||
GetCurrentScene()))),
|
GetCurrentScene()))),
|
||||||
undo_redo, undo_redo, undo_data, redo_data, NULL);
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
obs_data_release(rwrapper);
|
obs_data_release(rwrapper);
|
||||||
@ -7346,7 +7343,7 @@ void OBSBasic::on_actionRotate90CCW_triggered()
|
|||||||
undo_s.add_action(QTStr("Undo.Transform.Rotate")
|
undo_s.add_action(QTStr("Undo.Transform.Rotate")
|
||||||
.arg(obs_source_get_name(obs_scene_get_source(
|
.arg(obs_source_get_name(obs_scene_get_source(
|
||||||
GetCurrentScene()))),
|
GetCurrentScene()))),
|
||||||
undo_redo, undo_redo, undo_data, redo_data, NULL);
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
obs_data_release(rwrapper);
|
obs_data_release(rwrapper);
|
||||||
@ -7366,7 +7363,7 @@ void OBSBasic::on_actionRotate180_triggered()
|
|||||||
undo_s.add_action(QTStr("Undo.Transform.Rotate")
|
undo_s.add_action(QTStr("Undo.Transform.Rotate")
|
||||||
.arg(obs_source_get_name(obs_scene_get_source(
|
.arg(obs_source_get_name(obs_scene_get_source(
|
||||||
GetCurrentScene()))),
|
GetCurrentScene()))),
|
||||||
undo_redo, undo_redo, undo_data, redo_data, NULL);
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
obs_data_release(rwrapper);
|
obs_data_release(rwrapper);
|
||||||
@ -7416,7 +7413,7 @@ void OBSBasic::on_actionFlipHorizontal_triggered()
|
|||||||
undo_s.add_action(QTStr("Undo.Transform.HFlip")
|
undo_s.add_action(QTStr("Undo.Transform.HFlip")
|
||||||
.arg(obs_source_get_name(obs_scene_get_source(
|
.arg(obs_source_get_name(obs_scene_get_source(
|
||||||
GetCurrentScene()))),
|
GetCurrentScene()))),
|
||||||
undo_redo, undo_redo, undo_data, redo_data, NULL);
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
obs_data_release(rwrapper);
|
obs_data_release(rwrapper);
|
||||||
@ -7438,7 +7435,7 @@ void OBSBasic::on_actionFlipVertical_triggered()
|
|||||||
undo_s.add_action(QTStr("Undo.Transform.VFlip")
|
undo_s.add_action(QTStr("Undo.Transform.VFlip")
|
||||||
.arg(obs_source_get_name(obs_scene_get_source(
|
.arg(obs_source_get_name(obs_scene_get_source(
|
||||||
GetCurrentScene()))),
|
GetCurrentScene()))),
|
||||||
undo_redo, undo_redo, undo_data, redo_data, NULL);
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
obs_data_release(rwrapper);
|
obs_data_release(rwrapper);
|
||||||
@ -7493,7 +7490,7 @@ void OBSBasic::on_actionFitToScreen_triggered()
|
|||||||
undo_s.add_action(QTStr("Undo.Transform.FitToScreen")
|
undo_s.add_action(QTStr("Undo.Transform.FitToScreen")
|
||||||
.arg(obs_source_get_name(obs_scene_get_source(
|
.arg(obs_source_get_name(obs_scene_get_source(
|
||||||
GetCurrentScene()))),
|
GetCurrentScene()))),
|
||||||
undo_redo, undo_redo, undo_data, redo_data, NULL);
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
obs_data_release(rwrapper);
|
obs_data_release(rwrapper);
|
||||||
@ -7514,7 +7511,7 @@ void OBSBasic::on_actionStretchToScreen_triggered()
|
|||||||
undo_s.add_action(QTStr("Undo.Transform.StretchToScreen")
|
undo_s.add_action(QTStr("Undo.Transform.StretchToScreen")
|
||||||
.arg(obs_source_get_name(obs_scene_get_source(
|
.arg(obs_source_get_name(obs_scene_get_source(
|
||||||
GetCurrentScene()))),
|
GetCurrentScene()))),
|
||||||
undo_redo, undo_redo, undo_data, redo_data, NULL);
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
obs_data_release(rwrapper);
|
obs_data_release(rwrapper);
|
||||||
@ -7589,7 +7586,7 @@ void OBSBasic::on_actionCenterToScreen_triggered()
|
|||||||
undo_s.add_action(QTStr("Undo.Transform.Center")
|
undo_s.add_action(QTStr("Undo.Transform.Center")
|
||||||
.arg(obs_source_get_name(obs_scene_get_source(
|
.arg(obs_source_get_name(obs_scene_get_source(
|
||||||
GetCurrentScene()))),
|
GetCurrentScene()))),
|
||||||
undo_redo, undo_redo, undo_data, redo_data, NULL);
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
obs_data_release(rwrapper);
|
obs_data_release(rwrapper);
|
||||||
@ -7609,7 +7606,7 @@ void OBSBasic::on_actionVerticalCenter_triggered()
|
|||||||
undo_s.add_action(QTStr("Undo.Transform.VCenter")
|
undo_s.add_action(QTStr("Undo.Transform.VCenter")
|
||||||
.arg(obs_source_get_name(obs_scene_get_source(
|
.arg(obs_source_get_name(obs_scene_get_source(
|
||||||
GetCurrentScene()))),
|
GetCurrentScene()))),
|
||||||
undo_redo, undo_redo, undo_data, redo_data, NULL);
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
obs_data_release(rwrapper);
|
obs_data_release(rwrapper);
|
||||||
@ -7629,7 +7626,7 @@ void OBSBasic::on_actionHorizontalCenter_triggered()
|
|||||||
undo_s.add_action(QTStr("Undo.Transform.HCenter")
|
undo_s.add_action(QTStr("Undo.Transform.HCenter")
|
||||||
.arg(obs_source_get_name(obs_scene_get_source(
|
.arg(obs_source_get_name(obs_scene_get_source(
|
||||||
GetCurrentScene()))),
|
GetCurrentScene()))),
|
||||||
undo_redo, undo_redo, undo_data, redo_data, NULL);
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
obs_data_release(rwrapper);
|
obs_data_release(rwrapper);
|
||||||
@ -7744,7 +7741,7 @@ void OBSBasic::Nudge(int dist, MoveDir dir)
|
|||||||
.arg(obs_source_get_name(
|
.arg(obs_source_get_name(
|
||||||
GetCurrentSceneSource())),
|
GetCurrentSceneSource())),
|
||||||
undo_redo, undo_redo, undo_data,
|
undo_redo, undo_redo, undo_data,
|
||||||
redo_data, NULL);
|
redo_data);
|
||||||
|
|
||||||
recent_nudge = false;
|
recent_nudge = false;
|
||||||
obs_data_release(rwrapper);
|
obs_data_release(rwrapper);
|
||||||
|
@ -745,8 +745,7 @@ void OBSBasicPreview::mouseReleaseEvent(QMouseEvent *event)
|
|||||||
QTStr("Undo.Transform")
|
QTStr("Undo.Transform")
|
||||||
.arg(obs_source_get_name(
|
.arg(obs_source_get_name(
|
||||||
main->GetCurrentSceneSource())),
|
main->GetCurrentSceneSource())),
|
||||||
undo_redo, undo_redo, undo_data, redo_data,
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wrapper)
|
if (wrapper)
|
||||||
|
@ -398,8 +398,7 @@ void OBSBasicProperties::on_buttonBox_clicked(QAbstractButton *button)
|
|||||||
main->undo_s.add_action(
|
main->undo_s.add_action(
|
||||||
QTStr("Undo.Properties")
|
QTStr("Undo.Properties")
|
||||||
.arg(obs_source_get_name(source)),
|
.arg(obs_source_get_name(source)),
|
||||||
undo_redo, undo_redo, undo_data, redo_data,
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
NULL);
|
|
||||||
|
|
||||||
obs_data_release(new_settings);
|
obs_data_release(new_settings);
|
||||||
obs_data_release(curr_settings);
|
obs_data_release(curr_settings);
|
||||||
|
@ -292,8 +292,7 @@ void OBSBasicSourceSelect::on_buttonBox_accepted()
|
|||||||
undo_s.add_action(QTStr("Undo.Add").arg(ui->sourceName->text()),
|
undo_s.add_action(QTStr("Undo.Add").arg(ui->sourceName->text()),
|
||||||
undo, redo,
|
undo, redo,
|
||||||
std::string(obs_source_get_name(newSource)),
|
std::string(obs_source_get_name(newSource)),
|
||||||
std::string(obs_data_get_json(wrapper)),
|
std::string(obs_data_get_json(wrapper)));
|
||||||
NULL);
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
obs_sceneitem_release(item);
|
obs_sceneitem_release(item);
|
||||||
}
|
}
|
||||||
|
@ -105,7 +105,7 @@ OBSBasicTransform::~OBSBasicTransform()
|
|||||||
QTStr("Undo.Transform")
|
QTStr("Undo.Transform")
|
||||||
.arg(obs_source_get_name(obs_scene_get_source(
|
.arg(obs_source_get_name(obs_scene_get_source(
|
||||||
main->GetCurrentScene()))),
|
main->GetCurrentScene()))),
|
||||||
undo_redo, undo_redo, undo_data, redo_data, NULL);
|
undo_redo, undo_redo, undo_data, redo_data);
|
||||||
|
|
||||||
obs_data_release(wrapper);
|
obs_data_release(wrapper);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user