Merge branch 'backport' into work
authorDana Jansens <danakj@orodu.net>
Thu, 28 Feb 2008 02:07:10 +0000 (21:07 -0500)
committerDana Jansens <danakj@orodu.net>
Thu, 28 Feb 2008 02:07:10 +0000 (21:07 -0500)
Conflicts:

openbox/actions/execute.c

1  2 
openbox/actions/execute.c
openbox/actions/exit.c
po/POTFILES.in

@@@ -1,8 -1,8 +1,9 @@@
  #include "openbox/actions.h"
  #include "openbox/event.h"
  #include "openbox/startupnotify.h"
+ #include "openbox/prompt.h"
  #include "openbox/screen.h"
 +#include "obt/paths.h"
  #include "gettext.h"
  
  #ifdef HAVE_STDLIB_H
@@@ -15,9 -15,10 +16,10 @@@ typedef struct 
      gchar   *sn_name;
      gchar   *sn_icon;
      gchar   *sn_wmclass;
+     gchar   *prompt;
  } Options;
  
 -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node);
 +static gpointer setup_func(xmlNodePtr node);
  static void     free_func(gpointer options);
  static gboolean run_func(ObActionsData *data, gpointer options);
  /*
@@@ -48,16 -53,19 +50,19 @@@ static gpointer setup_func(xmlNodePtr n
          g_free(s);
      }
  
 -    if ((n = parse_find_node("prompt", node)))
 -        o->prompt = parse_string(doc, n);
++    if ((n = obt_parse_find_node(node, "prompt")))
++        o->prompt = obt_parse_node_string(n);
 -    if ((n = parse_find_node("startupnotify", node))) {
 +    if ((n = obt_parse_find_node(node, "startupnotify"))) {
          xmlNodePtr m;
 -        if ((m = parse_find_node("enabled", n->xmlChildrenNode)))
 -            o->sn = parse_bool(doc, m);
 -        if ((m = parse_find_node("name", n->xmlChildrenNode)))
 -            o->sn_name = parse_string(doc, m);
 -        if ((m = parse_find_node("icon", n->xmlChildrenNode)))
 -            o->sn_icon = parse_string(doc, m);
 -        if ((m = parse_find_node("wmclass", n->xmlChildrenNode)))
 -            o->sn_wmclass = parse_string(doc, m);
 +        if ((m = obt_parse_find_node(n->children, "enabled")))
 +            o->sn = obt_parse_node_bool(m);
 +        if ((m = obt_parse_find_node(n->children, "name")))
 +            o->sn_name = obt_parse_node_string(m);
 +        if ((m = obt_parse_find_node(n->children, "icon")))
 +            o->sn_icon = obt_parse_node_string(m);
 +        if ((m = obt_parse_find_node(n->children, "wmclass")))
 +            o->sn_wmclass = obt_parse_node_string(m);
      }
      return o;
  }
@@@ -1,14 -1,38 +1,38 @@@
  #include "openbox/actions.h"
  #include "openbox/openbox.h"
+ #include "openbox/prompt.h"
+ #include "gettext.h"
  
 -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node);
+ typedef struct {
+     gboolean prompt;
+ } Options;
++static gpointer setup_func(xmlNodePtr node);
  static gboolean run_func(ObActionsData *data, gpointer options);
  
  void action_exit_startup(void)
  {
-     actions_register("Exit",
-                      NULL, NULL,
-                      run_func,
-                      NULL, NULL);
+     actions_register("Exit", setup_func, NULL, run_func, NULL, NULL);
+ }
 -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
++static gpointer setup_func(xmlNodePtr node)
+ {
+     xmlNodePtr n;
+     Options *o;
+     o = g_new0(Options, 1);
 -    if ((n = parse_find_node("prompt", node)))
 -        o->prompt = parse_bool(doc, n);
++    if ((n = obt_parse_find_node(node, "prompt")))
++        o->prompt = obt_parse_node_bool(n);
+     return o;
+ }
+ static void prompt_cb(ObPrompt *p, gint result, gpointer data)
+ {
+     if (result)
+         ob_exit(0);
+     prompt_unref(p);
  }
  
  /* Always return FALSE because its not interactive */
diff --cc po/POTFILES.in
Simple merge