X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fdialog_setup.cpp;h=4aa9ed072ce6ca3a8bce2d9161a2b8abdf14bf88;hb=1c01fe75a985bf1c5927bb70a33f14941c370b4e;hp=25370ff099581fb5e7b40fc7985668cc0bb9a74b;hpb=c3ad95144d148602f672e95ddda1f18fc35502f8;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp b/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp index 25370ff..4aa9ed0 100644 --- a/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp +++ b/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp @@ -6,6 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007 Chris Moore ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -40,6 +41,8 @@ #include #include +#include "general.h" + #endif /* === U S I N G =========================================================== */ @@ -64,7 +67,8 @@ Dialog_Setup::Dialog_Setup(): adj_gamma_b(2.2,0.1,3.0,0.025,0.025,0.025), adj_recent_files(15,1,50,1,1,1), adj_undo_depth(100,10,5000,1,1,1), - toggle_use_colorspace_gamma(_("Visually Linear Color Selection")) + toggle_use_colorspace_gamma(_("Visually Linear Color Selection")), + toggle_single_threaded(_("Use Only a Single Thread")) { // Setup the buttons @@ -179,6 +183,9 @@ Dialog_Setup::Dialog_Setup(): // Misc - use_colorspace_gamma misc_table->attach(toggle_use_colorspace_gamma, 0, 2, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); + // Misc - single_threaded + misc_table->attach(toggle_single_threaded, 0, 2, 4, 5, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); + show_all_children(); } @@ -206,6 +213,9 @@ Dialog_Setup::on_apply_pressed() // Set the use_colorspace_gamma flag App::use_colorspace_gamma=toggle_use_colorspace_gamma.get_active(); + // Set the single_threaded flag + App::single_threaded=toggle_single_threaded.get_active(); + App::distance_system=Distance::System(widget_enum->get_value()); App::save_settings(); @@ -255,18 +265,20 @@ Dialog_Setup::on_red_blue_level_change() void Dialog_Setup::refresh() { + // Refresh the temporary gamma; do this before adjusting the sliders, + // or variables will be used before their initialization. + gamma_pattern.set_gamma_r(App::gamma.get_gamma_r()); + gamma_pattern.set_gamma_g(App::gamma.get_gamma_g()); + gamma_pattern.set_gamma_b(App::gamma.get_gamma_b()); + gamma_pattern.set_black_level(App::gamma.get_black_level()); + gamma_pattern.set_red_blue_level(App::gamma.get_red_blue_level()); + adj_gamma_r.set_value(1.0/App::gamma.get_gamma_r()); adj_gamma_g.set_value(1.0/App::gamma.get_gamma_g()); adj_gamma_b.set_value(1.0/App::gamma.get_gamma_b()); black_level_selector.set_value(App::gamma.get_black_level()); red_blue_level_selector.set_value(App::gamma.get_red_blue_level()); - // Refresh the temporary gamma - gamma_pattern.set_gamma_r(1.0/adj_gamma_r.get_value()); - gamma_pattern.set_gamma_g(1.0/adj_gamma_g.get_value()); - gamma_pattern.set_gamma_b(1.0/adj_gamma_b.get_value()); - gamma_pattern.set_black_level(black_level_selector.get_value()); - gamma_pattern.set_red_blue_level(red_blue_level_selector.get_value()); gamma_pattern.refresh(); adj_recent_files.set_value(App::get_max_recent_files()); @@ -279,6 +291,8 @@ Dialog_Setup::refresh() // Refresh the status of the use_colorspace_gamma flag toggle_use_colorspace_gamma.set_active(App::use_colorspace_gamma); + // Refresh the status of the single_threaded flag + toggle_single_threaded.set_active(App::single_threaded); } GammaPattern::GammaPattern():