Some failed attempts to fix detached video window stuff :3

Originally committed to SVN as r1440.
This commit is contained in:
Rodrigo Braz Monteiro 2007-07-27 04:05:18 +00:00
parent 14b425d0a3
commit 6110808dad
4 changed files with 47 additions and 25 deletions

View file

@ -47,7 +47,8 @@
/////////////// ///////////////
// Constructor // Constructor
DialogDetachedVideo::DialogDetachedVideo(FrameMain *par) DialogDetachedVideo::DialogDetachedVideo(FrameMain *par)
: wxFrame(par,-1,_("Detached Video")/*,wxDefaultPosition,wxSize(400,300),wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxMAXIMIZE_BOX | wxMINIMIZE_BOX*/) //: wxFrame(par,-1,_("Detached Video"))
: wxDialog(par,-1,_("Detached Video"),wxDefaultPosition,wxSize(400,300),wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxMAXIMIZE_BOX | wxMINIMIZE_BOX | wxWANTS_CHARS)
{ {
// Set parent // Set parent
parent = par; parent = par;
@ -76,3 +77,19 @@ DialogDetachedVideo::~DialogDetachedVideo() {
parent->detachedVideo = NULL; parent->detachedVideo = NULL;
parent->SetDisplayMode(1,-1); parent->SetDisplayMode(1,-1);
} }
///////////////
// Event table
BEGIN_EVENT_TABLE(DialogDetachedVideo,wxDialog)
EVT_KEY_DOWN(DialogDetachedVideo::OnKey)
END_EVENT_TABLE()
////////////
// Key down
void DialogDetachedVideo::OnKey(wxKeyEvent &event) {
// Send to parent... except that it doesn't work
event.Skip();
GetParent()->AddPendingEvent(event);
}

View file

@ -45,12 +45,16 @@ class FrameMain;
////////////////////////////// //////////////////////////////
// Detached video frame class // Detached video frame class
class DialogDetachedVideo : public wxFrame { class DialogDetachedVideo : public wxDialog {
private: private:
VideoBox *videoBox; VideoBox *videoBox;
FrameMain *parent; FrameMain *parent;
void OnKey(wxKeyEvent &event);
public: public:
DialogDetachedVideo(FrameMain *parent); DialogDetachedVideo(FrameMain *parent);
~DialogDetachedVideo(); ~DialogDetachedVideo();
DECLARE_EVENT_TABLE()
}; };

View file

@ -1218,38 +1218,38 @@ void FrameMain::StatusTimeout(wxString text,int ms) {
/////////////////////////// ///////////////////////////
// Setup accelerator table // Setup accelerator table
void FrameMain::SetAccelerators() { void FrameMain::SetAccelerators() {
wxAcceleratorEntry entry[20]; std::vector<wxAcceleratorEntry> entry;
int i = 0; entry.reserve(20);
// Standard // Standard
entry[i++] = Hotkeys.GetAccelerator(_T("Video global prev frame"),Video_Prev_Frame); entry.push_back(Hotkeys.GetAccelerator(_T("Video global prev frame"),Video_Prev_Frame));
entry[i++] = Hotkeys.GetAccelerator(_T("Video global next frame"),Video_Next_Frame); entry.push_back(Hotkeys.GetAccelerator(_T("Video global next frame"),Video_Next_Frame));
entry[i++] = Hotkeys.GetAccelerator(_T("Video global focus seek"),Video_Focus_Seek); entry.push_back(Hotkeys.GetAccelerator(_T("Video global focus seek"),Video_Focus_Seek));
entry[i++] = Hotkeys.GetAccelerator(_T("Grid global prev line"),Grid_Prev_Line); entry.push_back(Hotkeys.GetAccelerator(_T("Grid global prev line"),Grid_Prev_Line));
entry[i++] = Hotkeys.GetAccelerator(_T("Grid global next line"),Grid_Next_Line); entry.push_back(Hotkeys.GetAccelerator(_T("Grid global next line"),Grid_Next_Line));
entry[i++] = Hotkeys.GetAccelerator(_T("Save Subtitles Alt"),Menu_File_Save_Subtitles); entry.push_back(Hotkeys.GetAccelerator(_T("Save Subtitles Alt"),Menu_File_Save_Subtitles));
entry[i++] = Hotkeys.GetAccelerator(_T("Video global zoom in"),Menu_Video_Zoom_In); entry.push_back(Hotkeys.GetAccelerator(_T("Video global zoom in"),Menu_Video_Zoom_In));
entry[i++] = Hotkeys.GetAccelerator(_T("Video global zoom out"),Menu_Video_Zoom_Out); entry.push_back(Hotkeys.GetAccelerator(_T("Video global zoom out"),Menu_Video_Zoom_Out));
entry[i++] = Hotkeys.GetAccelerator(_T("Video global play"),Video_Frame_Play); entry.push_back(Hotkeys.GetAccelerator(_T("Video global play"),Video_Frame_Play));
entry[i++] = Hotkeys.GetAccelerator(_T("Edit box commit"),Edit_Box_Commit); entry.push_back(Hotkeys.GetAccelerator(_T("Edit box commit"),Edit_Box_Commit));
// Medusa // Medusa
bool medusaPlay = Options.AsBool(_T("Audio Medusa Timing Hotkeys")); bool medusaPlay = Options.AsBool(_T("Audio Medusa Timing Hotkeys"));
if (medusaPlay && audioBox->audioDisplay->loaded) { if (medusaPlay && audioBox->audioDisplay->loaded) {
entry[i++] = Hotkeys.GetAccelerator(_T("Audio Medusa Play"),Medusa_Play); entry.push_back(Hotkeys.GetAccelerator(_T("Audio Medusa Play"),Medusa_Play));
entry[i++] = Hotkeys.GetAccelerator(_T("Audio Medusa Stop"),Medusa_Stop); entry.push_back(Hotkeys.GetAccelerator(_T("Audio Medusa Stop"),Medusa_Stop));
entry[i++] = Hotkeys.GetAccelerator(_T("Audio Medusa Play Before"),Medusa_Play_Before); entry.push_back(Hotkeys.GetAccelerator(_T("Audio Medusa Play Before"),Medusa_Play_Before));
entry[i++] = Hotkeys.GetAccelerator(_T("Audio Medusa Play After"),Medusa_Play_After); entry.push_back(Hotkeys.GetAccelerator(_T("Audio Medusa Play After"),Medusa_Play_After));
entry[i++] = Hotkeys.GetAccelerator(_T("Audio Medusa Next"),Medusa_Next); entry.push_back(Hotkeys.GetAccelerator(_T("Audio Medusa Next"),Medusa_Next));
entry[i++] = Hotkeys.GetAccelerator(_T("Audio Medusa Previous"),Medusa_Prev); entry.push_back(Hotkeys.GetAccelerator(_T("Audio Medusa Previous"),Medusa_Prev));
entry[i++] = Hotkeys.GetAccelerator(_T("Audio Medusa Shift Start Forward"),Medusa_Shift_Start_Forward); entry.push_back(Hotkeys.GetAccelerator(_T("Audio Medusa Shift Start Forward"),Medusa_Shift_Start_Forward));
entry[i++] = Hotkeys.GetAccelerator(_T("Audio Medusa Shift Start Back"),Medusa_Shift_Start_Back); entry.push_back(Hotkeys.GetAccelerator(_T("Audio Medusa Shift Start Back"),Medusa_Shift_Start_Back));
entry[i++] = Hotkeys.GetAccelerator(_T("Audio Medusa Shift End Forward"),Medusa_Shift_End_Forward); entry.push_back(Hotkeys.GetAccelerator(_T("Audio Medusa Shift End Forward"),Medusa_Shift_End_Forward));
entry[i++] = Hotkeys.GetAccelerator(_T("Audio Medusa Shift End Back"),Medusa_Shift_End_Back); entry.push_back(Hotkeys.GetAccelerator(_T("Audio Medusa Shift End Back"),Medusa_Shift_End_Back));
} }
// Set table // Set table
wxAcceleratorTable table(i,entry); wxAcceleratorTable table(entry.size(),&entry[0]);
SetAcceleratorTable(table); SetAcceleratorTable(table);
} }

View file

@ -487,6 +487,7 @@ void VideoDisplay::OnKey(wxKeyEvent &event) {
if (event.GetKeyCode() == 'G') SetVisualMode(4); if (event.GetKeyCode() == 'G') SetVisualMode(4);
if (event.GetKeyCode() == 'H') SetVisualMode(5); if (event.GetKeyCode() == 'H') SetVisualMode(5);
if (event.GetKeyCode() == 'J') SetVisualMode(6); if (event.GetKeyCode() == 'J') SetVisualMode(6);
event.Skip();
} }