X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fcinelerra%2Fmwindowgui.C;h=0033b268950d11eec7288d1a679db956bcde672a;hb=32a609a6bd1181993569399ab51f314dc7cb4fba;hp=e295c1508a6e1827518a3db5ef3dbf071285ceb2;hpb=5d8a7826b0f80f00622e46baf75453995a76e343;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/mwindowgui.C b/cinelerra-5.1/cinelerra/mwindowgui.C index e295c150..0033b268 100644 --- a/cinelerra-5.1/cinelerra/mwindowgui.C +++ b/cinelerra-5.1/cinelerra/mwindowgui.C @@ -59,6 +59,7 @@ #include "record.h" #include "recordgui.h" #include "renderengine.h" +#include "remotecontrol.h" #include "resourcethread.h" #include "samplescroll.h" #include "shbtnprefs.h" @@ -72,6 +73,8 @@ #include "transitionpopup.h" #include "vwindowgui.h" #include "vwindow.h" +#include "wintv.h" +#include "x10tv.h" #include "zoombar.h" #define PANE_DRAG_MARGIN MAX(mwindow->theme->pane_w, mwindow->theme->pane_h) @@ -163,10 +166,26 @@ void MWindowGUI::create_objects() if(debug) printf("MWindowGUI::create_objects %d\n", __LINE__); set_icon(mwindow->theme->get_image("mwindow_icon")); remote_control = new RemoteControl(this); - cwindow_remote_handler = new CWindowRemoteHandler(remote_control); - record_remote_handler = new RecordRemoteHandler(remote_control); + cwindow_remote_handler = 0; + record_remote_handler = 0; +#ifdef HAVE_X10TV +// should be first, use if plugged + if( !cwindow_remote_handler && mwindow->x10tv ) { + cwindow_remote_handler = (RemoteHandler*) + new X10TVCWindowHandler(mwindow->x10tv, remote_control); + record_remote_handler = (RemoteHandler*) + new X10TVRecordHandler(mwindow->x10tv, remote_control); + } +#endif +#ifdef HAVE_WINTV + if( !cwindow_remote_handler && mwindow->wintv ) { + cwindow_remote_handler = (RemoteHandler*) + new WinTVCWindowHandler(mwindow->wintv, remote_control); + record_remote_handler = (RemoteHandler*) + new WinTVRecordHandler(mwindow->wintv, remote_control); + } +#endif mwindow->reset_android_remote(); - if(debug) printf("MWindowGUI::create_objects %d\n", __LINE__); int x1 = get_w() - MainShBtns::calculate_w(-1, 0, -1) - xS(5); @@ -1300,6 +1319,19 @@ void MWindowGUI::use_android_remote(int on) if( android_control ) return; android_control = new AndroidControl(this); } +int MWindowGUI::keyev_grab_remote() +{ + if( cwindow_remote_handler && cwindow_remote_handler->is_keytv() && + record_remote_handler && record_remote_handler->is_keytv() ) + return 0; + delete cwindow_remote_handler; + delete record_remote_handler; + cwindow_remote_handler = (RemoteHandler*) + new CWindowKeyEvHandler(mwindow->gui->remote_control); + record_remote_handler = (RemoteHandler*) + new RecordKeyEvHandler(mwindow->gui->remote_control); + return 1; +} int MWindowGUI::close_event() { @@ -2306,11 +2338,12 @@ StackButton::StackButton(MWindow *mwindow, int x, int y) : BC_GenericButton(x, y, mwindow->theme->stack_button_w, "0") { this->mwindow = mwindow; - set_tooltip(_("Return to previous EDL")); + set_tooltip(_("Close EDL")); } int StackButton::handle_event() { + mwindow->save_backup(); mwindow->stack_pop(); return 1; } @@ -2322,11 +2355,6 @@ void StackButton::update() sprintf(text, "%d", i); set_text(text); draw_face(); - int hidden = is_hidden(); - if( !i && !hidden ) - hide_window(); - else if( hidden ) - show_window(); }