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

Reply via email to