rework histogram_bezier, init wm icon set_icon(gg), update de.po+msg/txt
[goodguy/history.git] / cinelerra-5.1 / cinelerra / mwindow.C
index d680f50846b71e0363a6d1c99bf45cc62527687e..c1cd79f6119ff4e027a804bc7d828b2ae72d9d80 100644 (file)
@@ -2006,7 +2006,8 @@ if(debug) printf("MWindow::load_filenames %d\n", __LINE__);
                                result = 1;
                                break;
                        }
-                       if( strcmp(cin_version, CINELERRA_VERSION) ) {
+                       if( strcmp(cin_version, CINELERRA_VERSION) &&
+                           strcmp(cin_version, "5.1") ) {
                                char string[BCTEXTLEN];
                                snprintf(string, sizeof(string),
                                         _("Warning: XML from cinelerra version %s\n"
@@ -2880,12 +2881,6 @@ void MWindow::toggle_loop_playback()
        sync_parameters(CHANGE_PARAMS);
 }
 
-//void MWindow::set_titles(int value)
-//{
-//     edl->session->show_titles = value;
-//     trackmovement(edl->local_session->track_start);
-//}
-
 void MWindow::set_screens(int value)
 {
        screens = value;
@@ -2955,6 +2950,19 @@ void MWindow::toggle_editing_mode()
                set_editing_mode(EDITING_ARROW, 0, 1);
 }
 
+void MWindow::toggle_camera_xyz()
+{
+       gwindow->gui->lock_window("MWindow::toggle_camera_xyz");
+       gwindow->gui->toggle_camera_xyz();
+       gwindow->gui->unlock_window();
+}
+
+void MWindow::toggle_projector_xyz()
+{
+       gwindow->gui->lock_window("MWindow::toggle_projector_xyz");
+       gwindow->gui->toggle_projector_xyz();
+       gwindow->gui->unlock_window();
+}
 
 void MWindow::set_labels_follow_edits(int value)
 {
@@ -3462,12 +3470,14 @@ void MWindow::update_project(int load_mode)
 
        if(debug) PRINT_TRACE
        edl->tracks->update_y_pixels(theme);
+       session->update_clip_number();
 
        if(debug) PRINT_TRACE
 
-       if(load_mode == LOADMODE_REPLACE ||
-               load_mode == LOADMODE_REPLACE_CONCATENATE)
-       {
+       if( load_mode == LOADMODE_REPLACE ||
+           load_mode == LOADMODE_REPLACE_CONCATENATE ) {
+               delete gui->keyvalue_popup;
+               gui->keyvalue_popup = 0;
                gui->load_panes();
        }
 
@@ -3516,16 +3526,7 @@ void MWindow::update_project(int load_mode)
                        zwindow->start();
                }
        }
-       else {
-               if(vwindows.size()) {
-                       VWindow *vwindow = vwindows[DEFAULT_VWINDOW];
-                       if( vwindow->is_running() ) {
-                               vwindow->gui->lock_window("MWindow::update_project");
-                               vwindow->update(1);
-                               vwindow->gui->unlock_window();
-                       }
-               }
-       }
+       update_vwindow();
 
        if(debug) PRINT_TRACE
        cwindow->gui->lock_window("MWindow::update_project 2");
@@ -3544,6 +3545,18 @@ void MWindow::update_project(int load_mode)
        if(debug) PRINT_TRACE
 }
 
+void MWindow::update_vwindow()
+{
+       for( int i=0; i<vwindows.size(); ++i ) {
+               VWindow *vwindow = vwindows[i];
+               if( vwindow->is_running() ) {
+                       vwindow->gui->lock_window("MWindow::update_vwindow");
+                       vwindow->update(1);
+                       vwindow->gui->unlock_window();
+               }
+       }
+}
+
 void MWindow::remove_indexfile(Indexable *indexable)
 {
        if( !indexable->is_asset ) return;
@@ -3631,6 +3644,8 @@ void MWindow::load_backup()
 
 void MWindow::save_undo_data()
 {
+       undo->update_undo_before();
+       undo->update_undo_after(_("perpetual session"), LOAD_ALL);
        char perpetual_path[BCTEXTLEN];
        snprintf(perpetual_path, sizeof(perpetual_path), "%s/%s",
                File::get_config_path(), PERPETUAL_FILE);