[Synfig-devl] Carlos Lopez : Add Resolution Dial widget. Synchronise Low res check button with low res action and vice-versa. Also Increase/ Decrease resolution buttons change low res check button sta

2009-06-28 Thread Genete
Module: synfig
Branch: genete_canvasview
Commit: c1fb71b9088ab00307b7b9f1ba68024a25b59053
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=c1fb71b9088ab00307b7b9f1ba68024a25b59053

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 28 15:05:28 2009 +0200

Add Resolution Dial widget. Synchronise Low res check button with low res 
action and vice-versa.Also Increase/Decrease resolution buttons change low res 
check button status and low res action.

---

 synfig-studio/trunk/src/gtkmm/Makefile.am|6 +-
 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   60 +-
 synfig-studio/trunk/src/gtkmm/canvasview.h   |4 +
 synfig-studio/trunk/src/gtkmm/resolutiondial.cpp |   97 ++
 synfig-studio/trunk/src/gtkmm/resolutiondial.h   |   77 +
 5 files changed, 239 insertions(+), 5 deletions(-)

Diff:   
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commitdiff;h=c1fb71b9088ab00307b7b9f1ba68024a25b59053

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Update Toggle Ducks Actions when Toggle Ducks Buttons changes.

2009-06-28 Thread Genete
Module: synfig
Branch: genete_canvasview
Commit: ea992d88b7fcb9cce9111f3e37cba05c1268b3a4
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=ea992d88b7fcb9cce9111f3e37cba05c1268b3a4

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 28 16:08:21 2009 +0200

Update Toggle Ducks Actions when Toggle Ducks Buttons changes.
Before this commit the synchronisation was only from actions to buttons and not 
the opposite.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   15 +++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 92882f7..f67e22a 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -3738,6 +3738,21 @@ CanvasView::toggle_duck_mask(Duckmatic::Type type)
work_area-queue_draw();
try
{
+   // Update the toggle ducks actions
+   Glib::RefPtrGtk::ToggleAction action;
+   action = 
Glib::RefPtrGtk::ToggleAction::cast_dynamic(action_group-get_action(mask-position-ducks));
+   
action-set_active((bool)(work_area-get_type_mask()Duck::TYPE_POSITION));
+   action = 
Glib::RefPtrGtk::ToggleAction::cast_dynamic(action_group-get_action(mask-tangent-ducks));
+   
action-set_active((bool)(work_area-get_type_mask()Duck::TYPE_TANGENT));
+   action = 
Glib::RefPtrGtk::ToggleAction::cast_dynamic(action_group-get_action(mask-vertex-ducks));
+   
action-set_active((bool)(work_area-get_type_mask()Duck::TYPE_VERTEX));
+   action = 
Glib::RefPtrGtk::ToggleAction::cast_dynamic(action_group-get_action(mask-radius-ducks));
+   
action-set_active((bool)(work_area-get_type_mask()Duck::TYPE_RADIUS));
+   action = 
Glib::RefPtrGtk::ToggleAction::cast_dynamic(action_group-get_action(mask-width-ducks));
+   
action-set_active((bool)(work_area-get_type_mask()Duck::TYPE_WIDTH));
+   action = 
Glib::RefPtrGtk::ToggleAction::cast_dynamic(action_group-get_action(mask-angle-ducks));
+   
action-set_active((bool)(work_area-get_type_mask()Duck::TYPE_ANGLE));
+   // Update toggle ducks buttons
toggleducksdial-update_toggles(work_area-get_type_mask());
}
catch(...)


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Change toggle duck icons from numbers to duck icon images.

2009-06-28 Thread Genete
Module: synfig
Branch: genete_canvasview
Commit: 9ad330587795b65be9fa9dc686286a471f2ab696
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=9ad330587795b65be9fa9dc686286a471f2ab696

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 28 17:39:35 2009 +0200

Change toggle duck icons from numbers to duck icon images.

---

 synfig-studio/trunk/images/Makefile.am|   17 +-
 synfig-studio/trunk/images/duck_angle_icon.sif|  432 +++
 synfig-studio/trunk/images/duck_position_icon.sif |  432 +++
 synfig-studio/trunk/images/duck_radius_icon.sif   |  432 +++
 synfig-studio/trunk/images/duck_tangent_icon.sif  |  853 +
 synfig-studio/trunk/images/duck_vertex_icon.sif   |  432 +++
 synfig-studio/trunk/images/duck_width_icon.sif|  432 +++
 synfig-studio/trunk/src/gtkmm/iconcontroller.cpp  |7 +
 synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp |   20 +-
 synfig-studio/trunk/src/gtkmm/toggleducksdial.h   |2 +-
 10 files changed, 3046 insertions(+), 13 deletions(-)

Diff:   
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commitdiff;h=9ad330587795b65be9fa9dc686286a471f2ab696

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Add render quality spin button. WIP

2009-06-28 Thread Genete
Module: synfig
Branch: genete_canvasview
Commit: f7f2ed05887e178e8a2e6351b21d6f64ede0cb05
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=f7f2ed05887e178e8a2e6351b21d6f64ede0cb05

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 28 19:55:36 2009 +0200

Add render quality spin button. WIP

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   33 ++
 synfig-studio/trunk/src/gtkmm/canvasview.h   |8 -
 2 files changed, 34 insertions(+), 7 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 5f3e389..7e77704 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -683,6 +683,7 @@ CanvasView::CanvasView(etl::loose_handleInstance 
instance,etl::handlesynfigap
//keyframe_tree_store_  (KeyframeTreeStore::create(canvas_interface_)),
time_adjustment_(0,0,25,0,0,0),
time_window_adjustment_ (0,0,25,0,0,0),
+   quality_adjustment_ (8,1,10,1,1,0),
statusbar   (manage(new class 
Gtk::Statusbar())),
 
timeslider  (new Widget_Timeslider),
@@ -707,6 +708,7 @@ CanvasView::CanvasView(etl::loose_handleInstance 
instance,etl::handlesynfigap
duck_refresh_flag=true;
toggling_ducks_=false;
changing_resolution_=false;
+   updating_quality_=false;
 
smach_.set_default_state(state_normal);
 
@@ -1100,7 +1102,7 @@ CanvasView::create_status_bar()
 Gtk::Widget*
 CanvasView::create_display_bar()
 {
-   displaybar = manage(new class Gtk::Table(1, 3, false));
+   displaybar = manage(new class Gtk::Table(1, 5, false));
 
// Setup the ToggleDuckDial widget
toggleducksdial = Gtk::manage(new class ToggleDucksDial());
@@ -1141,12 +1143,23 @@ CanvasView::create_display_bar()
resolutiondial-show();
 
// Set up a separator
-   Gtk::VSeparator *separator = Gtk::manage(new class Gtk::VSeparator());
-   separator-show();
+   Gtk::VSeparator *separator1 = Gtk::manage(new class Gtk::VSeparator());
+   separator1-show();
+   Gtk::VSeparator *separator2 = Gtk::manage(new class Gtk::VSeparator());
+   separator2-show();
+
+   // Set up quality spin button
+   quality_spin=Gtk::manage(new class 
Gtk::SpinButton(quality_adjustment_));
+   quality_spin-signal_value_changed().connect(
+   sigc::mem_fun(*this, 
studio::CanvasView::update_quality));
+   quality_spin-show();
 
-   displaybar-attach(*resolutiondial, 2, 3, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
displaybar-attach(*toggleducksdial, 0, 1, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
-   displaybar-attach(*separator, 1, 2, 0, 1, Gtk::FILL, Gtk::FILL);
+   displaybar-attach(*separator1, 1, 2, 0, 1, Gtk::FILL, Gtk::FILL);
+   displaybar-attach(*resolutiondial, 2, 3, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
+   displaybar-attach(*separator2, 3, 4, 0, 1, Gtk::FILL, Gtk::FILL);
+   displaybar-attach(*quality_spin, 4, 5, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
+
displaybar-show();
 
return displaybar;
@@ -3172,6 +3185,16 @@ CanvasView::toggle_low_res_pixel_flag()
 }
 
 void
+CanvasView::update_quality()
+{
+   if(updating_quality_)
+   return;
+   updating_quality_=true;
+   work_area-set_quality((int) quality_spin-get_value());
+   updating_quality_=false;
+}
+
+void
 CanvasView::on_dirty_preview()
 {
if(!is_playing_)
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h 
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index ea3fae7..aa43bb8 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -41,6 +41,7 @@
 #include gtkmm/scrolledwindow.h
 #include gtkmm/notebook.h
 #include gdkmm/device.h
+#include gtkmm/spinbutton.h
 
 #include synfigapp/canvasinterface.h
 #include synfigapp/selectionmanager.h
@@ -272,8 +273,9 @@ private:
bool toggling_ducks_;
ResolutionDial *resolutiondial;
bool changing_resolution_;
-
-
+   Gtk::Adjustment quality_adjustment_;
+   Gtk::SpinButton *quality_spin;
+   bool updating_quality_;
//! Shows current time and allows edition
Widget_Time *current_time_widget;
void on_current_time_widget_changed();
@@ -606,6 +608,8 @@ public:
 
bool is_playing() { return is_playing_; }
 
+   void update_quality();
+
/*
  -- ** -- S I G N A L   T E R M I N A L S -
*/


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Change the relief status of the toggle duck buttons

2009-06-28 Thread Genete
Module: synfig
Branch: genete_canvasview
Commit: cb0d2ee54ef8c7b9300aea8a19943c44f1932cbb
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=cb0d2ee54ef8c7b9300aea8a19943c44f1932cbb

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 28 18:39:30 2009 +0200

Change the relief status of the toggle duck buttons

---

 synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp 
b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
index 5474a8b..3f1230a 100644
--- a/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
+++ b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
@@ -79,6 +79,7 @@ ToggleDucksDial::create_label_button(Gtk::IconSize iconsize, 
const char *stockid
tbutton-add(*icon);
icon-set_padding(0, 0);
icon-show();
+   tbutton-set_relief(Gtk::RELIEF_NONE);
tbutton-show();
 
return tbutton;


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Add a separator between toggle ducks and low res dials

2009-06-28 Thread Genete
Module: synfig
Branch: genete_canvasview
Commit: 99208b10adedccc74db37bb2ce9a5d9176ed5189
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=99208b10adedccc74db37bb2ce9a5d9176ed5189

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 28 18:36:52 2009 +0200

Add a separator between toggle ducks and low res dials

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   11 ---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index f67e22a..5f3e389 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -41,6 +41,7 @@
 #include gtkmm/messagedialog.h
 #include gtkmm/treemodelsort.h
 #include gtkmm/buttonbox.h
+#include gtkmm/separator.h
 
 #include gtk/gtktreestore.h
 #include gtk/gtkversion.h
@@ -1099,7 +1100,7 @@ CanvasView::create_status_bar()
 Gtk::Widget*
 CanvasView::create_display_bar()
 {
-   displaybar = manage(new class Gtk::Table(1, 1, false));
+   displaybar = manage(new class Gtk::Table(1, 3, false));
 
// Setup the ToggleDuckDial widget
toggleducksdial = Gtk::manage(new class ToggleDucksDial());
@@ -1128,7 +1129,6 @@ CanvasView::create_display_bar()
toggleducksdial-show();
 
// Set up the ResolutionDial widget
-
resolutiondial=Gtk::manage(new class ResolutionDial());
 
resolutiondial-update_lowres(work_area-get_low_resolution_flag());
@@ -1140,8 +1140,13 @@ CanvasView::create_display_bar()
sigc::mem_fun(*this, 
studio::CanvasView::toggle_low_res_pixel_flag));
resolutiondial-show();
 
-   displaybar-attach(*resolutiondial, 1, 2, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
+   // Set up a separator
+   Gtk::VSeparator *separator = Gtk::manage(new class Gtk::VSeparator());
+   separator-show();
+
+   displaybar-attach(*resolutiondial, 2, 3, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
displaybar-attach(*toggleducksdial, 0, 1, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
+   displaybar-attach(*separator, 1, 2, 0, 1, Gtk::FILL, Gtk::FILL);
displaybar-show();
 
return displaybar;


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Trying to prevent a crash when changing render quality meanwhile updating work area .

2009-06-28 Thread Genete
Module: synfig
Branch: genete_canvasview
Commit: 5972a426cb5de596a99471fd5f3235fdd2bf51a8
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=5972a426cb5de596a99471fd5f3235fdd2bf51a8

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 28 20:39:33 2009 +0200

Trying to prevent a crash when changing render quality meanwhile updating work 
area.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |7 +++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 7e77704..0d1112b 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -3187,6 +3187,13 @@ CanvasView::toggle_low_res_pixel_flag()
 void
 CanvasView::update_quality()
 {
+   if(working_depth)
+   {
+   quality_spin-set_sensitive(false);
+   return;
+   }
+   else
+   quality_spin-set_sensitive(true);
if(updating_quality_)
return;
updating_quality_=true;


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Add tooltip to the quality spin button.

2009-06-28 Thread Genete
Module: synfig
Branch: genete_canvasview
Commit: e56dd7db39673a941119ea8f945874307bde9b39
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=e56dd7db39673a941119ea8f945874307bde9b39

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 29 00:28:21 2009 +0200

Add tooltip to the quality spin button.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 87b4222..3fe39e7 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -1152,6 +1152,7 @@ CanvasView::create_display_bar()
quality_spin=Gtk::manage(new class 
Gtk::SpinButton(quality_adjustment_));
quality_spin-signal_value_changed().connect(
sigc::mem_fun(*this, 
studio::CanvasView::update_quality));
+   tooltips.set_tip(*quality_spin, _(Quality (lower is better)));
quality_spin-show();
 
displaybar-attach(*toggleducksdial, 0, 1, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Synchronise quality spin button and quality action radio buttons.

2009-06-28 Thread Genete
Module: synfig
Branch: genete_canvasview
Commit: 5fd25a2a26686408056e13dabc6e122d0ee64b53
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=5fd25a2a26686408056e13dabc6e122d0ee64b53

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 29 00:11:51 2009 +0200

Synchronise quality spin button and quality action radio buttons.
Do not set insensitive the spin button when working depth is true.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   24 ++--
 synfig-studio/trunk/src/gtkmm/canvasview.h   |1 +
 2 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 0d1112b..87b4222 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -1423,7 +1423,7 @@ CanvasView::init_menus()
}
action_group-add( action,
sigc::bind(
-   sigc::mem_fun(*work_area, 
studio::WorkArea::set_quality),
+   sigc::mem_fun(*this, 
studio::CanvasView::set_quality),
i
)
);
@@ -3188,20 +3188,32 @@ void
 CanvasView::update_quality()
 {
if(working_depth)
-   {
-   quality_spin-set_sensitive(false);
return;
-   }
-   else
-   quality_spin-set_sensitive(true);
if(updating_quality_)
return;
updating_quality_=true;
work_area-set_quality((int) quality_spin-get_value());
+   // Update Quality Radio actions
+   Glib::RefPtrGtk::RadioAction 
action=Glib::RefPtrGtk::RadioAction::cast_dynamic(
+   action_group-get_action(strprintf(quality-%02d,(int) 
quality_spin-get_value()))
+   );
+   action-set_active();
+
updating_quality_=false;
 }
 
 void
+CanvasView::set_quality(int x)
+{
+   if(updating_quality_)
+   return;
+   work_area-set_quality(x);
+   // Update the quality spin button
+   quality_spin-set_value(x);
+}
+
+
+void
 CanvasView::on_dirty_preview()
 {
if(!is_playing_)
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h 
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index aa43bb8..2f26d7b 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -437,6 +437,7 @@ private:
void decrease_low_res_pixel_size();
void increase_low_res_pixel_size();
void toggle_low_res_pixel_flag();
+   void set_quality(int x);
 
/*
  -- ** -- P U B L I C   M E T H O D S -


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Initial version of show grid check button. Needs a proper icon.

2009-06-28 Thread Genete
Module: synfig
Branch: genete_canvasview
Commit: 26d2a02c0537c6ddc33f58ad848060e3f6e3409e
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=26d2a02c0537c6ddc33f58ad848060e3f6e3409e

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 29 01:41:12 2009 +0200

Initial version of show grid check button. Needs a proper icon.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   32 -
 synfig-studio/trunk/src/gtkmm/canvasview.h   |3 ++
 2 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 3fe39e7..ab500e4 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -709,6 +709,7 @@ CanvasView::CanvasView(etl::loose_handleInstance 
instance,etl::handlesynfigap
toggling_ducks_=false;
changing_resolution_=false;
updating_quality_=false;
+   toggling_show_grid=false;
 
smach_.set_default_state(state_normal);
 
@@ -1102,7 +1103,7 @@ CanvasView::create_status_bar()
 Gtk::Widget*
 CanvasView::create_display_bar()
 {
-   displaybar = manage(new class Gtk::Table(1, 5, false));
+   displaybar = manage(new class Gtk::Table(1, 6, false));
 
// Setup the ToggleDuckDial widget
toggleducksdial = Gtk::manage(new class ToggleDucksDial());
@@ -1155,11 +1156,24 @@ CanvasView::create_display_bar()
tooltips.set_tip(*quality_spin, _(Quality (lower is better)));
quality_spin-show();
 
+   // Set up the show grid check button
+   show_grid = Gtk::manage(new class Gtk::CheckButton());
+   show_grid-set_active(work_area-grid_status());
+   Gtk::Image *icon = manage(new Gtk::Image(Gtk::Stock::REMOVE, 
Gtk::IconSize::from_name(synfig-small_icon)));
+   icon-set_padding(0, 0);
+   icon-show();
+   show_grid-add(*icon);
+   show_grid-signal_toggled().connect(
+   sigc::mem_fun(*this, 
studio::CanvasView::toggle_show_grid));
+   tooltips.set_tip(*show_grid, _(Show grid when enabled));
+   show_grid-show();
+
displaybar-attach(*toggleducksdial, 0, 1, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
displaybar-attach(*separator1, 1, 2, 0, 1, Gtk::FILL, Gtk::FILL);
displaybar-attach(*resolutiondial, 2, 3, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
displaybar-attach(*separator2, 3, 4, 0, 1, Gtk::FILL, Gtk::FILL);
displaybar-attach(*quality_spin, 4, 5, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
+   displaybar-attach(*show_grid, 5, 6, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
 
displaybar-show();
 
@@ -1475,7 +1489,7 @@ CanvasView::init_menus()
 
grid_show_toggle = 
Gtk::ToggleAction::create(toggle-grid-show, _(Show Grid));
grid_show_toggle-set_active(work_area-grid_status());
-   action_group-add(grid_show_toggle, sigc::mem_fun(*work_area, 
studio::WorkArea::toggle_grid));
+   action_group-add(grid_show_toggle, sigc::mem_fun(*this, 
studio::CanvasView::toggle_show_grid));
 
grid_snap_toggle = 
Gtk::ToggleAction::create(toggle-grid-snap, _(Snap to Grid));
grid_snap_toggle-set_active(work_area-get_grid_snap());
@@ -3213,6 +3227,20 @@ CanvasView::set_quality(int x)
quality_spin-set_value(x);
 }
 
+void
+CanvasView::toggle_show_grid()
+{
+   if(toggling_show_grid)
+   return;
+   toggling_show_grid=true;
+   work_area-toggle_grid();
+   // Update the toggle grid show action
+   set_grid_show_toggle(work_area-grid_status());
+   // Update the toggle grid show check button
+   show_grid-set_active(work_area-grid_status());
+   toggling_show_grid=false;
+}
+
 
 void
 CanvasView::on_dirty_preview()
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h 
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index 2f26d7b..27cc89f 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -276,6 +276,8 @@ private:
Gtk::Adjustment quality_adjustment_;
Gtk::SpinButton *quality_spin;
bool updating_quality_;
+   Gtk::CheckButton *show_grid;
+   bool toggling_show_grid;
//! Shows current time and allows edition
Widget_Time *current_time_widget;
void on_current_time_widget_changed();
@@ -438,6 +440,7 @@ private:
void increase_low_res_pixel_size();
void toggle_low_res_pixel_flag();
void set_quality(int x);
+   void toggle_show_grid();
 
/*
  -- ** -- P U B L I C   M E T H O D S -


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl