diff --git a/UI/context-bar-controls.cpp b/UI/context-bar-controls.cpp index b16026422..1cbd9c870 100644 --- a/UI/context-bar-controls.cpp +++ b/UI/context-bar-controls.cpp @@ -45,7 +45,7 @@ void SourceToolbar::SaveOldProperties(obs_source_t *source) obs_data_release(oldSettings); } -void SourceToolbar::SetUndoProperties(obs_source_t *source) +void SourceToolbar::SetUndoProperties(obs_source_t *source, bool repeatable) { if (!oldData) { blog(LOG_ERROR, "%s: somehow oldData was null.", __FUNCTION__); @@ -87,7 +87,7 @@ void SourceToolbar::SetUndoProperties(obs_source_t *source) main->undo_s.add_action( QTStr("Undo.Properties") .arg(obs_source_get_name(source)), - undo_redo, undo_redo, undo_data, redo_data); + undo_redo, undo_redo, undo_data, redo_data, repeatable); obs_data_release(new_settings); obs_data_release(curr_settings); @@ -737,8 +737,12 @@ void TextSourceToolbar::on_text_textChanged() return; } + SaveOldProperties(source); + obs_data_t *settings = obs_data_create(); obs_data_set_string(settings, "text", QT_TO_UTF8(ui->text->text())); obs_source_update(source, settings); obs_data_release(settings); + + SetUndoProperties(source, true); } diff --git a/UI/context-bar-controls.hpp b/UI/context-bar-controls.hpp index 9671dd2f0..1c93f3a17 100644 --- a/UI/context-bar-controls.hpp +++ b/UI/context-bar-controls.hpp @@ -25,7 +25,7 @@ protected: OBSData oldData; void SaveOldProperties(obs_source_t *source); - void SetUndoProperties(obs_source_t *source); + void SetUndoProperties(obs_source_t *source, bool repeatable = false); public: SourceToolbar(QWidget *parent, OBSSource source);