studio_init_cb.task(_("Done."));
studio_init_cb.amount_complete(10000,10000);
+ // To avoid problems with some window managers and gtk >= 2.18
+ // we should show dock dialogs after the settings load.
+ // If dock dialogs are shown before the settings are loaded,
+ // the windows manager can act over it.
+ // See discussions here:
+ // * http://synfig.org/forums/viewtopic.php?f=1&t=1131&st=0&sk=t&sd=a&start=30
+ // * http://synfig.org/forums/viewtopic.php?f=15&t=1062
dock_manager->show_all_dock_dialogs();
+
toolbox->present();
}
catch(String x)
void
App::reset_initial_window_configuration()
{
+ Glib::RefPtr<Gdk::Display> display(Gdk::Display::get_default());
+ Glib::RefPtr<const Gdk::Screen> screen(display->get_default_screen());
+ Gdk::Rectangle rect;
+ // A proper way to obtain the primary monitor is to use the
+ // Gdk::Screen::get_primary_monitor () const member. But as it
+ // was introduced in gtkmm 2.20 I assume that the monitor 0 is the
+ // primary one.
+ screen->get_monitor_geometry(0,rect);
+#define hpanel_width 79.0f
+#define hpanel_height 25.0f
+#define vpanel_width 20.0f
+#define vpanel_height 100.0f
+#define vdock 20.0f
+#define hdock 20.0f
+
+/* percentages referred to width or height of the screen
+ *---------------------------------------------------------------------*
+ * t | |
+ * o | |
+ * o | |vdock%
+ * l | |
+ * b | |------------
+ * o | |
+ * x | |vdock%
+ * -------- |
+ * |
+ * |------------
+ * |
+ * |vdock%
+ * |
+ * |
+ *-----hdock%----------------------------------------------|------------
+ * | |
+ * | |vdock%
+ * | |
+ * | |
+ * --------------------------------------------------------------------*
+*/
+// Vertical Panel
+ int v_xpos=rect.get_x() + rect.get_width()*(1.0-vpanel_width/100.0);
+ int v_xsize=rect.get_width()*vpanel_width/100.0;
+ int v_ypos=rect.get_y();
+ int v_ysize=rect.get_height()*vpanel_height/100.0;
+ std::string v_pos(strprintf("%d %d", v_xpos, v_ypos));
+ std::string v_size(strprintf("%d %d", v_xsize, v_ysize));
+// Horizontal Panel
+ int h_xpos=rect.get_x();
+ int h_xsize=rect.get_width()*hpanel_width/100.0;
+ int h_ypos=rect.get_y()+ rect.get_height()*(1.0-hpanel_height/100.0);;
+ int h_ysize=rect.get_height()*hpanel_height/100.0;
+ std::string h_pos(strprintf("%d %d", h_xpos, h_ypos));
+ std::string h_size(strprintf("%d %d", h_xsize, h_ysize));
+ int v_dock1 = rect.get_height()*vdock*0.8/100.0;
+ int v_dock2 = rect.get_height()*vdock*0.6/100.0;
+ int v_dock3 = rect.get_height()*vdock*1.1/100.0;
+ int h_dock = rect.get_width()*hdock/100.0;
+//Contents size
+ std::string v_contents(strprintf("%d %d %d", v_dock1, v_dock2, v_dock3));
+ std::string h_contents(strprintf("%d", h_dock));
+// Tool Box position
+ std::string tbox_pos(strprintf("%d %d", rect.get_x(), rect.get_y()));
+/*
+ synfig::info("tool box pos: %s", tbox_pos.c_str());
+ synfig::info("v_contents sizes: %s", v_contents.c_str());
+ synfig::info("v_pos: %s", v_pos.c_str());
+ synfig::info("v_sizes: %s", v_size.c_str());
+ synfig::info("h_contents sizes: %s", h_contents.c_str());
+ synfig::info("h_pos: %s", h_pos.c_str());
+ synfig::info("h_sizes: %s", h_size.c_str());
+*/
synfigapp::Main::settings().set_value("dock.dialog.1.comp_selector","1");
synfigapp::Main::settings().set_value("dock.dialog.1.contents","navigator - info pal_edit pal_browse - tool_options history canvases - layers groups");
- synfigapp::Main::settings().set_value("dock.dialog.1.contents_size","225 167 207");
- synfigapp::Main::settings().set_value("dock.dialog.1.pos","1057 32");
- synfigapp::Main::settings().set_value("dock.dialog.1.size","208 1174");
+ synfigapp::Main::settings().set_value("dock.dialog.1.contents_size",v_contents);
+ synfigapp::Main::settings().set_value("dock.dialog.1.size",v_size);
+ synfigapp::Main::settings().set_value("dock.dialog.1.pos",v_pos);
synfigapp::Main::settings().set_value("dock.dialog.2.comp_selector","0");
synfigapp::Main::settings().set_value("dock.dialog.2.contents","params children keyframes | timetrack curves meta_data");
- synfigapp::Main::settings().set_value("dock.dialog.2.contents_size","263");
- synfigapp::Main::settings().set_value("dock.dialog.2.pos","0 973");
- synfigapp::Main::settings().set_value("dock.dialog.2.size","1045 235");
+ synfigapp::Main::settings().set_value("dock.dialog.2.contents_size",h_contents);
+ synfigapp::Main::settings().set_value("dock.dialog.2.size",h_size);
+ synfigapp::Main::settings().set_value("dock.dialog.2.pos",h_pos);
+ synfigapp::Main::settings().set_value("window.toolbox.pos",tbox_pos);
+
+ dock_manager->show_all_dock_dialogs();
+}
+
+void
+App::reset_initial_preferences()
+{
synfigapp::Main::settings().set_value("pref.distance_system","pt");
synfigapp::Main::settings().set_value("pref.use_colorspace_gamma","1");
#ifdef SINGLE_THREADED
synfigapp::Main::settings().set_value("pref.predefined_size",DEFAULT_PREDEFINED_SIZE);
synfigapp::Main::settings().set_value("pref.preferred_fps","24.0");
synfigapp::Main::settings().set_value("pref.predefined_fps",DEFAULT_PREDEFINED_FPS);
- synfigapp::Main::settings().set_value("window.toolbox.pos","4 4");
+
}
bool
{
file_type_enum = manage(new Widget_Enum());
file_type_enum->set_param_desc(ParamDesc().set_hint("enum")
- .add_enum_value(synfig::RELEASE_VERSION_0_62_00, "0.62.00", strprintf("0.62.00 (%s)", _("current")))
+ .add_enum_value(synfig::RELEASE_VERSION_0_62_01, "0.62.01", strprintf("0.62.01 (%s)", _("current")))
+ .add_enum_value(synfig::RELEASE_VERSION_0_62_00, "0.62.00", "0.61.00")
.add_enum_value(synfig::RELEASE_VERSION_0_61_09, "0.61.09", "0.61.09")
.add_enum_value(synfig::RELEASE_VERSION_0_61_08, "0.61.08", "0.61.08")
.add_enum_value(synfig::RELEASE_VERSION_0_61_07, "0.61.07", "0.61.07")