X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Fsrc%2Fgtkmm%2Fapp.cpp;h=d2d34430444ba2457fb40cfbdcb2c320783825fa;hb=da1bd2a89e645cd52c373b82dc49ce1b92a2b721;hp=47776c67c44a7bd070f2c96a98c4a88be4d4f00d;hpb=cd0e4bc37c4f10da91b8993bdfb02cc677e2f7e0;p=synfig.git diff --git a/synfig-studio/src/gtkmm/app.cpp b/synfig-studio/src/gtkmm/app.cpp index 47776c6..d2d3443 100644 --- a/synfig-studio/src/gtkmm/app.cpp +++ b/synfig-studio/src/gtkmm/app.cpp @@ -9,6 +9,7 @@ ** Copyright (c) 2007, 2008 Chris Moore ** Copyright (c) 2008 Gerald Young ** Copyright (c) 2008 Carlos López +** Copyright (c) 2009 Nikita Kitaev ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -1098,8 +1099,8 @@ init_ui_manager() ACCEL("4", "/canvasview/mask-radius-ducks" ); ACCEL("5", "/canvasview/mask-width-ducks" ); ACCEL("6", "/canvasview/mask-angle-ducks" ); - ACCEL2(Gtk::AccelKey(GDK_Page_Up,Gdk::SHIFT_MASK, "/action_group_layer_ops/action-LayerRaise" )); - ACCEL2(Gtk::AccelKey(GDK_Page_Down,Gdk::SHIFT_MASK, "/action_group_layer_ops/action-LayerLower" )); + ACCEL2(Gtk::AccelKey(GDK_Page_Up,Gdk::SHIFT_MASK, "/action_group_layer_action_manager/action-LayerRaise" )); + ACCEL2(Gtk::AccelKey(GDK_Page_Down,Gdk::SHIFT_MASK, "/action_group_layer_action_manager/action-LayerLower" )); ACCEL("1", "/canvasview/quality-01" ); ACCEL("2", "/canvasview/quality-02" ); ACCEL("3", "/canvasview/quality-03" ); @@ -1181,7 +1182,7 @@ App::App(int *argc, char ***argv): "different version of libsynfig than what is currently\n" "installed. Synfig Studio will now abort. Try downloading\n" "the latest version from the Synfig website at\n" - "http://synfig.org/Download" + "http://synfig.org/en/current-release" ); throw 40; } @@ -1292,30 +1293,31 @@ App::App(int *argc, char ***argv): studio_init_cb.task(_("Init Tools...")); - /* row 1 */ + /* editing tools */ state_manager->add_state(&state_normal); state_manager->add_state(&state_smooth_move); state_manager->add_state(&state_scale); state_manager->add_state(&state_rotate); studio_init_cb.task(_("Init ModMirror...")); module_list_.push_back(new ModMirror()); module_list_.back()->start(); - /* row 2 */ + /* geometry */ state_manager->add_state(&state_circle); state_manager->add_state(&state_rectangle); state_manager->add_state(&state_star); state_manager->add_state(&state_gradient); if(!getenv("SYNFIG_DISABLE_POLYGON")) state_manager->add_state(&state_polygon); // Enabled - for working without ducks - - /* row 3 */ + + /* bline tools */ state_manager->add_state(&state_bline); - state_manager->add_state(&state_text); + if(!getenv("SYNFIG_DISABLE_DRAW" )) state_manager->add_state(&state_draw); // Enabled for now. Let's see whether they're good enough yet. + if(!getenv("SYNFIG_DISABLE_WIDTH" )) state_manager->add_state(&state_width); // Enabled since 0.61.09 state_manager->add_state(&state_fill); state_manager->add_state(&state_eyedrop); - state_manager->add_state(&state_zoom); - - if(!getenv("SYNFIG_DISABLE_DRAW" )) state_manager->add_state(&state_draw); // Enabled for now. Let's see whether they're good enough yet. + + /* other */ + state_manager->add_state(&state_text); if(!getenv("SYNFIG_DISABLE_SKETCH" )) state_manager->add_state(&state_sketch); - if(!getenv("SYNFIG_DISABLE_WIDTH" )) state_manager->add_state(&state_width); // Enabled since 0.61.09 + state_manager->add_state(&state_zoom); studio_init_cb.task(_("Init ModPalette...")); module_list_.push_back(new ModPalette()); module_list_.back()->start(); @@ -1468,13 +1470,10 @@ App::get_config_file(const synfig::String& file) return Glib::build_filename(get_user_app_directory(),file); } -#define SCALE_FACTOR (1280) //! set the \a instance's canvas(es) position and size to be those specified in the first entry of recent_files_window_size void App::set_recent_file_window_size(etl::handle instance) { - int screen_w(Gdk::screen_width()); - int screen_h(Gdk::screen_height()); const std::string &canvas_window_size = *recent_files_window_size.begin(); @@ -1520,22 +1519,9 @@ App::set_recent_file_window_size(etl::handle instance) current = separator+1; continue; } - - if (x > SCALE_FACTOR) x = SCALE_FACTOR - 150; if (x < 0) x = 0; - if (y > SCALE_FACTOR) y = SCALE_FACTOR - 150; if (y < 0) y = 0; - x=x*screen_w/SCALE_FACTOR; - y=y*screen_h/SCALE_FACTOR; - if(getenv("SYNFIG_WINDOW_POSITION_X_OFFSET")) - x += atoi(getenv("SYNFIG_WINDOW_POSITION_X_OFFSET")); - if(getenv("SYNFIG_WINDOW_POSITION_Y_OFFSET")) - y += atoi(getenv("SYNFIG_WINDOW_POSITION_Y_OFFSET")); - - if (w > SCALE_FACTOR) w = 150; if (w < 0) w = 0; - if (h > SCALE_FACTOR) h = 150; if (h < 0) h = 0; - CanvasView::Handle canvasview = instance->find_canvas_view(canvas); canvasview->move(x,y); - canvasview->resize(w*screen_w/SCALE_FACTOR,h*screen_h/SCALE_FACTOR); + canvasview->resize(w,h); canvasview->present(); current = separator+1; @@ -1548,8 +1534,6 @@ App::set_recent_file_window_size(etl::handle instance) void App::add_recent_file(const etl::handle instance) { - int screen_w(Gdk::screen_width()); - int screen_h(Gdk::screen_height()); std::string canvas_window_size; @@ -1568,13 +1552,12 @@ App::add_recent_file(const etl::handle instance) canvas_window_size += strprintf("%s %d %d %d %d\t", canvas->get_relative_id(canvas->get_root()).c_str(), - x_pos*SCALE_FACTOR/screen_w, y_pos*SCALE_FACTOR/screen_h, - x_size*SCALE_FACTOR/screen_w, y_size*SCALE_FACTOR/screen_h); + x_pos, y_pos, + x_size, y_size); } add_recent_file(absolute_path(instance->get_file_name()), canvas_window_size); } -#undef SCALE_FACTOR void App::add_recent_file(const std::string &file_name, const std::string &window_size) @@ -1786,7 +1769,7 @@ App::reset_initial_window_configuration() 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.single_threaded","0"); + synfigapp::Main::settings().set_value("pref.single_threaded","1"); #endif synfigapp::Main::settings().set_value("pref.restrict_radius_ducks","0"); synfigapp::Main::settings().set_value("pref.resize_imported_images","0"); @@ -2101,7 +2084,8 @@ App::dialog_save_file(const std::string &title, std::string &filename, std::stri { file_type_enum = manage(new Widget_Enum()); file_type_enum->set_param_desc(ParamDesc().set_hint("enum") - .add_enum_value(synfig::RELEASE_VERSION_0_61_09, "0.61.09", strprintf("0.61.09 (%s)", _("current"))) + .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_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") .add_enum_value(synfig::RELEASE_VERSION_0_61_06, "0.61.06", strprintf("0.61.06 %s", _("and older")))); @@ -2291,10 +2275,10 @@ try_open_url(const std::string &url) void App::dialog_help() { - if (!try_open_url("http://synfig.org/Documentation")) + if (!try_open_url("http://synfig.org/wiki/Category:Manual")) { Gtk::MessageDialog dialog(_("Documentation"), false, Gtk::MESSAGE_INFO, Gtk::BUTTONS_CLOSE, true); - dialog.set_secondary_text(_("Documentation for Synfig Studio is available on the website:\n\nhttp://www.synfig.org/Documentation")); + dialog.set_secondary_text(_("Documentation for Synfig Studio is available on the website:\n\nhttp://synfig.org/wiki/Category:Manual")); dialog.set_title(_("Help")); dialog.run(); }