Use XMLNode::get/set_property API in Gtkmm2ext::WindowProxy class
authorTim Mayberry <mojofunk@gmail.com>
Sun, 28 Aug 2016 13:49:46 +0000 (23:49 +1000)
committerTim Mayberry <mojofunk@gmail.com>
Tue, 18 Apr 2017 23:36:55 +0000 (09:36 +1000)
libs/gtkmm2ext/window_proxy.cc

index 19917bd99ab01cd79c12205b3d2f879034399175..9e5105a81b8acb73347ddafd07c9ab5c96336573 100644 (file)
@@ -20,7 +20,6 @@
 #include <gtkmm/action.h>
 #include <gtkmm/window.h>
 
-#include "pbd/convert.h"
 #include "pbd/xml++.h"
 #include "pbd/stacktrace.h"
 
@@ -89,8 +88,9 @@ WindowProxy::set_state (const XMLNode& node, int /* version */)
 
        while (i != children.end()) {
                child = *i;
-               XMLProperty const * prop = child->property (X_("name"));
-               if (child->name() == X_("Window") && prop && prop->value() == _name) {
+               std::string name;
+               if (child->name () == X_("Window") && child->get_property (X_("name"), name) &&
+                   name == _name) {
                        break;
                }
 
@@ -99,25 +99,13 @@ WindowProxy::set_state (const XMLNode& node, int /* version */)
 
        if (i != children.end()) {
 
-               XMLProperty const * prop;
                child = *i;
 
-               if ((prop = child->property (X_("visible"))) != 0) {
-                       _visible = PBD::string_is_affirmative (prop->value ());
-               }
-
-               if ((prop = child->property (X_("x-off"))) != 0) {
-                       _x_off = atoi (prop->value());
-               }
-               if ((prop = child->property (X_("y-off"))) != 0) {
-                       _y_off = atoi (prop->value());
-               }
-               if ((prop = child->property (X_("x-size"))) != 0) {
-                       _width = atoi (prop->value());
-               }
-               if ((prop = child->property (X_("y-size"))) != 0) {
-                       _height = atoi (prop->value());
-               }
+               child->get_property (X_("visible"), _visible);
+               child->get_property (X_("x-off"), _x_off);
+               child->get_property (X_("y-off"), _y_off);
+               child->get_property (X_("x-size"), _width);
+               child->get_property (X_("y-size"), _height);
        }
 
        if (_window) {
@@ -180,9 +168,8 @@ XMLNode&
 WindowProxy::get_state ()
 {
        XMLNode* node = new XMLNode (xml_node_name());
-       char buf[32];
 
-       node->add_property (X_("name"), _name);
+       node->set_property (X_("name"), _name);
 
        if (_window && vistracker) {
 
@@ -211,15 +198,11 @@ WindowProxy::get_state ()
                h = -1;
        }
 
-       node->add_property (X_("visible"), _visible? X_("yes") : X_("no"));
-       snprintf (buf, sizeof (buf), "%d", x);
-       node->add_property (X_("x-off"), buf);
-       snprintf (buf, sizeof (buf), "%d", y);
-       node->add_property (X_("y-off"), buf);
-       snprintf (buf, sizeof (buf), "%d", w);
-       node->add_property (X_("x-size"), buf);
-       snprintf (buf, sizeof (buf), "%d", h);
-       node->add_property (X_("y-size"), buf);
+       node->set_property (X_("visible"), _visible);
+       node->set_property (X_("x-off"), x);
+       node->set_property (X_("y-off"), y);
+       node->set_property (X_("x-size"), w);
+       node->set_property (X_("y-size"), h);
 
        return *node;
 }