Module: synfig
Branch: nikitakit_palette
Commit: b37244bf43421c7dc4cb5653544c22fdc7a0a479
URL:    
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b37244bf43421c7dc4cb5653544c22fdc7a0a479

Author: Nikita Kitaev <nikita...@gmail.com>
Date:   Mon Mar 29 14:32:03 2010 -0700

Change actions when clicking a color in the palette

Left click sets fill color and middle click sets outline color

---

 .../src/gtkmm/mod_palette/dock_paledit.cpp         |   18 +++++++++++++++---
 synfig-studio/src/gtkmm/mod_palette/dock_paledit.h |    3 ++-
 synfig-studio/src/gtkmm/widget_color.cpp           |    7 ++++++-
 synfig-studio/src/gtkmm/widget_color.h             |    6 ++++--
 4 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/synfig-studio/src/gtkmm/mod_palette/dock_paledit.cpp 
b/synfig-studio/src/gtkmm/mod_palette/dock_paledit.cpp
index d5c1322..8b13f95 100644
--- a/synfig-studio/src/gtkmm/mod_palette/dock_paledit.cpp
+++ b/synfig-studio/src/gtkmm/mod_palette/dock_paledit.cpp
@@ -374,11 +374,17 @@ Dock_PalEdit::refresh()
                widget_color->set_size_request(12,12);
                widget_color->signal_activate().connect(
                        sigc::bind(
-                               
sigc::mem_fun(*this,&studio::Dock_PalEdit::select_color),
+                               
sigc::mem_fun(*this,&studio::Dock_PalEdit::select_fill_color),
                                i
                        )
                );
-               widget_color->signal_secondary().connect(
+               widget_color->signal_middle_click().connect(
+                       sigc::bind(
+                               
sigc::mem_fun(*this,&studio::Dock_PalEdit::select_outline_color),
+                               i
+                       )
+               );
+               widget_color->signal_right_click().connect(
                        sigc::bind(
                                
sigc::mem_fun(*this,&studio::Dock_PalEdit::show_menu),
                                i
@@ -407,7 +413,13 @@ Dock_PalEdit::edit_color(int i)
 }
 
 void
-Dock_PalEdit::select_color(int i)
+Dock_PalEdit::select_fill_color(int i)
+{
+       synfigapp::Main::set_fill_color(get_color(i));
+}
+
+void
+Dock_PalEdit::select_outline_color(int i)
 {
        synfigapp::Main::set_outline_color(get_color(i));
 }
diff --git a/synfig-studio/src/gtkmm/mod_palette/dock_paledit.h 
b/synfig-studio/src/gtkmm/mod_palette/dock_paledit.h
index 7c648e7..703e0f3 100644
--- a/synfig-studio/src/gtkmm/mod_palette/dock_paledit.h
+++ b/synfig-studio/src/gtkmm/mod_palette/dock_paledit.h
@@ -91,7 +91,8 @@ private:
        void set_color(synfig::Color x, int i);
        void erase_color(int i);
 
-       void select_color(int i);
+       void select_fill_color(int i);
+       void select_outline_color(int i);
        synfig::Color get_color(int i)const;
        void edit_color(int i);
 public:
diff --git a/synfig-studio/src/gtkmm/widget_color.cpp 
b/synfig-studio/src/gtkmm/widget_color.cpp
index 2e009b1..1c53b5e 100644
--- a/synfig-studio/src/gtkmm/widget_color.cpp
+++ b/synfig-studio/src/gtkmm/widget_color.cpp
@@ -168,9 +168,14 @@ Widget_Color::on_event(GdkEvent *event)
                        signal_activate_();
                        return true;
                }
+               if(event->button.button==2)
+               {
+                       signal_middle_click_();
+                       return true;
+               }
                if(event->button.button==3)
                {
-                       signal_secondary_();
+                       signal_right_click_();
                        return true;
                }
                break;
diff --git a/synfig-studio/src/gtkmm/widget_color.h 
b/synfig-studio/src/gtkmm/widget_color.h
index 5763bc0..14e3db1 100644
--- a/synfig-studio/src/gtkmm/widget_color.h
+++ b/synfig-studio/src/gtkmm/widget_color.h
@@ -52,14 +52,16 @@ class Widget_Color : public Gtk::DrawingArea
        synfig::Color color;
 
        sigc::signal<void> signal_activate_;
-       sigc::signal<void> signal_secondary_;
+       sigc::signal<void> signal_middle_click_;
+       sigc::signal<void> signal_right_click_;
 
 protected:
 
 public:
        sigc::signal<void>& signal_activate() { return signal_activate_; }
        sigc::signal<void>& signal_clicked() { return signal_activate_; }
-       sigc::signal<void>& signal_secondary() { return signal_secondary_; }
+       sigc::signal<void>& signal_middle_click() { return 
signal_middle_click_; }
+       sigc::signal<void>& signal_right_click() { return signal_right_click_; }
 
        void set_value(const synfig::Color &data);
        const synfig::Color &get_value();


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to