mirror of https://github.com/odrling/Aegisub
Change how the Split/Join mode buttons work. Previously there was a weird hack used to change the text of the buttons when the various modes were used. When switching to icons this was no longer possible -- Well you could switch the bitmap dynamically but that's really gross. Instead the two pairs of buttons are put into their own BoxSizers which are Shown and Hidden when each mode is used.
Originally committed to SVN as r3404.
This commit is contained in:
parent
d67176de9b
commit
bebc71ef53
|
@ -195,20 +195,37 @@ wxPanel(parent,-1,wxDefaultPosition,wxDefaultSize,wxTAB_TRAVERSAL|wxBORDER_RAISE
|
|||
ButtonSizer->AddStretchSpacer(1);
|
||||
|
||||
// Karaoke sizer
|
||||
wxSizer *karaokeSizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
karaokeSizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
KaraokeButton = new wxBitmapToggleButton(this,Audio_Button_Karaoke,GETIMAGE(kara_mode_24),wxDefaultPosition,wxSize(33,30));
|
||||
KaraokeButton->SetToolTip(_("Toggle karaoke mode"));
|
||||
karaokeSizer->Add(KaraokeButton,0,wxRIGHT|wxEXPAND,0);
|
||||
|
||||
JoinSplitSizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
JoinButton = new wxBitmapButton(this,Audio_Button_Join,GETIMAGE(kara_join_24),wxDefaultPosition,wxSize(33,30));
|
||||
JoinButton->SetToolTip(_("Join selected syllables"));
|
||||
SplitButton = new wxBitmapButton(this,Audio_Button_Split,GETIMAGE(kara_split_24),wxDefaultPosition,wxSize(33,30));
|
||||
SplitButton->SetToolTip(_("Enter split-mode"));
|
||||
JoinSplitSizer->Add(JoinButton,0,wxRIGHT|wxEXPAND,0);
|
||||
JoinSplitSizer->Add(SplitButton,0,wxRIGHT|wxEXPAND,0);
|
||||
|
||||
CancelAcceptSizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
CancelButton = new wxBitmapButton(this,Audio_Button_Cancel,GETIMAGE(kara_split_accept_24),wxDefaultPosition,wxSize(33,30));
|
||||
CancelButton->SetToolTip(_("Discard all splits and leave split-mode"));
|
||||
AcceptButton = new wxBitmapButton(this,Audio_Button_Accept,GETIMAGE(kara_split_cancel_24),wxDefaultPosition,wxSize(33,30));
|
||||
AcceptButton->SetToolTip(_("Commit splits and leave split-mode"));
|
||||
CancelAcceptSizer->Add(CancelButton,0,wxRIGHT|wxEXPAND,0);
|
||||
CancelAcceptSizer->Add(AcceptButton,0,wxRIGHT|wxEXPAND,0);
|
||||
|
||||
karaokeSizer->Add(JoinSplitSizer,0,wxRIGHT|wxEXPAND,0);
|
||||
karaokeSizer->Add(CancelAcceptSizer,0,wxRIGHT|wxEXPAND,0);
|
||||
|
||||
audioKaraoke = new AudioKaraoke(this);
|
||||
audioKaraoke->box = this;
|
||||
audioKaraoke->display = audioDisplay;
|
||||
audioDisplay->karaoke = audioKaraoke;
|
||||
KaraokeButton = new wxBitmapToggleButton(this,Audio_Button_Karaoke,GETIMAGE(kara_mode_24),wxDefaultPosition,wxSize(33,30));
|
||||
KaraokeButton->SetToolTip(_("Toggle karaoke mode"));
|
||||
karaokeSizer->Add(KaraokeButton,0,wxRIGHT|wxEXPAND,0);
|
||||
JoinButton = new wxBitmapButton(this,Audio_Button_Join,GETIMAGE(kara_join_24),wxDefaultPosition,wxSize(33,30));
|
||||
karaokeSizer->Add(JoinButton,0,wxRIGHT|wxEXPAND,0);
|
||||
SplitButton = new wxBitmapButton(this,Audio_Button_Split,GETIMAGE(kara_split_24),wxDefaultPosition,wxSize(33,30));
|
||||
karaokeSizer->Add(SplitButton,0,wxRIGHT|wxEXPAND,5);
|
||||
karaokeSizer->Add(audioKaraoke,1,wxEXPAND,0);
|
||||
SetKaraokeButtons(); // labels, hints and enabled-ness for join/split buttons set here
|
||||
|
||||
SetKaraokeButtons(); // Decide which one to show or hide.
|
||||
|
||||
// Main sizer
|
||||
MainSizer = new wxBoxSizer(wxVERTICAL);
|
||||
|
@ -218,6 +235,7 @@ wxPanel(parent,-1,wxDefaultPosition,wxDefaultSize,wxTAB_TRAVERSAL|wxBORDER_RAISE
|
|||
MainSizer->Add(karaokeSizer,0,wxEXPAND,0);
|
||||
//MainSizer->SetSizeHints(this);
|
||||
SetSizer(MainSizer);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -283,6 +301,8 @@ BEGIN_EVENT_TABLE(AudioBox,wxPanel)
|
|||
EVT_BUTTON(Audio_Button_Goto, AudioBox::OnGoto)
|
||||
EVT_BUTTON(Audio_Button_Join,AudioBox::OnJoin)
|
||||
EVT_BUTTON(Audio_Button_Split,AudioBox::OnSplit)
|
||||
EVT_BUTTON(Audio_Button_Cancel,AudioBox::OnCancel)
|
||||
EVT_BUTTON(Audio_Button_Accept,AudioBox::OnAccept)
|
||||
EVT_BUTTON(Audio_Button_Leadin,AudioBox::OnLeadIn)
|
||||
EVT_BUTTON(Audio_Button_Leadout,AudioBox::OnLeadOut)
|
||||
|
||||
|
@ -575,6 +595,7 @@ void AudioBox::OnKaraoke(wxCommandEvent &event) {
|
|||
audioKaraoke->enabled = true;
|
||||
audioDisplay->SetDialogue();
|
||||
}
|
||||
|
||||
SetKaraokeButtons();
|
||||
|
||||
wxLogDebug(_T("AudioBox::OnKaraoke: returning"));
|
||||
|
@ -597,48 +618,51 @@ void AudioBox::SetKaraokeButtons() {
|
|||
JoinButton->Enable(join);
|
||||
SplitButton->Enable(split);
|
||||
if (audioKaraoke->splitting) {
|
||||
JoinButton->SetLabel(_("Cancel Split"));
|
||||
JoinButton->SetToolTip(_("Discard all splits and leave split-mode"));
|
||||
SplitButton->SetLabel(_("Accept Split"));
|
||||
SplitButton->SetToolTip(_("Commit splits and leave split-mode"));
|
||||
karaokeSizer->Show(CancelAcceptSizer);
|
||||
karaokeSizer->Hide(JoinSplitSizer);
|
||||
karaokeSizer->Layout();
|
||||
} else {
|
||||
JoinButton->SetLabel(_("Join"));
|
||||
JoinButton->SetToolTip(_("Join selected syllables"));
|
||||
SplitButton->SetLabel(_("Split"));
|
||||
SplitButton->SetToolTip(_("Enter split-mode"));
|
||||
karaokeSizer->Hide(CancelAcceptSizer);
|
||||
karaokeSizer->Show(JoinSplitSizer);
|
||||
karaokeSizer->Layout();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// @brief Join button
|
||||
/// @param event
|
||||
/// @brief Join button in karaoke mode
|
||||
/// @param event wxEvent
|
||||
///
|
||||
void AudioBox::OnJoin(wxCommandEvent &event) {
|
||||
wxLogDebug(_T("AudioBox::OnJoin"));
|
||||
audioDisplay->SetFocus();
|
||||
if (!audioKaraoke->splitting) {
|
||||
audioKaraoke->Join();
|
||||
} else {
|
||||
audioKaraoke->EndSplit(false);
|
||||
}
|
||||
audioKaraoke->Join();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// @brief Split button
|
||||
/// @param event
|
||||
/// @brief Split button in karaoke mode
|
||||
/// @param event wxEvent
|
||||
///
|
||||
void AudioBox::OnSplit(wxCommandEvent &event) {
|
||||
wxLogDebug(_T("AudioBox::OnSplit"));
|
||||
audioDisplay->SetFocus();
|
||||
if (!audioKaraoke->splitting) {
|
||||
audioKaraoke->BeginSplit();
|
||||
} else {
|
||||
audioKaraoke->EndSplit(true);
|
||||
}
|
||||
}
|
||||
|
||||
/// @brief Cancel join/split in karaoke mode.
|
||||
/// @param event wxEvent
|
||||
///
|
||||
void AudioBox::OnCancel(wxCommandEvent &event) {
|
||||
wxLogDebug(_T("AudioBox::OnCancel"));
|
||||
audioDisplay->SetFocus();
|
||||
audioKaraoke->EndSplit(true);
|
||||
}
|
||||
|
||||
/// @brief Accept join/split button in karaoke mode.
|
||||
/// @param event wxEvent
|
||||
///
|
||||
void AudioBox::OnAccept(wxCommandEvent &event) {
|
||||
wxLogDebug(_T("AudioBox::OnAccept"));
|
||||
audioDisplay->SetFocus();
|
||||
audioKaraoke->EndSplit(false);
|
||||
}
|
||||
|
||||
|
||||
/// @brief Goto button
|
||||
|
@ -741,7 +765,3 @@ void FocusEvent::OnSetFocus(wxFocusEvent &event) {
|
|||
wxWindow *previous = event.GetWindow();
|
||||
if (previous) previous->SetFocus();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -106,12 +106,26 @@ private:
|
|||
/// DOCME
|
||||
ToggleBitmap *VerticalLink;
|
||||
|
||||
/// Karaoke box sizer
|
||||
wxSizer *karaokeSizer;
|
||||
|
||||
/// DOCME
|
||||
/// Karaoke mode join syllabel button.
|
||||
wxButton *JoinButton;
|
||||
|
||||
/// Karaoke mode split word button.
|
||||
wxButton *SplitButton;
|
||||
|
||||
/// DOCME
|
||||
wxButton *JoinButton;
|
||||
/// Karaoke mode split/join cancel button.
|
||||
wxButton *CancelButton;
|
||||
|
||||
/// Karaoke mode split/join accept button.
|
||||
wxButton *AcceptButton;
|
||||
|
||||
/// Join/Split button sizer.
|
||||
wxSizer *JoinSplitSizer;
|
||||
|
||||
/// Cancel/Accept sizer.
|
||||
wxSizer *CancelAcceptSizer;
|
||||
|
||||
/// DOCME
|
||||
ToggleBitmap *AutoScroll;
|
||||
|
@ -149,6 +163,8 @@ private:
|
|||
void OnKaraoke(wxCommandEvent &event);
|
||||
void OnJoin(wxCommandEvent &event);
|
||||
void OnSplit(wxCommandEvent &event);
|
||||
void OnCancel(wxCommandEvent &event);
|
||||
void OnAccept(wxCommandEvent &event);
|
||||
void OnGoto(wxCommandEvent &event);
|
||||
void OnLeadIn(wxCommandEvent &event);
|
||||
void OnLeadOut(wxCommandEvent &event);
|
||||
|
@ -228,7 +244,6 @@ enum {
|
|||
/// DOCME
|
||||
Audio_Vertical_Link,
|
||||
|
||||
|
||||
/// DOCME
|
||||
Audio_Button_Play,
|
||||
|
||||
|
@ -268,11 +283,10 @@ enum {
|
|||
/// DOCME
|
||||
Audio_Button_Goto,
|
||||
|
||||
/// DOCME
|
||||
Audio_Button_Join,
|
||||
|
||||
/// DOCME
|
||||
Audio_Button_Split,
|
||||
Audio_Button_Join, /// Karaoke -> Enter join mode.
|
||||
Audio_Button_Split, /// Karaoke -> Enter split mode.
|
||||
Audio_Button_Accept, /// Karaoke -> Split/Join mode -> Accept.
|
||||
Audio_Button_Cancel, /// KAraoke -> Split/Join mode -> Cancel.
|
||||
|
||||
/// DOCME
|
||||
Audio_Button_Leadin,
|
||||
|
|
Loading…
Reference in New Issue