diff --git a/aegisub/src/visual_tool.cpp b/aegisub/src/visual_tool.cpp index 0225406e1..c36ce9395 100644 --- a/aegisub/src/visual_tool.cpp +++ b/aegisub/src/visual_tool.cpp @@ -111,8 +111,6 @@ void VisualTool::OnMouseEvent (wxMouseEvent &event) { } externalChange = false; - VideoContext* con = VideoContext::Get(); - leftClick = event.ButtonDown(wxMOUSE_BTN_LEFT); leftDClick = event.LeftDClick(); shiftDown = event.m_shiftDown; diff --git a/aegisub/src/visual_tool.h b/aegisub/src/visual_tool.h index 41247767b..877a950df 100644 --- a/aegisub/src/visual_tool.h +++ b/aegisub/src/visual_tool.h @@ -36,7 +36,7 @@ #pragma once #ifndef AGI_PRE -#include +#include #include #include diff --git a/aegisub/src/visual_tool_drag.cpp b/aegisub/src/visual_tool_drag.cpp index 992ba29cf..d8a6ef3c1 100644 --- a/aegisub/src/visual_tool_drag.cpp +++ b/aegisub/src/visual_tool_drag.cpp @@ -93,29 +93,28 @@ void VisualToolDrag::UpdateToggleButtons() { /// @brief Toggle button pressed /// @param event -void VisualToolDrag::OnSubTool(wxCommandEvent &event) { - // Get line - AssDialogue *line = GetActiveDialogueLine(); - if (!line) return; - +void VisualToolDrag::OnSubTool(wxCommandEvent &) { + BaseGrid* grid = VideoContext::Get()->grid; + wxArrayInt sel = GetSelection(); // Toggle \move <-> \pos - if (event.GetId() == BUTTON_TOGGLE_MOVE) { - // Get coordinates + for (wxArrayInt::const_iterator cur = sel.begin(); cur != sel.end(); ++cur) { int x1,y1,x2,y2,t1,t2; bool hasMove; + + AssDialogue *line = grid->GetDialogue(*cur); + if (!line) continue; + GetLinePosition(line,x1,y1); GetLineMove(line,hasMove,x1,y1,x2,y2,t1,t2); parent->ToScriptCoords(&x1, &y1); parent->ToScriptCoords(&x2, &y2); - // Replace tag if (hasMove) SetOverride(line, L"\\pos",wxString::Format(L"(%i,%i)",x1,y1)); else SetOverride(line, L"\\move",wxString::Format(L"(%i,%i,%i,%i,%i,%i)",x1,y1,x1,y1,0,line->End.GetMS() - line->Start.GetMS())); - Commit(true); - - // Update display - Refresh(); } + + Commit(true); + Refresh(); } void VisualToolDrag::DoRefresh() {