From 53fe61c5468b400ee26646973d1c18de734ad2d2 Mon Sep 17 00:00:00 2001 From: Rodrigo Braz Monteiro Date: Mon, 29 Oct 2007 15:30:04 +0000 Subject: [PATCH] Hopefully fixed the behaviour of layer spin control. Originally committed to SVN as r1635. --- aegisub/subs_edit_box.cpp | 33 +++++++++++++++++++++++++++++---- aegisub/subs_edit_box.h | 1 + 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/aegisub/subs_edit_box.cpp b/aegisub/subs_edit_box.cpp index f96168b42..9e80e72a0 100644 --- a/aegisub/subs_edit_box.cpp +++ b/aegisub/subs_edit_box.cpp @@ -362,7 +362,7 @@ BEGIN_EVENT_TABLE(SubsEditBox, wxPanel) EVT_COMBOBOX(STYLE_COMBOBOX, SubsEditBox::OnStyleChange) EVT_COMBOBOX(ACTOR_COMBOBOX, SubsEditBox::OnActorChange) EVT_TEXT_ENTER(ACTOR_COMBOBOX, SubsEditBox::OnActorChange) - //EVT_TEXT_ENTER(LAYER_BOX, SubsEditBox::OnLayerChange) + EVT_TEXT_ENTER(LAYER_BOX, SubsEditBox::OnLayerEnter) EVT_SPINCTRL(LAYER_BOX, SubsEditBox::OnLayerChange) EVT_TEXT_ENTER(STARTTIME_BOX, SubsEditBox::OnStartTimeChange) EVT_TEXT_ENTER(ENDTIME_BOX, SubsEditBox::OnEndTimeChange) @@ -595,8 +595,8 @@ void SubsEditBox::OnActorChange(wxCommandEvent &event) { } -///////////////// -// Layer changed +/////////////////////////// +// Layer changed with spin void SubsEditBox::OnLayerChange(wxSpinEvent &event) { // Value long temp = event.GetPosition(); @@ -616,7 +616,32 @@ void SubsEditBox::OnLayerChange(wxSpinEvent &event) { } // Done - Layer->SetValue(wxString::Format(_T("%i"),temp)); + grid->ass->FlagAsModified(_("layer change")); + grid->CommitChanges(); +} + + +//////////////////////////// +// Layer changed with enter +void SubsEditBox::OnLayerEnter(wxCommandEvent &event) { + // Value + long temp = Layer->GetValue(); + + // Get selection + wxArrayInt sel = grid->GetSelection(); + + // Update + int n = sel.Count(); + AssDialogue *cur; + for (int i=0;iGetDialogue(sel[i]); + if (cur) { + cur->Layer = temp; + cur->UpdateData(); + } + } + + // Done grid->ass->FlagAsModified(_("layer change")); grid->CommitChanges(); } diff --git a/aegisub/subs_edit_box.h b/aegisub/subs_edit_box.h index a1a45b9c5..0d491d1e6 100644 --- a/aegisub/subs_edit_box.h +++ b/aegisub/subs_edit_box.h @@ -131,6 +131,7 @@ private: void OnKeyDown(wxStyledTextEvent &event); void OnStyleChange(wxCommandEvent &event); void OnActorChange(wxCommandEvent &event); + void OnLayerEnter(wxCommandEvent &event); void OnLayerChange(wxSpinEvent &event); void OnStartTimeChange(wxCommandEvent &event); void OnEndTimeChange(wxCommandEvent &event);