Revision: 2374 http://synfig.svn.sourceforge.net/synfig/?rev=2374&view=rev Author: gballintijn Date: 2009-05-07 18:24:11 +0000 (Thu, 07 May 2009)
Log Message: ----------- Remove a dependency (introduced r2360) of the (GUI independent) code in src/synfigapp on the (GUI dependent) code in src/gtkmm. Modified Paths: -------------- synfig-studio/trunk/src/gtkmm/app.cpp synfig-studio/trunk/src/gtkmm/devicetracker.cpp synfig-studio/trunk/src/gtkmm/devicetracker.h synfig-studio/trunk/src/synfigapp/inputdevice.cpp Modified: synfig-studio/trunk/src/gtkmm/app.cpp =================================================================== --- synfig-studio/trunk/src/gtkmm/app.cpp 2009-05-06 05:03:23 UTC (rev 2373) +++ synfig-studio/trunk/src/gtkmm/app.cpp 2009-05-07 18:24:11 UTC (rev 2374) @@ -1280,6 +1280,8 @@ studio_init_cb.amount_complete(9250,10000); studio_init_cb.task(_("Loading Settings...")); load_settings(); + device_tracker->load_preferences(); + studio_init_cb.task(_("Checking auto-recover...")); studio_init_cb.amount_complete(9900,10000); Modified: synfig-studio/trunk/src/gtkmm/devicetracker.cpp =================================================================== --- synfig-studio/trunk/src/gtkmm/devicetracker.cpp 2009-05-06 05:03:23 UTC (rev 2373) +++ synfig-studio/trunk/src/gtkmm/devicetracker.cpp 2009-05-07 18:24:11 UTC (rev 2374) @@ -116,42 +116,26 @@ } void -DeviceTracker::set_device_mode(const synfig::String & id, - InputDevice::Mode mode) +DeviceTracker::load_preferences() { - for (GList * itr = gdk_devices_list(); itr; itr = g_list_next(itr)) + GList * device_list = gdk_devices_list(); + for (GList * itr = device_list; itr; itr = g_list_next(itr)) { - GdkDevice * device = reinterpret_cast<GdkDevice*>(itr->data); - if (id == device->name) - gdk_device_set_mode(device, GdkInputMode(mode)); - } -} + GdkDevice * gdk_device = reinterpret_cast<GdkDevice*>(itr->data); -void -DeviceTracker::set_device_axes(const synfig::String & id, - const std::vector<synfigapp::InputDevice::AxisUse> axes) -{ - for (GList * itr = gdk_devices_list(); itr; itr = g_list_next(itr)) - { - GdkDevice * device = reinterpret_cast<GdkDevice*>(itr->data); - if (id == device->name) { - for (int axis = 0; axis < (int) axes.size(); axis++) - gdk_device_set_axis_use(device, axis, GdkAxisUse(axes[axis])); - } - } -} + InputDevice::Handle synfig_device = synfigapp::Main::find_input_device(gdk_device->name); + if (synfig_device == NULL) + continue; -void -DeviceTracker::set_device_keys(const synfig::String & id, - const std::vector<synfigapp::InputDevice::DeviceKey> keys) -{ - for (GList * itr = gdk_devices_list(); itr; itr = g_list_next(itr)) - { - GdkDevice * device = reinterpret_cast<GdkDevice*>(itr->data); - if (id == device->name) { - for (int key = 0; key < (int) keys.size(); key++) - gdk_device_set_key(device, key, keys[key].keyval, - GdkModifierType(keys[key].modifiers)); - } + gdk_device_set_mode(gdk_device, GdkInputMode(synfig_device->get_mode())); + + const std::vector<synfigapp::InputDevice::AxisUse> axes = synfig_device->get_axes(); + for (int axis = 0; axis < (int) axes.size(); axis++) + gdk_device_set_axis_use(gdk_device, axis, GdkAxisUse(axes[axis])); + + const std::vector<synfigapp::InputDevice::DeviceKey> keys = synfig_device->get_keys(); + for (int key = 0; key < (int) keys.size(); key++) + gdk_device_set_key(gdk_device, key, keys[key].keyval, + GdkModifierType(keys[key].modifiers)); } } Modified: synfig-studio/trunk/src/gtkmm/devicetracker.h =================================================================== --- synfig-studio/trunk/src/gtkmm/devicetracker.h 2009-05-06 05:03:23 UTC (rev 2373) +++ synfig-studio/trunk/src/gtkmm/devicetracker.h 2009-05-07 18:24:11 UTC (rev 2374) @@ -45,13 +45,8 @@ ~DeviceTracker(); void save_preferences(); + void load_preferences(); - static void set_device_mode(const synfig::String & id, - synfigapp::InputDevice::Mode mode); - static void set_device_axes(const synfig::String & id, - const std::vector<synfigapp::InputDevice::AxisUse> axes); - static void set_device_keys(const synfig::String & id, - const std::vector<synfigapp::InputDevice::DeviceKey> keys); }; // END of class DeviceTracker }; // END of namespace studio Modified: synfig-studio/trunk/src/synfigapp/inputdevice.cpp =================================================================== --- synfig-studio/trunk/src/synfigapp/inputdevice.cpp 2009-05-06 05:03:23 UTC (rev 2373) +++ synfig-studio/trunk/src/synfigapp/inputdevice.cpp 2009-05-07 18:24:11 UTC (rev 2374) @@ -34,7 +34,6 @@ #include <cstdio> #include <ETL/stringf> #include "main.h" -#include <gtkmm/devicetracker.h> #include "general.h" @@ -46,7 +45,6 @@ using namespace etl; using namespace synfig; using namespace synfigapp; -using namespace studio; /* === M A C R O S ========================================================= */ @@ -211,7 +209,6 @@ mode = InputDevice::MODE_DISABLED; input_device->set_mode(mode); - DeviceTracker::set_device_mode(input_device->get_id(), mode); } void set_axes_value(const synfig::String & value) @@ -231,7 +228,6 @@ } input_device->set_axes(axes); - DeviceTracker::set_device_axes(input_device->get_id(), axes); } void set_keys_value(const synfig::String & value) @@ -254,7 +250,6 @@ } input_device->set_keys(keys); - DeviceTracker::set_device_keys(input_device->get_id(), keys); } virtual KeyList get_key_list()const This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ Synfig-devl mailing list Synfig-devl@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synfig-devl