break;
}
if( strcmp(cin_version, CINELERRA_VERSION) &&
+ strcmp(cin_version, "Unify") &&
strcmp(cin_version, "5.1") ) {
char string[BCTEXTLEN];
snprintf(string, sizeof(string),
gui->mainmenu->show_lwindow->set_checked(1);
}
+void MWindow::restore_windows()
+{
+ if( !session->show_vwindow ) {
+ for( int i=0, n=vwindows.size(); i<n; ++i ) {
+ VWindow *vwindow = vwindows[i];
+ if( !vwindow || !vwindow->is_running() ) continue;
+ vwindow->gui->lock_window("MWindow::restore_windows");
+ vwindow->gui->close(1);
+ vwindow->gui->unlock_window();
+ }
+ }
+ else
+ show_vwindow();
+
+ if( !session->show_awindow && !awindow->gui->is_hidden() ) {
+ awindow->gui->lock_window("MWindow::restore_windows");
+ awindow->gui->close_event();
+ awindow->gui->unlock_window();
+ }
+ else if( session->show_awindow && awindow->gui->is_hidden() )
+ show_awindow();
+
+ if( !session->show_cwindow && !cwindow->gui->is_hidden() ) {
+ cwindow->gui->lock_window("MWindow::restore_windows");
+ cwindow->hide_window();
+ cwindow->gui->unlock_window();
+ }
+ else if( session->show_cwindow && cwindow->gui->is_hidden() )
+ cwindow->show_window();
+
+ if( !session->show_gwindow && !gwindow->gui->is_hidden() ) {
+ gwindow->gui->lock_window("MWindow::restore_windows");
+ gwindow->gui->close_event();
+ gwindow->gui->unlock_window();
+ }
+ else if( session->show_gwindow && gwindow->gui->is_hidden() )
+ show_gwindow();
+
+ if( !session->show_lwindow && !lwindow->gui->is_hidden() ) {
+ lwindow->gui->lock_window("MWindow::restore_windows");
+ lwindow->gui->close_event();
+ lwindow->gui->unlock_window();
+ }
+ else if( session->show_lwindow && lwindow->gui->is_hidden() )
+ show_lwindow();
+
+ gui->focus();
+}
+
+void MWindow::save_layout(int no)
+{
+ char layout_path[BCTEXTLEN];
+ snprintf(layout_path, sizeof(layout_path), "%s/" LAYOUT_FILE,
+ File::get_config_path(), no);
+ session->save_file(layout_path);
+}
+
+void MWindow::load_layout(int no)
+{
+ char layout_path[BCTEXTLEN];
+ snprintf(layout_path, sizeof(layout_path), "%s/" LAYOUT_FILE,
+ File::get_config_path(), no);
+ session->load_file(layout_path);
+ restore_windows();
+ gui->default_positions();
+ save_defaults();
+}
+
int MWindow::tile_windows(int window_config)
{
int need_reload = 0;