Author: Carlos Lopez <[email protected]>
Date: Sun Jan 15 20:23:19 2012 +0100
Warp the focused widget by its focus status so it is more general.
---
synfig-studio/src/gui/toolbox.cpp | 16 +++++++---------
synfig-studio/src/gui/toolbox.h | 2 --
synfig-studio/src/gui/widgets/widget_defaults.cpp | 7 +------
synfig-studio/src/gui/widgets/widget_defaults.h | 3 +--
4 files changed, 9 insertions(+), 19 deletions(-)
diff --git a/synfig-studio/src/gui/toolbox.cpp
b/synfig-studio/src/gui/toolbox.cpp
index d8aec82..d8cf868 100644
--- a/synfig-studio/src/gui/toolbox.cpp
+++ b/synfig-studio/src/gui/toolbox.cpp
@@ -328,7 +328,7 @@ Toolbox::Toolbox():
handle_tools->set_handle_position(Gtk::POS_TOP);
handle_tools->set_snap_edge(Gtk::POS_TOP);
- widget_defaults=manage(new Widget_Defaults());
+ Widget_Defaults* widget_defaults(manage(new Widget_Defaults()));
widget_defaults->show();
Gtk::HandleBox* handle_defaults(manage(new Gtk::HandleBox()));
handle_defaults->add(*widget_defaults);
@@ -346,8 +346,6 @@ Toolbox::Toolbox():
table1->attach(*handle_defaults, 0,1, 3,4,
Gtk::FILL|Gtk::EXPAND,Gtk::EXPAND|Gtk::FILL, 0, 0);
table1->show_all();
-
-
// Set the parameters for this window
add(*table1);
set_title(_("Synfig Studio"));
@@ -356,8 +354,6 @@ Toolbox::Toolbox():
signal_delete_event().connect(sigc::ptr_fun(App::shutdown_request));
set_resizable(false);
-
-
App::signal_instance_selected().connect(
sigc::hide(
sigc::mem_fun(*this,&studio::Toolbox::update_undo_redo)
@@ -639,16 +635,18 @@ Toolbox::on_drop_drag_data_received(const
Glib::RefPtr<Gdk::DragContext>& contex
bool
Toolbox::on_key_press_event(GdkEventKey* event)
{
- if(widget_defaults->get_widget_bline_width()->is_focus())
- return
widget_defaults->get_widget_bline_width()->on_key_press_event(event);
+ Gtk::Widget* focused_widget = get_focus();
+ if(focused_widget->event((GdkEvent*)event))
+ return true;
return Gtk::Window::on_key_press_event(event);
}
bool
Toolbox::on_key_release_event(GdkEventKey* event)
{
- if(widget_defaults->get_widget_bline_width()->is_focus())
- return
widget_defaults->get_widget_bline_width()->on_key_release_event(event);
+ Gtk::Widget* focused_widget = get_focus();
+ if(focused_widget->event((GdkEvent*)event))
+ return true;
return Gtk::Window::on_key_release_event(event);
}
diff --git a/synfig-studio/src/gui/toolbox.h b/synfig-studio/src/gui/toolbox.h
index 188051f..f6e6267 100644
--- a/synfig-studio/src/gui/toolbox.h
+++ b/synfig-studio/src/gui/toolbox.h
@@ -39,7 +39,6 @@
#include "smach.h"
#include <map>
#include "dialogsettings.h"
-#include "widgets/widget_defaults.h"
/* === M A C R O S ========================================================= */
@@ -65,7 +64,6 @@ class Toolbox : public Gtk::Window
Gtk::Button *button_undo;
Gtk::Button *button_redo;
- Widget_Defaults *widget_defaults;
Gtk::Table *tool_table;
diff --git a/synfig-studio/src/gui/widgets/widget_defaults.cpp
b/synfig-studio/src/gui/widgets/widget_defaults.cpp
index 4de243f..b42ef36 100644
--- a/synfig-studio/src/gui/widgets/widget_defaults.cpp
+++ b/synfig-studio/src/gui/widgets/widget_defaults.cpp
@@ -43,6 +43,7 @@
#include <synfigapp/main.h>
#include "canvasview.h"
#include "widgets/widget_enum.h"
+#include "widgets/widget_distance.h"
#include "general.h"
@@ -474,12 +475,6 @@ Widget_Defaults::on_gradient_clicked()
App::dialog_gradient->present();
}
-Widget_Distance*
-Widget_Defaults::get_widget_bline_width()const
-{
- return widget_bline_width;
-}
-
/*
bool
diff --git a/synfig-studio/src/gui/widgets/widget_defaults.h
b/synfig-studio/src/gui/widgets/widget_defaults.h
index bde0a40..7220cfd 100644
--- a/synfig-studio/src/gui/widgets/widget_defaults.h
+++ b/synfig-studio/src/gui/widgets/widget_defaults.h
@@ -31,7 +31,6 @@
#include <gtkmm/table.h>
#include <synfig/gradient.h>
#include "widgets/widget_gradient.h"
-#include "widgets/widget_distance.h"
#include <gtkmm/tooltip.h>
/* === M A C R O S ========================================================= */
@@ -46,6 +45,7 @@ namespace studio {
class Widget_Brush;
class Widget_Color;
+class Widget_Distance;
class Widget_Enum;
class Widget_Defaults : public Gtk::Table
@@ -82,7 +82,6 @@ class Widget_Defaults : public Gtk::Table
public:
Widget_Defaults();
- Widget_Distance* get_widget_bline_width()const;
~Widget_Defaults();
------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl