X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fdialog_setup.cpp;h=0382ce726f2b7e1353da03fbc3ee120ec6bcbde5;hb=c2813b4d63804cac9b4067146a9e6eca717cb3e4;hp=525bc7cb9f8e272bc04d2298a7aec07783200b93;hpb=22a64c6070122f43a0a5cbd7f7328a758137e76b;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp b/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp index 525bc7c..0382ce7 100644 --- a/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp +++ b/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp @@ -2,10 +2,11 @@ /*! \file dialog_setup.cpp ** \brief Template File ** -** $Id: dialog_setup.cpp,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $ +** $Id$ ** ** \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(): @@ -337,7 +351,7 @@ GammaPattern::refresh() } bool -GammaPattern::redraw(GdkEventExpose*bleh) +GammaPattern::redraw(GdkEventExpose */*bleh*/) { static const char hlines[] = { 3, 0 }; @@ -410,7 +424,7 @@ BlackLevelSelector::~BlackLevelSelector() } bool -BlackLevelSelector::redraw(GdkEventExpose*bleh) +BlackLevelSelector::redraw(GdkEventExpose */*bleh*/) { const int w(get_width()),h(get_height()); @@ -487,7 +501,7 @@ BlackLevelSelector::on_event(GdkEvent *event) void -Dialog_Setup::set_time_format(Time::Format x) +Dialog_Setup::set_time_format(synfig::Time::Format x) { time_format=x; if(x<=Time::FORMAT_VIDEO) @@ -535,7 +549,7 @@ RedBlueLevelSelector::~RedBlueLevelSelector() } bool -RedBlueLevelSelector::redraw(GdkEventExpose*bleh) +RedBlueLevelSelector::redraw(GdkEventExpose */*bleh*/) { const int w(get_width()),h(get_height());