Merge branch 'master' into genete_setup_dialog
[synfig.git] / synfig-studio / trunk / src / gtkmm / dialog_setup.cpp
index 7406566..7f6d835 100644 (file)
@@ -7,7 +7,7 @@
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **     Copyright (c) 2007, 2008 Chris Moore
-**  Copyright (c) 2008 Carlos López
+**     Copyright (c) 2008, 2009 Carlos López
 **
 **     This package is free software; you can redistribute it and/or
 **     modify it under the terms of the GNU General Public License as
@@ -37,7 +37,6 @@
 #include <gtkmm/table.h>
 #include <gtkmm/frame.h>
 #include <gtkmm/notebook.h>
-#include <gtkmm/spinbutton.h>
 #include "widget_enum.h"
 #include "autorecover.h"
 
@@ -229,13 +228,13 @@ Dialog_Setup::Dialog_Setup():
        tooltips_.set_tip(textbox_custom_filename_prefix,_("File name prefix for the new created document"));
 
        // Document - New Document X size
-       Gtk::SpinButton* pref_x_size_spinbutton(manage(new Gtk::SpinButton(adj_pref_x_size,1,0)));
+       pref_x_size_spinbutton=Gtk::manage(new Gtk::SpinButton(adj_pref_x_size,1,0));
        attach_label(document_table,_("New Document X size"),1, xpadding, ypadding);
        document_table->attach(*pref_x_size_spinbutton, 1, 2, 1, 2,Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding);
        tooltips_.set_tip(*pref_x_size_spinbutton,_("Width in pixels of the new created document"));
 
        // Document - New Document Y size
-       Gtk::SpinButton* pref_y_size_spinbutton(manage(new Gtk::SpinButton(adj_pref_y_size,1,0)));
+       pref_y_size_spinbutton=Gtk::manage(new Gtk::SpinButton(adj_pref_y_size,1,0));
        attach_label(document_table,_("New Document Y size"),2, xpadding, ypadding);
        document_table->attach(*pref_y_size_spinbutton, 1, 2, 2, 3,Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding);
        tooltips_.set_tip(*pref_y_size_spinbutton,_("High in pixels of the new created document"));
@@ -281,7 +280,7 @@ Dialog_Setup::Dialog_Setup():
        fps_template_combo->prepend_text(DEFAULT_PREDEFINED_FPS);
 
        // Document - New Document FPS
-       Gtk::SpinButton* pref_fps_spinbutton(manage(new Gtk::SpinButton(adj_pref_fps,1,3)));
+       pref_fps_spinbutton=Gtk::manage(new Gtk::SpinButton(adj_pref_fps,1,3));
        attach_label(document_table,_("New Document FPS"),4, xpadding, ypadding);
        document_table->attach(*pref_fps_spinbutton, 1, 2, 4, 5,Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding);
        tooltips_.set_tip(*pref_fps_spinbutton,_("Frames per second of the new created document"));
@@ -399,6 +398,8 @@ Dialog_Setup::on_size_template_combo_change()
        String selection(size_template_combo->get_active_text());
        if(selection==DEFAULT_PREDEFINED_SIZE)
        {
+               pref_y_size_spinbutton->set_sensitive(true);
+               pref_x_size_spinbutton->set_sensitive(true);
                return;
        }
        String::size_type locx=selection.find_first_of("x"); // here should be some comparison with string::npos
@@ -409,6 +410,9 @@ Dialog_Setup::on_size_template_combo_change()
        int y=atoi(y_size.c_str());
        adj_pref_x_size.set_value(x);
        adj_pref_y_size.set_value(y);
+       pref_y_size_spinbutton->set_sensitive(false);
+       pref_x_size_spinbutton->set_sensitive(false);
+
        return;
 }
 
@@ -418,9 +422,11 @@ Dialog_Setup::on_fps_template_combo_change()
        String selection(fps_template_combo->get_active_text());
        if(selection==DEFAULT_PREDEFINED_FPS)
        {
+               pref_fps_spinbutton->set_sensitive(true);
                return;
        }
        adj_pref_fps.set_value(atof(selection.c_str()));
+       pref_fps_spinbutton->set_sensitive(false);
        return;
 }