add bins/folders, fix listbox bad wdw ref, hide vicons fix, remove sort by time
[goodguy/history.git] / cinelerra-5.1 / cinelerra / mwindowedit.C
index 53cb4c338e00a42faf6309ff531b57b76dc8ed9f..65a2d916c97fdb0dc523a433a6f4917a484a0bb2 100644 (file)
@@ -1881,6 +1881,7 @@ void MWindow::redo_entry(BC_WindowBase *calling_window_gui)
        update_plugin_guis();
 
        gui->update(1, 2, 1, 1, 1, 1, 1);
+       gui->update_proxy_toggle();
        gui->unlock_window();
        cwindow->update(1, 1, 1, 1, 1);
        cwindow->gui->unlock_window();
@@ -1893,9 +1894,6 @@ void MWindow::redo_entry(BC_WindowBase *calling_window_gui)
                }
        }
 
-       if( calling_window_gui != gui )
-               gui->unlock_window();
-
        awindow->gui->async_update_assets();
 
        cwindow->refresh_frame(CHANGE_ALL);
@@ -2076,6 +2074,7 @@ void MWindow::save_clip(EDL *new_edl, const char *txt)
                "clip_%02d%02d%02d-%02d%02d%02d.png",
                dtm.tm_year+1900, dtm.tm_mon+1, dtm.tm_mday,
                dtm.tm_hour, dtm.tm_min, dtm.tm_sec);
+       new_edl->awindow_folder = AW_CLIP_FOLDER;
        edl->update_assets(new_edl);
        int cur_x, cur_y;
        gui->get_abs_cursor(cur_x, cur_y, 0);
@@ -2209,6 +2208,7 @@ void MWindow::undo_entry(BC_WindowBase *calling_window_gui)
        update_plugin_guis();
 
        gui->update(1, 2, 1, 1, 1, 1, 1);
+       gui->update_proxy_toggle();
        gui->unlock_window();
        cwindow->update(1, 1, 1, 1, 1);
        cwindow->gui->unlock_window();
@@ -2221,9 +2221,6 @@ void MWindow::undo_entry(BC_WindowBase *calling_window_gui)
                }
        }
 
-       if( calling_window_gui != gui )
-               gui->unlock_window();
-
        awindow->gui->async_update_assets();
 
        cwindow->refresh_frame(CHANGE_ALL);
@@ -2234,18 +2231,30 @@ void MWindow::undo_entry(BC_WindowBase *calling_window_gui)
 void MWindow::new_folder(const char *new_folder)
 {
        undo->update_undo_before();
-       edl->new_folder(new_folder);
+       if( edl->new_folder(new_folder) ) {
+               MainError::show_error(_("create new folder failed"));
+       }
        undo->update_undo_after(_("new folder"), LOAD_ALL);
        awindow->gui->async_update_assets();
 }
 
 void MWindow::delete_folder(char *folder)
 {
-//     undo->update_undo_after(_("delete folder"), LOAD_ALL);
+       undo->update_undo_before();
+       if( edl->delete_folder(folder) < 0 ) {
+               MainError::show_error(_("delete folder failed"));
+       }
+       undo->update_undo_after(_("del folder"), LOAD_ALL);
+       awindow->gui->async_update_assets();
 }
 
 void MWindow::select_point(double position)
 {
+       gui->unlock_window();
+       gui->stop_drawing();
+       cwindow->stop_playback(0);
+       gui->lock_window("MWindow::select_point");
+
        edl->local_session->set_selectionstart(position);
        edl->local_session->set_selectionend(position);