From 7553534d96e988d085a730a7263293085c19d3ff Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Sat, 20 Oct 2012 08:07:15 -0700 Subject: [PATCH] Update all selected rows in the vector clip tool rather than just the active line --- aegisub/src/visual_tool_vector_clip.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/aegisub/src/visual_tool_vector_clip.cpp b/aegisub/src/visual_tool_vector_clip.cpp index 2907a92a9..e8b280df3 100644 --- a/aegisub/src/visual_tool_vector_clip.cpp +++ b/aegisub/src/visual_tool_vector_clip.cpp @@ -31,8 +31,10 @@ #include "config.h" #include "ass_dialogue.h" +#include "include/aegisub/context.h" #include "libresrc/libresrc.h" #include "main.h" +#include "selection_controller.h" #include "utils.h" /// Button IDs @@ -199,13 +201,18 @@ void VisualToolVectorClip::MakeFeatures() { } void VisualToolVectorClip::Save() { - wxString tag = inverse ? "\\iclip" : "\\clip"; wxString value = "("; if (spline.GetScale() != 1) value += wxString::Format("%d,", spline.GetScale()); value += spline.EncodeToAss() + ")"; - SetOverride(active_line, tag, value); + SubtitleSelection sel = c->selectionController->GetSelectedSet(); + for (SubtitleSelection::iterator it = sel.begin(); it != sel.end(); ++it) { + // This check is technically not correct as it could be outside of an + // override block... but that's rather unlikely + bool has_iclip = (*it)->Text.find("\\iclip") != wxString::npos; + SetOverride(*it, has_iclip ? "\\iclip" : "\\clip", value); + } } void VisualToolVectorClip::UpdateDrag(feature_iterator feature) {