X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmainsession.C;h=251d82b706ffb81947f659f0cd82c666eb57df98;hb=2f7295c1067fb2935ddc215831431c2959782ee3;hp=b9c18df6d360d2d9f45eb7f0c5c118421ca7671e;hpb=a4de4732339bf38b5b225c533be1bdf60748f04a;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/mainsession.C b/cinelerra-5.1/cinelerra/mainsession.C index b9c18df6..251d82b7 100644 --- a/cinelerra-5.1/cinelerra/mainsession.C +++ b/cinelerra-5.1/cinelerra/mainsession.C @@ -49,6 +49,7 @@ MainSession::MainSession(MWindow *mwindow) drag_assets = new ArrayList; drag_auto_gang = new ArrayList; drag_clips = new ArrayList; + drag_proxy = new ArrayList; drag_edits = new ArrayList; drag_edit = 0; clip_number = 1; @@ -60,6 +61,8 @@ MainSession::MainSession(MWindow *mwindow) cwindow_fullscreen = 0; rwindow_fullscreen = 0; vwindow_fullscreen = 0; + zwindow_fullscreen = 0; + selected_zwindow = -1; actual_frame_rate = 0; window_config = 0; a_x11_host[0] = 0; @@ -82,6 +85,7 @@ MainSession::MainSession(MWindow *mwindow) cwindow_x = cwindow_y = cwindow_w = cwindow_h = 0; ctool_x = ctool_y = 0; awindow_x = awindow_y = awindow_w = awindow_h = 0; + bwindow_w = bwindow_h = 0; rmonitor_x = rmonitor_y = rmonitor_w = rmonitor_h = 0; rwindow_x = rwindow_y = rwindow_w = rwindow_h = 0; gwindow_x = gwindow_y = 0; @@ -111,10 +115,12 @@ MainSession::MainSession(MWindow *mwindow) MainSession::~MainSession() { + clear_drag_proxy(); delete drag_pluginservers; delete drag_assets; delete drag_auto_gang; delete drag_clips; + delete drag_proxy; delete drag_edits; } @@ -139,6 +145,13 @@ void MainSession::boundaries() CLAMP(cwindow_controls, 0, 1); } +void MainSession::clear_drag_proxy() +{ + for( int i=drag_proxy->size(); --i>=0; ) + drag_proxy->get(i)->remove_user(); + drag_proxy->remove_all(); +} + void MainSession::save_x11_host(int play_config, const char *x11_host) { strcpy(!play_config ? a_x11_host : b_x11_host, x11_host); @@ -250,6 +263,9 @@ void MainSession::default_window_positions(int window_config) awindow_w = root_x + root_w - awindow_x - border_left - border_right; awindow_h = mwindow_h; + bwindow_w = 520; + bwindow_h = 340; + ewindow_w = 640; ewindow_h = 240; @@ -385,7 +401,11 @@ int MainSession::load_defaults(BC_Hash *defaults) //printf("MainSession::load_defaults 1\n"); // Other windows - afolders_w = defaults->get("ABINS_W", 140); + afolders_w = defaults->get("ABINS_W", 200); + + bwindow_w = defaults->get("BWINDOW_W", bwindow_w); + bwindow_h = defaults->get("BWINDOW_H", bwindow_h); + rwindow_x = defaults->get("RWINDOW_X", rwindow_x); rwindow_y = defaults->get("RWINDOW_Y", rwindow_y); rwindow_w = defaults->get("RWINDOW_W", rwindow_w); @@ -477,6 +497,9 @@ int MainSession::save_defaults(BC_Hash *defaults) defaults->update("AWINDOW_W", awindow_w); defaults->update("AWINDOW_H", awindow_h); + defaults->update("BWINDOW_W", bwindow_w); + defaults->update("BWINDOW_H", bwindow_h); + defaults->update("EWINDOW_W", ewindow_w); defaults->update("EWINDOW_H", ewindow_h);