From 1fa54c12337433455d7e9a65779b28d927050896 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 13:44:43 -0500 Subject: Adding a new testing lib. --- .bzrignore | 3 +++ configure.ac | 1 + tests/Makefile.am | 34 ++++++++++++++++++++++++++++++++++ tests/dbusmenu-jsonloader.pc.in | 14 ++++++++++++++ tests/json-loader.c | 4 ++++ tests/json-loader.h | 3 +++ 6 files changed, 59 insertions(+) create mode 100644 tests/dbusmenu-jsonloader.pc.in create mode 100644 tests/json-loader.c create mode 100644 tests/json-loader.h diff --git a/.bzrignore b/.bzrignore index 986e540..1079d9f 100644 --- a/.bzrignore +++ b/.bzrignore @@ -182,3 +182,6 @@ docs/libdbusmenu-gtk/reference/tmpl/menuitem.sgml docs/libdbusmenu-gtk/reference/tmpl/menuitem.sgml.bak gtk-doc.make m4/gtk-doc.m4 +tests/dbusmenu-jsonloader.pc +tests/libdbusmenu-jsonloader.la +tests/libdbusmenu_jsonloader_la-json-loader.lo diff --git a/configure.ac b/configure.ac index 80c4b8b..fdc76fb 100644 --- a/configure.ac +++ b/configure.ac @@ -126,6 +126,7 @@ libdbusmenu-gtk/dbusmenu-gtk.pc tools/Makefile tools/testapp/Makefile tests/Makefile +tests/dbusmenu-jsonloader.pc docs/Makefile docs/libdbusmenu-glib/Makefile docs/libdbusmenu-glib/reference/Makefile diff --git a/tests/Makefile.am b/tests/Makefile.am index 66f286b..18ca628 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -35,6 +35,40 @@ check_PROGRAMS = \ XVFB_RUN=". $(srcdir)/run-xvfb.sh" +###################### +# JSON Loader lib +###################### + +lib_LTLIBRARIES = libdbusmenu-jsonloader.la + +libdbusmenu_jsonloaderincludedir=$(includedir)/libdbusmenu-0.1/libdbusmenu-jsonloader/ + +libdbusmenu_jsonloaderinclude_HEADERS = \ + json-loader.h + +libdbusmenu_jsonloader_la_SOURCES = \ + json-loader.h \ + json-loader.c + +libdbusmenu_jsonloader_la_LDFLAGS = \ + -version-info $(LIBDBUSMENU_CURRENT):$(LIBDBUSMENU_REVISION):$(LIBDBUSMENU_AGE) \ + -no-undefined \ + -export-symbols-regex "^[^_].*" + +libdbusmenu_jsonloader_la_CFLAGS = \ + $(DBUSMENUGLIB_CFLAGS) \ + -I $(srcdir)/.. \ + -Wall \ + -Werror \ + -DG_DISABLE_DEPRECATED \ + -DG_LOG_DOMAIN="\"LIBDBUSMENU-JSONLOADER\"" + +libdbusmenu_jsonloader_la_LIBADD = \ + $(DBUSMENUGLIB_LIBS) + +pkgconfig_DATA = dbusmenu-jsonloader.pc +pkgconfigdir = $(libdir)/pkgconfig + ###################### # Test GLib server ###################### diff --git a/tests/dbusmenu-jsonloader.pc.in b/tests/dbusmenu-jsonloader.pc.in new file mode 100644 index 0000000..6c48f7e --- /dev/null +++ b/tests/dbusmenu-jsonloader.pc.in @@ -0,0 +1,14 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +bindir=@bindir@ +includedir=@includedir@ + +Cflags: -I${includedir}/libdbusmenu-0.1 +Requires: dbus-glib-1 +Libs: -L${libdir} -ldbusmenu-jsonloader + +Name: libdbusmenu-jsonloader +Description: A small library to load JSON descriptions of menus. Mostly for testing. +Version: @VERSION@ + diff --git a/tests/json-loader.c b/tests/json-loader.c new file mode 100644 index 0000000..c2483b6 --- /dev/null +++ b/tests/json-loader.c @@ -0,0 +1,4 @@ + +#include "json-loader.h" + +const gchar * myval = "FIVE"; diff --git a/tests/json-loader.h b/tests/json-loader.h new file mode 100644 index 0000000..b776c15 --- /dev/null +++ b/tests/json-loader.h @@ -0,0 +1,3 @@ + +#include + -- cgit v1.2.3 From 71e4cc90f10559cc675d696c773ed2825a2cbb8d Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 15:55:53 -0500 Subject: Moving the JSON parsing code into the library. --- tests/Makefile.am | 2 + tests/json-loader.c | 87 ++++++++++++++++++++++++++++++++++++++++++- tests/json-loader.h | 8 ++++ tests/test-gtk-label-server.c | 71 +---------------------------------- 4 files changed, 98 insertions(+), 70 deletions(-) diff --git a/tests/Makefile.am b/tests/Makefile.am index 18ca628..d9468bb 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -57,6 +57,7 @@ libdbusmenu_jsonloader_la_LDFLAGS = \ libdbusmenu_jsonloader_la_CFLAGS = \ $(DBUSMENUGLIB_CFLAGS) \ + $(DBUSMENUTESTS_CFLAGS) \ -I $(srcdir)/.. \ -Wall \ -Werror \ @@ -320,6 +321,7 @@ test_gtk_label_server_CFLAGS = \ test_gtk_label_server_LDADD = \ ../libdbusmenu-glib/libdbusmenu-glib.la \ ../libdbusmenu-gtk/libdbusmenu-gtk.la \ + libdbusmenu-jsonloader.la \ $(DBUSMENUGTK_LIBS) \ $(DBUSMENUTESTS_LIBS) diff --git a/tests/json-loader.c b/tests/json-loader.c index c2483b6..7cfc7d9 100644 --- a/tests/json-loader.c +++ b/tests/json-loader.c @@ -1,4 +1,89 @@ #include "json-loader.h" -const gchar * myval = "FIVE"; +static void +set_props (DbusmenuMenuitem * mi, JsonObject * node) +{ + if (node == NULL) return; + + GList * members = NULL; + for (members = json_object_get_members(node); members != NULL; members = g_list_next(members)) { + const gchar * member = members->data; + + if (!g_strcmp0(member, "id")) { continue; } + if (!g_strcmp0(member, "submenu")) { continue; } + + JsonNode * lnode = json_object_get_member(node, member); + if (JSON_NODE_TYPE(lnode) != JSON_NODE_VALUE) { continue; } + + GValue value = {0}; + json_node_get_value(lnode, &value); + dbusmenu_menuitem_property_set_value(mi, member, &value); + g_value_unset(&value); + } + + return; +} + +DbusmenuMenuitem * +dbusmenu_json_build_from_node (const JsonNode * cnode) +{ + JsonNode * node = (JsonNode *)cnode; /* To match the jsonglib API :( */ + + if (node == NULL) return NULL; + if (JSON_NODE_TYPE(node) != JSON_NODE_OBJECT) return NULL; + + JsonObject * layout = json_node_get_object(node); + + DbusmenuMenuitem * local = NULL; + if (json_object_has_member(layout, "id")) { + JsonNode * node = json_object_get_member(layout, "id"); + g_return_val_if_fail(JSON_NODE_TYPE(node) == JSON_NODE_VALUE, NULL); + local = dbusmenu_menuitem_new_with_id(json_node_get_int(node)); + } else { + local = dbusmenu_menuitem_new(); + } + + set_props(local, layout); + + if (json_object_has_member(layout, "submenu")) { + JsonNode * node = json_object_get_member(layout, "submenu"); + g_return_val_if_fail(JSON_NODE_TYPE(node) == JSON_NODE_ARRAY, local); + JsonArray * array = json_node_get_array(node); + guint count; + for (count = 0; count < json_array_get_length(array); count++) { + DbusmenuMenuitem * child = dbusmenu_json_build_from_node(json_array_get_element(array, count)); + if (child != NULL) { + dbusmenu_menuitem_child_append(local, child); + } + } + } + + /* g_debug("Layout to menu return: 0x%X", (unsigned int)local); */ + return local; +} + +DbusmenuMenuitem * +dbusmenu_json_build_from_file (const gchar * filename) +{ + JsonParser * parser = json_parser_new(); + + GError * error = NULL; + if (!json_parser_load_from_file(parser, filename, &error)) { + g_warning("Failed parsing file %s because: %s", filename, error->message); + g_error_free(error); + return NULL; + } + + JsonNode * root_node = json_parser_get_root(parser); + if (JSON_NODE_TYPE(root_node) != JSON_NODE_OBJECT) { + g_warning("Root node is not an object, fail. It's an: %s", json_node_type_name(root_node)); + return NULL; + } + + DbusmenuMenuitem * mi = dbusmenu_json_build_from_node(root_node); + + g_object_unref(parser); + + return mi; +} diff --git a/tests/json-loader.h b/tests/json-loader.h index b776c15..67e1c8b 100644 --- a/tests/json-loader.h +++ b/tests/json-loader.h @@ -1,3 +1,11 @@ +#ifndef __DBUSMENU_JSON_LOADER_H__ +#define __DBUSMENU_JSON_LOADER_H__ + #include +#include + +DbusmenuMenuitem * dbusmenu_json_build_from_node (const JsonNode * node); +DbusmenuMenuitem * dbusmenu_json_build_from_file (const gchar * filename); +#endif /* __DBUSMENU_JSON_LOADER_H__ */ diff --git a/tests/test-gtk-label-server.c b/tests/test-gtk-label-server.c index 32d7a43..32572fc 100644 --- a/tests/test-gtk-label-server.c +++ b/tests/test-gtk-label-server.c @@ -30,74 +30,7 @@ with this program. If not, see . #include #include - -static void -menuitem_click(DbusmenuMenuitem * mi, guint32 time, gpointer user_data) -{ - g_debug("Clicked on: %d @ %d", dbusmenu_menuitem_get_id(mi), time); - return; -} - -static void -set_props (DbusmenuMenuitem * mi, JsonObject * node) -{ - if (node == NULL) return; - - GList * members = NULL; - for (members = json_object_get_members(node); members != NULL; members = g_list_next(members)) { - const gchar * member = members->data; - - if (!g_strcmp0(member, "id")) { continue; } - if (!g_strcmp0(member, "submenu")) { continue; } - - JsonNode * lnode = json_object_get_member(node, member); - if (JSON_NODE_TYPE(lnode) != JSON_NODE_VALUE) { continue; } - - GValue value = {0}; - json_node_get_value(lnode, &value); - dbusmenu_menuitem_property_set_value(mi, member, &value); - g_value_unset(&value); - } - - return; -} - -static DbusmenuMenuitem * -layout2menuitem (JsonNode * inlayout) -{ - if (inlayout == NULL) return NULL; - if (JSON_NODE_TYPE(inlayout) != JSON_NODE_OBJECT) return NULL; - - JsonObject * layout = json_node_get_object(inlayout); - - DbusmenuMenuitem * local = NULL; - if (json_object_has_member(layout, "id")) { - JsonNode * node = json_object_get_member(layout, "id"); - g_return_val_if_fail(JSON_NODE_TYPE(node) == JSON_NODE_VALUE, NULL); - local = dbusmenu_menuitem_new_with_id(json_node_get_int(node)); - } else { - local = dbusmenu_menuitem_new(); - } - g_signal_connect(G_OBJECT(local), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(menuitem_click), NULL); - - set_props(local, layout); - - if (json_object_has_member(layout, "submenu")) { - JsonNode * node = json_object_get_member(layout, "submenu"); - g_return_val_if_fail(JSON_NODE_TYPE(node) == JSON_NODE_ARRAY, local); - JsonArray * array = json_node_get_array(node); - guint count; - for (count = 0; count < json_array_get_length(array); count++) { - DbusmenuMenuitem * child = layout2menuitem(json_array_get_element(array, count)); - if (child != NULL) { - dbusmenu_menuitem_child_append(local, child); - } - } - } - - /* g_debug("Layout to menu return: 0x%X", (unsigned int)local); */ - return local; -} +#include "json-loader.h" static JsonArray * root_array = NULL; static guint layouton = 0; @@ -114,7 +47,7 @@ timer_func (gpointer data) } g_debug("Updating to Layout %d", layouton); - dbusmenu_server_set_root(server, layout2menuitem(json_array_get_element(root_array, layouton))); + dbusmenu_server_set_root(server, dbusmenu_json_build_from_node(json_array_get_element(root_array, layouton))); layouton++; return TRUE; -- cgit v1.2.3 From fa34ff87fd2149d3c89c8b00fa8713b8a2b9b563 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 16:04:48 -0500 Subject: Make the code behave exactly the same but with a function call in the middle. --- tests/json-loader.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/tests/json-loader.c b/tests/json-loader.c index 7cfc7d9..94df096 100644 --- a/tests/json-loader.c +++ b/tests/json-loader.c @@ -1,6 +1,13 @@ #include "json-loader.h" +static GValue * +handle_complex_types (JsonNode * node) +{ + + return NULL; +} + static void set_props (DbusmenuMenuitem * mi, JsonObject * node) { @@ -14,12 +21,20 @@ set_props (DbusmenuMenuitem * mi, JsonObject * node) if (!g_strcmp0(member, "submenu")) { continue; } JsonNode * lnode = json_object_get_member(node, member); - if (JSON_NODE_TYPE(lnode) != JSON_NODE_VALUE) { continue; } - GValue value = {0}; - json_node_get_value(lnode, &value); - dbusmenu_menuitem_property_set_value(mi, member, &value); - g_value_unset(&value); + if (JSON_NODE_TYPE(lnode) != JSON_NODE_VALUE) { + GValue * value = handle_complex_types(lnode); + if (value != NULL) { + dbusmenu_menuitem_property_set_value(mi, member, value); + g_value_unset(value); + g_free(value); + } + } else { + GValue value = {0}; + json_node_get_value(lnode, &value); + dbusmenu_menuitem_property_set_value(mi, member, &value); + g_value_unset(&value); + } } return; -- cgit v1.2.3 From fc3ce0689dacf6396b54e51f6a9c9f24a4a6b9ef Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 16:19:57 -0500 Subject: Restructuring a bit to make it more reusable. --- tests/json-loader.c | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/tests/json-loader.c b/tests/json-loader.c index 94df096..aa11aa5 100644 --- a/tests/json-loader.c +++ b/tests/json-loader.c @@ -2,9 +2,27 @@ #include "json-loader.h" static GValue * -handle_complex_types (JsonNode * node) +node2value (JsonNode * node) { + if (node == NULL) { + return NULL; + } + + GValue * value = g_new0(GValue, 1); + if (JSON_NODE_TYPE(node) == JSON_NODE_VALUE) { + json_node_get_value(node, value); + return value; + } + + if (JSON_NODE_TYPE(node) == JSON_NODE_ARRAY) { + } + + + if (JSON_NODE_TYPE(node) == JSON_NODE_OBJECT) { + } + + g_free(value); return NULL; } @@ -21,19 +39,12 @@ set_props (DbusmenuMenuitem * mi, JsonObject * node) if (!g_strcmp0(member, "submenu")) { continue; } JsonNode * lnode = json_object_get_member(node, member); + GValue * value = node2value(lnode); - if (JSON_NODE_TYPE(lnode) != JSON_NODE_VALUE) { - GValue * value = handle_complex_types(lnode); - if (value != NULL) { - dbusmenu_menuitem_property_set_value(mi, member, value); - g_value_unset(value); - g_free(value); - } - } else { - GValue value = {0}; - json_node_get_value(lnode, &value); - dbusmenu_menuitem_property_set_value(mi, member, &value); - g_value_unset(&value); + if (value != NULL) { + dbusmenu_menuitem_property_set_value(mi, member, value); + g_value_unset(value); + g_free(value); } } -- cgit v1.2.3 From ced63228a6304953dcd57adcc6a1f9906b2d9a21 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 16:54:33 -0500 Subject: Turn objects into hashmaps --- tests/json-loader.c | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/tests/json-loader.c b/tests/json-loader.c index aa11aa5..e61a49a 100644 --- a/tests/json-loader.c +++ b/tests/json-loader.c @@ -1,5 +1,6 @@ #include "json-loader.h" +#include static GValue * node2value (JsonNode * node) @@ -17,9 +18,39 @@ node2value (JsonNode * node) if (JSON_NODE_TYPE(node) == JSON_NODE_ARRAY) { } - if (JSON_NODE_TYPE(node) == JSON_NODE_OBJECT) { + JsonObject * obj = json_node_get_object(node); + + GType type = dbus_g_type_get_map("GHashTable", G_TYPE_STRING, G_TYPE_VALUE); + GHashTable * hash = (GHashTable *)dbus_g_type_specialized_construct(type); + + g_value_init(value, type); + g_value_take_boxed(value, hash); + + DBusGTypeSpecializedAppendContext ctx; + dbus_g_type_specialized_init_append(value, &ctx); + + GList * members = NULL; + for (members = json_object_get_members(obj); members != NULL; members = g_list_next(members)) { + const gchar * member = members->data; + + JsonNode * lnode = json_object_get_member(obj, member); + GValue * value = node2value(lnode); + + if (value != NULL) { + GValue name = {0}; + g_value_init(&name, G_TYPE_STRING); + g_value_set_static_string(&name, member); + + dbus_g_type_specialized_map_append(&ctx, &name, value); + + g_value_unset(&name); + g_value_unset(value); + g_free(value); + } + } + } g_free(value); -- cgit v1.2.3 From ccd36f867b28766e708ab7bdbbd36fda3492a8fd Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 17:13:32 -0500 Subject: Okay, so now we're handling the complex areas. --- tests/json-loader.c | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/tests/json-loader.c b/tests/json-loader.c index e61a49a..64e1579 100644 --- a/tests/json-loader.c +++ b/tests/json-loader.c @@ -17,6 +17,31 @@ node2value (JsonNode * node) } if (JSON_NODE_TYPE(node) == JSON_NODE_ARRAY) { + JsonArray * array = json_node_get_array(node); + JsonNode * first = json_array_get_element(array, 0); + + if (JSON_NODE_TYPE(first) == JSON_NODE_VALUE) { + + } else { + GValue * subvalue = node2value(first); + GType type = dbus_g_type_get_collection("GPtrArray", G_VALUE_TYPE(subvalue)); + gpointer * wrapper = dbus_g_type_specialized_construct(type); + + g_value_init(value, type); + g_value_take_boxed(value, wrapper); + + DBusGTypeSpecializedAppendContext ctx; + dbus_g_type_specialized_init_append(value, &ctx); + + dbus_g_type_specialized_collection_append(&ctx, subvalue); + int i; + for (i = 1; i < json_array_get_length(array); i++) { + GValue * subvalue = node2value(node); + dbus_g_type_specialized_collection_append(&ctx, subvalue); + } + + dbus_g_type_specialized_collection_end_append(&ctx); + } } if (JSON_NODE_TYPE(node) == JSON_NODE_OBJECT) { @@ -50,11 +75,9 @@ node2value (JsonNode * node) g_free(value); } } - } - g_free(value); - return NULL; + return value; } static void -- cgit v1.2.3 From 3bbd2b821624a706b94a297e7e46442b9ae227f9 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 17:24:09 -0500 Subject: Okay, now we've got some basic code for dealing with value arrays --- tests/json-loader.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tests/json-loader.c b/tests/json-loader.c index 64e1579..2f27bff 100644 --- a/tests/json-loader.c +++ b/tests/json-loader.c @@ -21,6 +21,37 @@ node2value (JsonNode * node) JsonNode * first = json_array_get_element(array, 0); if (JSON_NODE_TYPE(first) == JSON_NODE_VALUE) { + GValue subvalue = {0}; + json_node_get_value(first, &subvalue); + + if (G_VALUE_TYPE(&subvalue) == G_TYPE_STRING) { + GArray * garray = g_array_sized_new(TRUE, TRUE, sizeof(gchar *), json_array_get_length(array)); + g_value_init(value, G_TYPE_STRV); + g_value_take_boxed(value, garray->data); + + int i; + for (i = 0; i < json_array_get_length(array); i++) { + const gchar * str = json_node_get_string(first); + gchar * dupstr = g_strdup(str); + g_array_append_val(garray, dupstr); + } + + g_array_free(garray, FALSE); + } else { + GValueArray * varray = g_value_array_new(json_array_get_length(array)); + g_value_init(value, G_TYPE_VALUE_ARRAY); + g_value_take_boxed(value, varray); + + g_value_array_append(varray, &subvalue); + g_value_unset(&subvalue); + + int i; + for (i = 1; i < json_array_get_length(array); i++) { + json_node_get_value(first, &subvalue); + g_value_array_append(varray, &subvalue); + g_value_unset(&subvalue); + } + } } else { GValue * subvalue = node2value(first); -- cgit v1.2.3 From d2ee9c6261888a13b0f531ad119b008b130daee9 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 17:56:45 -0500 Subject: Adding a JSON loader --- .bzrignore | 1 + tests/Makefile.am | 42 +++++++++++++++++++++++++++++++-- tests/test-json-server.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 tests/test-json-server.c diff --git a/.bzrignore b/.bzrignore index 1079d9f..d2d26a9 100644 --- a/.bzrignore +++ b/.bzrignore @@ -185,3 +185,4 @@ m4/gtk-doc.m4 tests/dbusmenu-jsonloader.pc tests/libdbusmenu-jsonloader.la tests/libdbusmenu_jsonloader_la-json-loader.lo +tests/test-json-server diff --git a/tests/Makefile.am b/tests/Makefile.am index d9468bb..9b95db0 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -7,8 +7,9 @@ TESTS = \ test-glib-properties \ test-glib-proxy \ test-glib-simple-items \ - test-gtk-objects-test \ test-glib-submenu \ + test-json \ + test-gtk-objects-test \ test-gtk-label \ test-gtk-shortcut \ test-gtk-reorder @@ -31,7 +32,8 @@ check_PROGRAMS = \ test-gtk-shortcut-client \ test-gtk-shortcut-server \ test-glib-simple-items \ - test-gtk-reorder-server + test-gtk-reorder-server \ + test-json-server XVFB_RUN=". $(srcdir)/run-xvfb.sh" @@ -118,6 +120,42 @@ test_glib_layout_client_LDADD = \ ../libdbusmenu-glib/libdbusmenu-glib.la \ $(DBUSMENUGLIB_LIBS) +###################### +# Test JSON +###################### + +test-json: test-json-client test-json-server Makefile.am + @echo "#!/bin/bash" > $@ + @echo $(DBUS_RUNNER) --task ./test-json-client --task-name Client --task ./test-json-server --task-name Server --ignore-return >> $@ + @chmod +x $@ + +test_json_server_SOURCES = \ + test-json-server.c + +test_json_server_CFLAGS = \ + -I $(srcdir)/.. \ + -I $(srcdir) \ + $(DBUSMENUGLIB_CFLAGS) \ + $(DBUSMENUTESTS_CFLAGS) \ + -Wall -Werror + +test_json_server_LDADD = \ + ../libdbusmenu-glib/libdbusmenu-glib.la \ + libdbusmenu-jsonloader.la \ + $(DBUSMENUTESTS_LIBS) \ + $(DBUSMENUGLIB_LIBS) + +test_json_client_SOURCES = \ + test-json-client.c + +test_json_client_CFLAGS = \ + -I $(srcdir)/.. \ + $(DBUSMENUGLIB_CFLAGS) -Wall -Werror + +test_json_client_LDADD = \ + ../libdbusmenu-glib/libdbusmenu-glib.la \ + $(DBUSMENUGLIB_LIBS) + ###################### # Test Glib Submenu ###################### diff --git a/tests/test-json-server.c b/tests/test-json-server.c new file mode 100644 index 0000000..b2b8341 --- /dev/null +++ b/tests/test-json-server.c @@ -0,0 +1,60 @@ +#include + +#include +#include +#include +#include + +#include +#include + +#include "json-loader.h" + +static GMainLoop * mainloop = NULL; + +static gboolean +timer_func (gpointer data) +{ + g_main_loop_quit(mainloop); + return FALSE; +} + +int +main (int argc, char ** argv) +{ + GError * error = NULL; + + g_type_init(); + + DBusGConnection * connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL); + g_debug("DBus ID: %s", dbus_connection_get_server_id(dbus_g_connection_get_connection(dbus_g_bus_get(DBUS_BUS_SESSION, NULL)))); + + DBusGProxy * bus_proxy = dbus_g_proxy_new_for_name(connection, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); + guint nameret = 0; + + if (!org_freedesktop_DBus_request_name(bus_proxy, "org.dbusmenu.test", 0, &nameret, &error)) { + g_error("Unable to call to request name"); + return 1; + } + + if (nameret != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { + g_error("Unable to get name"); + return 1; + } + + DbusmenuServer * server = dbusmenu_server_new("/org/test"); + + DbusmenuMenuitem * root = dbusmenu_json_build_from_file(argv[1]); + g_return_val_if_fail(root!=NULL, 1); + + dbusmenu_server_set_root(server, root); + + g_timeout_add(3000, timer_func, NULL); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + g_debug("Quiting"); + + return 0; +} -- cgit v1.2.3 From 3db8acbd9f0fa9bed9519b8db6ab31e08f430962 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 17:59:52 -0500 Subject: Adding in a test json file. --- tests/Makefile.am | 3 +- tests/test-json-01.json | 4023 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 4025 insertions(+), 1 deletion(-) create mode 100644 tests/test-json-01.json diff --git a/tests/Makefile.am b/tests/Makefile.am index 9b95db0..2dd2cf7 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -495,7 +495,8 @@ EXTRA_DIST = \ dbusmenu-gtk/mago_tests/data/several_submenus_recursive.json \ dbusmenu-gtk/mago_tests/data/several_submenus_utf8.json \ dbusmenu-gtk/mago_tests/data/static.json \ - dbusmenu-gtk/mago_tests/data/test-gtk-label.json + dbusmenu-gtk/mago_tests/data/test-gtk-label.json \ + test-json-01.json CLEANFILES = \ dbusmenu-gtk/mago_tests/dbusmenu.pyc diff --git a/tests/test-json-01.json b/tests/test-json-01.json new file mode 100644 index 0000000..a46a6d6 --- /dev/null +++ b/tests/test-json-01.json @@ -0,0 +1,4023 @@ +{ + "id": 0, + "children-display": "submenu", + "submenu": [ + { + "id": 5, + "enabled": TRUE, + "label": "File", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 6, + "shortcut": [["Control", "q"]], + "enabled": TRUE, + "label": "Quit", + "visible": TRUE + }, + { + "id": 7, + "shortcut": [["Control", "Shift", "w"]], + "enabled": TRUE, + "label": "Close all", + "visible": TRUE + }, + { + "id": 8, + "shortcut": [["Control", "w"]], + "enabled": TRUE, + "label": "Close", + "visible": TRUE + }, + { + "id": 9, + "type": "separator" + }, + { + "id": 10, + "enabled": TRUE, + "label": "Send by Email...", + "visible": TRUE + }, + { + "id": 11, + "shortcut": [["Control", "p"]], + "enabled": TRUE, + "label": "Print...", + "visible": TRUE + }, + { + "id": 12, + "enabled": TRUE, + "label": "Page Setup", + "visible": TRUE + }, + { + "id": 13, + "type": "separator" + }, + { + "id": 14, + "enabled": TRUE, + "label": "Revert", + "visible": TRUE + }, + { + "id": 15, + "enabled": TRUE, + "label": "Save as Template...", + "visible": TRUE + }, + { + "id": 16, + "enabled": TRUE, + "label": "Save a Copy...", + "visible": TRUE + }, + { + "id": 17, + "shortcut": [["Control", "Shift", "s"]], + "enabled": TRUE, + "label": "Save As...", + "visible": TRUE + }, + { + "id": 18, + "shortcut": [["Control", "s"]], + "enabled": TRUE, + "label": "Save", + "visible": TRUE + }, + { + "id": 19, + "type": "separator" + }, + { + "id": 20, + "enabled": TRUE, + "label": "Open Recent", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 21, + "enabled": TRUE, + "label": "Document History", + "visible": TRUE + }, + { + "id": 22, + "type": "separator" + }, + { + "id": 23, + "shortcut": [["Control", "2"]], + "enabled": TRUE, + "label": "giggity.jpg", + "visible": TRUE + }, + { + "id": 24, + "shortcut": [["Control", "1"]], + "enabled": TRUE, + "label": "Icon Height.svg", + "visible": TRUE + } + ] + }, + { + "id": 25, + "enabled": TRUE, + "label": "Open Location...", + "visible": TRUE + }, + { + "id": 26, + "shortcut": [["Control", "Alt", "o"]], + "enabled": TRUE, + "label": "Open as Layers...", + "visible": TRUE + }, + { + "id": 27, + "shortcut": [["Control", "o"]], + "enabled": TRUE, + "label": "Open...", + "visible": TRUE + }, + { + "id": 28, + "enabled": TRUE, + "label": "Create", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 29, + "enabled": TRUE, + "label": "Web Page Themes", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 30, + "enabled": TRUE, + "label": "Classic.Gimp.Org", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 31, + "enabled": TRUE, + "label": "Tube Sub-Sub-Button Label...", + "visible": TRUE + }, + { + "id": 32, + "enabled": TRUE, + "label": "Tube Sub-Button Label...", + "visible": TRUE + }, + { + "id": 33, + "enabled": TRUE, + "label": "Tube Button Label...", + "visible": TRUE + }, + { + "id": 34, + "enabled": TRUE, + "label": "Small Header...", + "visible": TRUE + }, + { + "id": 35, + "enabled": TRUE, + "label": "General Tube Labels...", + "visible": TRUE + }, + { + "id": 36, + "enabled": TRUE, + "label": "Big Header...", + "visible": TRUE + } + ] + }, + { + "id": 37, + "enabled": TRUE, + "label": "Beveled Pattern", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 38, + "enabled": TRUE, + "label": "Hrule...", + "visible": TRUE + }, + { + "id": 39, + "enabled": TRUE, + "label": "Heading...", + "visible": TRUE + }, + { + "id": 40, + "enabled": TRUE, + "label": "Button...", + "visible": TRUE + }, + { + "id": 41, + "enabled": TRUE, + "label": "Bullet...", + "visible": TRUE + }, + { + "id": 42, + "enabled": TRUE, + "label": "Arrow...", + "visible": TRUE + } + ] + }, + { + "id": 43, + "enabled": TRUE, + "label": "Alien Glow", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 44, + "enabled": TRUE, + "label": "Hrule...", + "visible": TRUE + }, + { + "id": 45, + "enabled": TRUE, + "label": "Button...", + "visible": TRUE + }, + { + "id": 46, + "enabled": TRUE, + "label": "Bullet...", + "visible": TRUE + }, + { + "id": 47, + "enabled": TRUE, + "label": "Arrow...", + "visible": TRUE + } + ] + } + ] + }, + { + "id": 48, + "enabled": TRUE, + "label": "Patterns", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 49, + "enabled": TRUE, + "label": "Truchet...", + "visible": TRUE + }, + { + "id": 50, + "enabled": TRUE, + "label": "Swirly...", + "visible": TRUE + }, + { + "id": 51, + "enabled": TRUE, + "label": "Swirl-Tile...", + "visible": TRUE + }, + { + "id": 52, + "enabled": TRUE, + "label": "Render Map...", + "visible": TRUE + }, + { + "id": 53, + "enabled": TRUE, + "label": "Land...", + "visible": TRUE + }, + { + "id": 54, + "enabled": TRUE, + "label": "Flatland...", + "visible": TRUE + }, + { + "id": 55, + "enabled": TRUE, + "label": "Camouflage...", + "visible": TRUE + }, + { + "id": 56, + "enabled": TRUE, + "label": "3D Truchet...", + "visible": TRUE + } + ] + }, + { + "id": 57, + "enabled": TRUE, + "label": "Logos", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 58, + "enabled": TRUE, + "label": "Web Title Header...", + "visible": TRUE + }, + { + "id": 59, + "enabled": TRUE, + "label": "Textured...", + "visible": TRUE + }, + { + "id": 60, + "enabled": TRUE, + "label": "Text Circle...", + "visible": TRUE + }, + { + "id": 61, + "enabled": TRUE, + "label": "Starscape...", + "visible": TRUE + }, + { + "id": 62, + "enabled": TRUE, + "label": "Speed Text...", + "visible": TRUE + }, + { + "id": 63, + "enabled": TRUE, + "label": "SOTA Chrome...", + "visible": TRUE + }, + { + "id": 64, + "enabled": TRUE, + "label": "Particle Trace...", + "visible": TRUE + }, + { + "id": 65, + "enabled": TRUE, + "label": "Newsprint Text...", + "visible": TRUE + }, + { + "id": 66, + "enabled": TRUE, + "label": "Neon...", + "visible": TRUE + }, + { + "id": 67, + "enabled": TRUE, + "label": "Imigre-26...", + "visible": TRUE + }, + { + "id": 68, + "enabled": TRUE, + "label": "Gradient Bevel...", + "visible": TRUE + }, + { + "id": 69, + "enabled": TRUE, + "label": "Glowing Hot...", + "visible": TRUE + }, + { + "id": 70, + "enabled": TRUE, + "label": "Glossy...", + "visible": TRUE + }, + { + "id": 71, + "enabled": TRUE, + "label": "Frosty...", + "visible": TRUE + }, + { + "id": 72, + "enabled": TRUE, + "label": "Crystal...", + "visible": TRUE + }, + { + "id": 73, + "enabled": TRUE, + "label": "Cool Metal...", + "visible": TRUE + }, + { + "id": 74, + "enabled": TRUE, + "label": "Comic Book...", + "visible": TRUE + }, + { + "id": 75, + "enabled": TRUE, + "label": "Chrome...", + "visible": TRUE + }, + { + "id": 76, + "enabled": TRUE, + "label": "Chip Away...", + "visible": TRUE + }, + { + "id": 77, + "enabled": TRUE, + "label": "Chalk...", + "visible": TRUE + }, + { + "id": 78, + "enabled": TRUE, + "label": "Carved...", + "visible": TRUE + }, + { + "id": 79, + "enabled": TRUE, + "label": "Bovination...", + "visible": TRUE + }, + { + "id": 80, + "enabled": TRUE, + "label": "Blended...", + "visible": TRUE + }, + { + "id": 81, + "enabled": TRUE, + "label": "Basic I...", + "visible": TRUE + }, + { + "id": 82, + "enabled": TRUE, + "label": "Basic II...", + "visible": TRUE + }, + { + "id": 83, + "enabled": TRUE, + "label": "Alien Neon...", + "visible": TRUE + }, + { + "id": 84, + "enabled": TRUE, + "label": "Alien Glow...", + "visible": TRUE + }, + { + "id": 85, + "enabled": TRUE, + "label": "3D Outline...", + "visible": TRUE + } + ] + }, + { + "id": 86, + "enabled": TRUE, + "label": "Buttons", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 87, + "enabled": TRUE, + "label": "Simple Beveled Button...", + "visible": TRUE + }, + { + "id": 88, + "enabled": TRUE, + "label": "Round Button...", + "visible": TRUE + } + ] + }, + { + "id": 89, + "type": "separator" + }, + { + "id": 90, + "enabled": TRUE, + "label": "xscanimage", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 91, + "enabled": FALSE, + "label": "Device dialog...", + "visible": TRUE + } + ] + }, + { + "id": 92, + "enabled": TRUE, + "label": "Screenshot...", + "visible": TRUE + }, + { + "id": 93, + "shortcut": [["Control", "Shift", "v"]], + "enabled": TRUE, + "label": "From Clipboard", + "visible": TRUE + } + ] + }, + { + "id": 94, + "shortcut": [["Control", "n"]], + "enabled": TRUE, + "label": "New...", + "visible": TRUE + } + ] + }, + { + "id": 95, + "enabled": TRUE, + "label": "Edit", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 96, + "enabled": TRUE, + "label": "Units", + "visible": TRUE + }, + { + "id": 97, + "enabled": TRUE, + "label": "Modules", + "visible": TRUE + }, + { + "id": 98, + "enabled": TRUE, + "label": "Keyboard Shortcuts", + "visible": TRUE + }, + { + "id": 99, + "enabled": TRUE, + "label": "Preferences", + "visible": TRUE + }, + { + "id": 100, + "type": "separator" + }, + { + "id": 101, + "enabled": FALSE, + "label": "Stroke Path...", + "visible": TRUE + }, + { + "id": 102, + "enabled": FALSE, + "label": "Stroke Selection...", + "visible": TRUE + }, + { + "id": 103, + "shortcut": [["Control", "semicolon"]], + "enabled": TRUE, + "label": "Fill with Pattern", + "visible": TRUE + }, + { + "id": 104, + "shortcut": [["Control", "period"]], + "enabled": TRUE, + "label": "Fill with BG Color", + "visible": TRUE + }, + { + "id": 105, + "shortcut": [["Control", "comma"]], + "enabled": TRUE, + "label": "Fill with FG Color", + "visible": TRUE + }, + { + "id": 106, + "shortcut": [["Delete"]], + "enabled": TRUE, + "label": "Clear", + "visible": TRUE + }, + { + "id": 107, + "type": "separator" + }, + { + "id": 108, + "enabled": TRUE, + "label": "Buffer", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 109, + "enabled": TRUE, + "label": "Paste Named...", + "visible": TRUE + }, + { + "id": 110, + "enabled": TRUE, + "label": "Copy Visible Named...", + "visible": TRUE + }, + { + "id": 111, + "enabled": TRUE, + "label": "Copy Named...", + "visible": TRUE + }, + { + "id": 112, + "enabled": TRUE, + "label": "Cut Named...", + "visible": TRUE + } + ] + }, + { + "id": 113, + "enabled": TRUE, + "label": "Paste as", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 114, + "enabled": TRUE, + "label": "New Pattern...", + "visible": TRUE + }, + { + "id": 115, + "enabled": TRUE, + "label": "New Brush...", + "visible": TRUE + }, + { + "id": 116, + "enabled": TRUE, + "label": "New Layer", + "visible": TRUE + }, + { + "id": 117, + "shortcut": [["Control", "Shift", "v"]], + "enabled": TRUE, + "label": "New Image", + "visible": TRUE + } + ] + }, + { + "id": 118, + "enabled": TRUE, + "label": "Paste Into", + "visible": TRUE + }, + { + "id": 119, + "shortcut": [["Control", "v"]], + "enabled": TRUE, + "label": "Paste", + "visible": TRUE + }, + { + "id": 120, + "shortcut": [["Control", "Shift", "c"]], + "enabled": TRUE, + "label": "Copy Visible", + "visible": TRUE + }, + { + "id": 121, + "shortcut": [["Control", "c"]], + "enabled": TRUE, + "label": "Copy", + "visible": TRUE + }, + { + "id": 122, + "shortcut": [["Control", "x"]], + "enabled": TRUE, + "label": "Cut", + "visible": TRUE + }, + { + "id": 123, + "type": "separator" + }, + { + "id": 124, + "enabled": TRUE, + "label": "Undo History", + "visible": TRUE + }, + { + "id": 3, + "enabled": FALSE, + "label": "_Fade...", + "visible": TRUE + }, + { + "id": 2, + "shortcut": [["Control", "y"]], + "enabled": FALSE, + "label": "_Redo", + "visible": TRUE + }, + { + "id": 1, + "shortcut": [["Control", "z"]], + "enabled": FALSE, + "label": "_Undo", + "visible": TRUE + } + ] + }, + { + "id": 125, + "enabled": TRUE, + "label": "Select", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 126, + "enabled": FALSE, + "label": "To Path", + "visible": TRUE + }, + { + "id": 127, + "enabled": TRUE, + "label": "Save to Channel", + "visible": TRUE + }, + { + "id": 128, + "shortcut": [["Shift", "q"]], + "enabled": TRUE, + "toggle-state": 0, + "label": "Toggle Quick Mask", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 129, + "type": "separator" + }, + { + "id": 130, + "enabled": TRUE, + "label": "Distort...", + "visible": TRUE + }, + { + "id": 131, + "enabled": FALSE, + "label": "Border...", + "visible": TRUE + }, + { + "id": 132, + "enabled": FALSE, + "label": "Grow...", + "visible": TRUE + }, + { + "id": 133, + "enabled": FALSE, + "label": "Shrink...", + "visible": TRUE + }, + { + "id": 134, + "enabled": FALSE, + "label": "Sharpen", + "visible": TRUE + }, + { + "id": 135, + "enabled": FALSE, + "label": "Feather...", + "visible": TRUE + }, + { + "id": 136, + "type": "separator" + }, + { + "id": 137, + "enabled": TRUE, + "label": "Selection Editor", + "visible": TRUE + }, + { + "id": 138, + "shortcut": [["Shift", "v"]], + "enabled": FALSE, + "label": "From Path", + "visible": TRUE + }, + { + "id": 139, + "shortcut": [["Shift", "o"]], + "enabled": TRUE, + "label": "By Color", + "visible": TRUE + }, + { + "id": 140, + "shortcut": [["Control", "Shift", "l"]], + "enabled": FALSE, + "label": "Float", + "visible": TRUE + }, + { + "id": 141, + "shortcut": [["Control", "i"]], + "enabled": TRUE, + "label": "Invert", + "visible": TRUE + }, + { + "id": 142, + "shortcut": [["Control", "Shift", "a"]], + "enabled": FALSE, + "label": "None", + "visible": TRUE + }, + { + "id": 143, + "shortcut": [["Control", "a"]], + "enabled": TRUE, + "label": "All", + "visible": TRUE + } + ] + }, + { + "id": 144, + "enabled": TRUE, + "label": "View", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 145, + "enabled": TRUE, + "toggle-state": 1, + "label": "Show Statusbar", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 146, + "enabled": TRUE, + "toggle-state": 0, + "label": "Show Scrollbars", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 147, + "shortcut": [["Control", "Shift", "r"]], + "enabled": TRUE, + "toggle-state": 0, + "label": "Show Rulers", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 148, + "enabled": TRUE, + "toggle-state": 1, + "label": "Show Menubar", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 149, + "enabled": TRUE, + "label": "Padding Color", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 150, + "enabled": TRUE, + "label": "As in Preferences", + "visible": TRUE + }, + { + "id": 151, + "type": "separator" + }, + { + "id": 152, + "enabled": TRUE, + "label": "Select Custom Color...", + "visible": TRUE + }, + { + "id": 153, + "enabled": TRUE, + "label": "Dark Check Color", + "visible": TRUE + }, + { + "id": 154, + "enabled": TRUE, + "label": "Light Check Color", + "visible": TRUE + }, + { + "id": 155, + "enabled": TRUE, + "label": "From Theme", + "visible": TRUE + } + ] + }, + { + "id": 156, + "type": "separator" + }, + { + "id": 157, + "enabled": TRUE, + "toggle-state": 0, + "label": "Snap to Active Path", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 158, + "enabled": TRUE, + "toggle-state": 0, + "label": "Snap to Canvas Edges", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 159, + "enabled": TRUE, + "toggle-state": 0, + "label": "Snap to Grid", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 160, + "enabled": TRUE, + "toggle-state": 1, + "label": "Snap to Guides", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 161, + "type": "separator" + }, + { + "id": 162, + "enabled": TRUE, + "toggle-state": 0, + "label": "Show Sample Points", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 163, + "enabled": TRUE, + "toggle-state": 0, + "label": "Show Grid", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 164, + "shortcut": [["Control", "Shift", "t"]], + "enabled": TRUE, + "toggle-state": 0, + "label": "Show Guides", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 165, + "enabled": TRUE, + "toggle-state": 0, + "label": "Show Layer Boundary", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 166, + "shortcut": [["Control", "t"]], + "enabled": TRUE, + "toggle-state": 0, + "label": "Show Selection", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 167, + "type": "separator" + }, + { + "id": 168, + "enabled": TRUE, + "label": "Display Filters...", + "visible": TRUE + }, + { + "id": 169, + "enabled": TRUE, + "label": "Navigation Window", + "visible": TRUE + }, + { + "id": 170, + "type": "separator" + }, + { + "id": 171, + "shortcut": [["F11"]], + "enabled": TRUE, + "toggle-state": 0, + "label": "Fullscreen", + "toggle-type": "checkmark", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 172, + "enabled": TRUE, + "label": "Open Display...", + "visible": TRUE + } + ] + }, + { + "id": 173, + "shortcut": [["Control", "e"]], + "enabled": TRUE, + "label": "Shrink Wrap", + "visible": TRUE + }, + { + "id": 174, + "type": "separator" + }, + { + "id": 175, + "enabled": TRUE, + "label": "_Zoom (67%)", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 176, + "enabled": TRUE, + "toggle-state": 0, + "label": "Othe_r (67%)...", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 177, + "type": "separator" + }, + { + "id": 178, + "enabled": TRUE, + "toggle-state": 0, + "label": "1:16 (6.25%)", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 179, + "enabled": TRUE, + "toggle-state": 0, + "label": "1:8 (12.5%)", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 180, + "enabled": TRUE, + "toggle-state": 0, + "label": "1:4 (25%)", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 181, + "enabled": TRUE, + "toggle-state": 0, + "label": "1:2 (50%)", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 182, + "shortcut": [["1"]], + "enabled": TRUE, + "toggle-state": 1, + "label": "1:1 (100%)", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 183, + "enabled": TRUE, + "toggle-state": 0, + "label": "2:1 (200%)", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 184, + "enabled": TRUE, + "toggle-state": 0, + "label": "4:1 (400%)", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 185, + "enabled": TRUE, + "toggle-state": 0, + "label": "8:1 (800%)", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 186, + "enabled": TRUE, + "toggle-state": 0, + "label": "16:1 (1600%)", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 187, + "type": "separator" + }, + { + "id": 188, + "enabled": TRUE, + "label": "Fill Window", + "visible": TRUE + }, + { + "id": 189, + "shortcut": [["Control", "Shift", "e"]], + "enabled": TRUE, + "label": "Fit Image in Window", + "visible": TRUE + }, + { + "id": 190, + "shortcut": [["plus"]], + "enabled": TRUE, + "label": "Zoom In", + "visible": TRUE + }, + { + "id": 191, + "shortcut": [["minus"]], + "enabled": TRUE, + "label": "Zoom Out", + "visible": TRUE + }, + { + "id": 4, + "shortcut": [["grave"]], + "enabled": TRUE, + "label": "Re_vert Zoom (67%)", + "visible": TRUE + } + ] + }, + { + "id": 192, + "enabled": TRUE, + "toggle-state": 1, + "label": "Dot for Dot", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 193, + "enabled": TRUE, + "label": "New View", + "visible": TRUE + } + ] + }, + { + "id": 194, + "enabled": TRUE, + "label": "Image", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 195, + "shortcut": [["Alt", "Return"]], + "enabled": TRUE, + "label": "Image Properties", + "visible": TRUE + }, + { + "id": 196, + "enabled": TRUE, + "label": "Configure Grid...", + "visible": TRUE + }, + { + "id": 197, + "enabled": TRUE, + "label": "Guides", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 198, + "enabled": TRUE, + "label": "Remove all Guides", + "visible": TRUE + }, + { + "id": 199, + "enabled": TRUE, + "label": "New Guides from Selection", + "visible": TRUE + }, + { + "id": 200, + "enabled": TRUE, + "label": "New Guide...", + "visible": TRUE + }, + { + "id": 201, + "enabled": TRUE, + "label": "New Guide (by Percent)...", + "visible": TRUE + } + ] + }, + { + "id": 202, + "type": "separator" + }, + { + "id": 203, + "enabled": TRUE, + "label": "Align Visible Layers...", + "visible": TRUE + }, + { + "id": 204, + "enabled": TRUE, + "label": "Flatten Image", + "visible": TRUE + }, + { + "id": 205, + "shortcut": [["Control", "m"]], + "enabled": TRUE, + "label": "Merge Visible Layers...", + "visible": TRUE + }, + { + "id": 206, + "type": "separator" + }, + { + "id": 207, + "enabled": TRUE, + "label": "Zealous Crop", + "visible": TRUE + }, + { + "id": 208, + "enabled": TRUE, + "label": "Autocrop Image", + "visible": TRUE + }, + { + "id": 209, + "enabled": FALSE, + "label": "Crop to Selection", + "visible": TRUE + }, + { + "id": 210, + "type": "separator" + }, + { + "id": 211, + "enabled": TRUE, + "label": "Scale Image...", + "visible": TRUE + }, + { + "id": 212, + "enabled": TRUE, + "label": "Print Size...", + "visible": TRUE + }, + { + "id": 213, + "enabled": FALSE, + "label": "Fit Canvas to Selection", + "visible": TRUE + }, + { + "id": 214, + "enabled": TRUE, + "label": "Fit Canvas to Layers", + "visible": TRUE + }, + { + "id": 215, + "enabled": TRUE, + "label": "Canvas Size...", + "visible": TRUE + }, + { + "id": 216, + "type": "separator" + }, + { + "id": 217, + "enabled": TRUE, + "label": "Transform", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 218, + "enabled": TRUE, + "label": "Guillotine", + "visible": TRUE + }, + { + "id": 219, + "type": "separator" + }, + { + "id": 220, + "enabled": TRUE, + "label": "Rotate 180\302\260", + "visible": TRUE + }, + { + "id": 221, + "enabled": TRUE, + "label": "Rotate 90\302\260 counter-clockwise", + "visible": TRUE + }, + { + "id": 222, + "enabled": TRUE, + "label": "Rotate 90\302\260 clockwise", + "visible": TRUE + }, + { + "id": 223, + "type": "separator" + }, + { + "id": 224, + "enabled": TRUE, + "label": "Flip Vertically", + "visible": TRUE + }, + { + "id": 225, + "enabled": TRUE, + "label": "Flip Horizontally", + "visible": TRUE + } + ] + }, + { + "id": 226, + "enabled": TRUE, + "label": "Mode", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 227, + "enabled": TRUE, + "label": "Convert to Color Profile...", + "visible": TRUE + }, + { + "id": 228, + "enabled": TRUE, + "label": "Assign Color Profile...", + "visible": TRUE + }, + { + "id": 229, + "type": "separator" + }, + { + "id": 230, + "enabled": TRUE, + "toggle-state": 0, + "label": "Indexed...", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 231, + "enabled": TRUE, + "toggle-state": 0, + "label": "Grayscale", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 232, + "enabled": TRUE, + "toggle-state": 1, + "label": "RGB", + "toggle-type": "checkmark", + "visible": TRUE + } + ] + }, + { + "id": 233, + "shortcut": [["Control", "d"]], + "enabled": TRUE, + "label": "Duplicate", + "visible": TRUE + } + ] + }, + { + "id": 234, + "enabled": TRUE, + "label": "Layer", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 235, + "enabled": TRUE, + "label": "Autocrop Layer", + "visible": TRUE + }, + { + "id": 236, + "enabled": FALSE, + "label": "Crop to Selection", + "visible": TRUE + }, + { + "id": 237, + "enabled": TRUE, + "label": "Scale Layer...", + "visible": TRUE + }, + { + "id": 238, + "enabled": TRUE, + "label": "Layer to Image Size", + "visible": TRUE + }, + { + "id": 239, + "enabled": TRUE, + "label": "Layer Boundary Size...", + "visible": TRUE + }, + { + "id": 240, + "type": "separator" + }, + { + "id": 241, + "enabled": TRUE, + "label": "Transform", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 242, + "shortcut": [["Control", "Shift", "o"]], + "enabled": TRUE, + "label": "Offset...", + "visible": TRUE + }, + { + "id": 243, + "type": "separator" + }, + { + "id": 244, + "enabled": TRUE, + "label": "Arbitrary Rotation...", + "visible": TRUE + }, + { + "id": 245, + "enabled": TRUE, + "label": "Rotate 180\302\260", + "visible": TRUE + }, + { + "id": 246, + "enabled": TRUE, + "label": "Rotate 90\302\260 counter-clockwise", + "visible": TRUE + }, + { + "id": 247, + "enabled": TRUE, + "label": "Rotate 90\302\260 clockwise", + "visible": TRUE + }, + { + "id": 248, + "type": "separator" + }, + { + "id": 249, + "enabled": TRUE, + "label": "Flip Vertically", + "visible": TRUE + }, + { + "id": 250, + "enabled": TRUE, + "label": "Flip Horizontally", + "visible": TRUE + } + ] + }, + { + "id": 251, + "enabled": TRUE, + "label": "Transparency", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 252, + "enabled": TRUE, + "label": "Intersect with Selection", + "visible": TRUE + }, + { + "id": 253, + "enabled": TRUE, + "label": "Subtract from Selection", + "visible": TRUE + }, + { + "id": 254, + "enabled": TRUE, + "label": "Add to Selection", + "visible": TRUE + }, + { + "id": 255, + "enabled": TRUE, + "label": "Alpha to Selection", + "visible": TRUE + }, + { + "id": 256, + "type": "separator" + }, + { + "id": 257, + "enabled": TRUE, + "label": "Threshold Alpha...", + "visible": TRUE + }, + { + "id": 258, + "enabled": TRUE, + "label": "Semi-Flatten", + "visible": TRUE + }, + { + "id": 259, + "enabled": TRUE, + "label": "Color to Alpha...", + "visible": TRUE + }, + { + "id": 260, + "enabled": TRUE, + "label": "Remove Alpha Channel", + "visible": TRUE + }, + { + "id": 261, + "enabled": FALSE, + "label": "Add Alpha Channel", + "visible": TRUE + } + ] + }, + { + "id": 262, + "enabled": TRUE, + "label": "Mask", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 263, + "enabled": FALSE, + "label": "Intersect with Selection", + "visible": TRUE + }, + { + "id": 264, + "enabled": FALSE, + "label": "Subtract from Selection", + "visible": TRUE + }, + { + "id": 265, + "enabled": FALSE, + "label": "Add to Selection", + "visible": TRUE + }, + { + "id": 266, + "enabled": FALSE, + "label": "Mask to Selection", + "visible": TRUE + }, + { + "id": 267, + "type": "separator" + }, + { + "id": 268, + "enabled": FALSE, + "toggle-state": 0, + "label": "Disable Layer Mask", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 269, + "enabled": FALSE, + "toggle-state": 0, + "label": "Edit Layer Mask", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 270, + "enabled": FALSE, + "toggle-state": 0, + "label": "Show Layer Mask", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 271, + "type": "separator" + }, + { + "id": 272, + "enabled": FALSE, + "label": "Delete Layer Mask", + "visible": TRUE + }, + { + "id": 273, + "enabled": FALSE, + "label": "Apply Layer Mask", + "visible": TRUE + }, + { + "id": 274, + "enabled": TRUE, + "label": "Add Layer Mask...", + "visible": TRUE + } + ] + }, + { + "id": 275, + "enabled": TRUE, + "label": "Stack", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 276, + "enabled": TRUE, + "label": "Reverse Layer Order", + "visible": TRUE + }, + { + "id": 277, + "type": "separator" + }, + { + "id": 278, + "enabled": FALSE, + "label": "Layer to Bottom", + "visible": TRUE + }, + { + "id": 279, + "enabled": FALSE, + "label": "Layer to Top", + "visible": TRUE + }, + { + "id": 280, + "enabled": FALSE, + "label": "Lower Layer", + "visible": TRUE + }, + { + "id": 281, + "enabled": FALSE, + "label": "Raise Layer", + "visible": TRUE + }, + { + "id": 282, + "type": "separator" + }, + { + "id": 283, + "shortcut": [["End"]], + "enabled": FALSE, + "label": "Select Bottom Layer", + "visible": TRUE + }, + { + "id": 284, + "shortcut": [["Home"]], + "enabled": FALSE, + "label": "Select Top Layer", + "visible": TRUE + }, + { + "id": 285, + "shortcut": [["Page_Down"]], + "enabled": FALSE, + "label": "Select Next Layer", + "visible": TRUE + }, + { + "id": 286, + "shortcut": [["Page_Up"]], + "enabled": FALSE, + "label": "Select Previous Layer", + "visible": TRUE + } + ] + }, + { + "id": 287, + "type": "separator", + "children-display": "submenu", + "submenu": [ + { + "id": 288, + "enabled": FALSE, + "label": "Empty", + "visible": TRUE + } + ] + }, + { + "id": 289, + "enabled": TRUE, + "label": "Delete Layer", + "visible": TRUE + }, + { + "id": 290, + "enabled": FALSE, + "label": "Merge Down", + "visible": TRUE + }, + { + "id": 291, + "shortcut": [["Control", "h"]], + "enabled": FALSE, + "label": "Anchor Layer", + "visible": TRUE + }, + { + "id": 292, + "shortcut": [["Control", "Shift", "d"]], + "enabled": TRUE, + "label": "Duplicate Layer", + "visible": TRUE + }, + { + "id": 293, + "enabled": TRUE, + "label": "New from Visible", + "visible": TRUE + }, + { + "id": 294, + "shortcut": [["Control", "Shift", "n"]], + "enabled": TRUE, + "label": "New Layer...", + "visible": TRUE + } + ] + }, + { + "id": 295, + "enabled": TRUE, + "label": "Colors", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 296, + "enabled": TRUE, + "label": "Retinex...", + "visible": TRUE + }, + { + "id": 297, + "enabled": TRUE, + "label": "Maximum RGB...", + "visible": TRUE + }, + { + "id": 298, + "enabled": FALSE, + "label": "Hot...", + "visible": TRUE + }, + { + "id": 299, + "enabled": TRUE, + "label": "Filter Pack...", + "visible": TRUE + }, + { + "id": 300, + "enabled": TRUE, + "label": "Color to Alpha...", + "visible": TRUE + }, + { + "id": 301, + "enabled": TRUE, + "label": "Colorify...", + "visible": TRUE + }, + { + "id": 302, + "type": "separator" + }, + { + "id": 303, + "enabled": TRUE, + "label": "Info", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 304, + "enabled": TRUE, + "label": "Smooth Palette...", + "visible": TRUE + }, + { + "id": 305, + "enabled": TRUE, + "label": "Colorcube Analysis...", + "visible": TRUE + }, + { + "id": 306, + "enabled": TRUE, + "label": "Border Average...", + "visible": TRUE + }, + { + "id": 307, + "enabled": TRUE, + "label": "Histogram", + "visible": TRUE + } + ] + }, + { + "id": 308, + "enabled": TRUE, + "label": "Map", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 309, + "enabled": TRUE, + "label": "Sample Colorize...", + "visible": TRUE + }, + { + "id": 310, + "enabled": TRUE, + "label": "Rotate Colors...", + "visible": TRUE + }, + { + "id": 311, + "enabled": TRUE, + "label": "Palette Map", + "visible": TRUE + }, + { + "id": 312, + "enabled": TRUE, + "label": "Gradient Map", + "visible": TRUE + }, + { + "id": 313, + "enabled": TRUE, + "label": "Color Exchange...", + "visible": TRUE + }, + { + "id": 314, + "enabled": TRUE, + "label": "Alien Map...", + "visible": TRUE + }, + { + "id": 315, + "type": "separator" + }, + { + "id": 316, + "enabled": FALSE, + "label": "Set Colormap...", + "visible": TRUE + }, + { + "id": 317, + "enabled": FALSE, + "label": "Rearrange Colormap...", + "visible": TRUE + } + ] + }, + { + "id": 318, + "enabled": TRUE, + "label": "Components", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 319, + "enabled": FALSE, + "label": "Recompose", + "visible": TRUE + }, + { + "id": 320, + "enabled": TRUE, + "label": "Decompose...", + "visible": TRUE + }, + { + "id": 321, + "enabled": FALSE, + "label": "Compose...", + "visible": TRUE + }, + { + "id": 322, + "enabled": TRUE, + "label": "Channel Mixer...", + "visible": TRUE + } + ] + }, + { + "id": 323, + "enabled": TRUE, + "label": "Auto", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 324, + "enabled": TRUE, + "label": "Stretch HSV", + "visible": TRUE + }, + { + "id": 325, + "enabled": TRUE, + "label": "Stretch Contrast", + "visible": TRUE + }, + { + "id": 326, + "enabled": TRUE, + "label": "Normalize", + "visible": TRUE + }, + { + "id": 327, + "enabled": TRUE, + "label": "Color Enhance", + "visible": TRUE + }, + { + "id": 328, + "enabled": TRUE, + "label": "White Balance", + "visible": TRUE + }, + { + "id": 329, + "enabled": TRUE, + "label": "Equalize", + "visible": TRUE + } + ] + }, + { + "id": 330, + "type": "separator" + }, + { + "id": 331, + "enabled": TRUE, + "toggle-state": 0, + "label": "Use GEGL", + "toggle-type": "checkmark", + "visible": TRUE + }, + { + "id": 332, + "type": "separator" + }, + { + "id": 333, + "enabled": TRUE, + "label": "Value Invert", + "visible": TRUE + }, + { + "id": 334, + "enabled": TRUE, + "label": "Invert", + "visible": TRUE + }, + { + "id": 335, + "type": "separator" + }, + { + "id": 336, + "enabled": TRUE, + "label": "Desaturate...", + "visible": TRUE + }, + { + "id": 337, + "enabled": TRUE, + "label": "Posterize...", + "visible": TRUE + }, + { + "id": 338, + "enabled": TRUE, + "label": "Curves...", + "visible": TRUE + }, + { + "id": 339, + "enabled": TRUE, + "label": "Levels...", + "visible": TRUE + }, + { + "id": 340, + "enabled": TRUE, + "label": "Threshold...", + "visible": TRUE + }, + { + "id": 341, + "enabled": TRUE, + "label": "Brightness-Contrast...", + "visible": TRUE + }, + { + "id": 342, + "enabled": TRUE, + "label": "Colorize...", + "visible": TRUE + }, + { + "id": 343, + "enabled": TRUE, + "label": "Hue-Saturation...", + "visible": TRUE + }, + { + "id": 344, + "enabled": TRUE, + "label": "Color Balance...", + "visible": TRUE + } + ] + }, + { + "id": 345, + "enabled": TRUE, + "label": "Tools", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 346, + "shortcut": [["x"]], + "enabled": TRUE, + "label": "Swap Colors", + "visible": TRUE + }, + { + "id": 347, + "shortcut": [["d"]], + "enabled": TRUE, + "label": "Default Colors", + "visible": TRUE + }, + { + "id": 348, + "shortcut": [["Control", "b"]], + "enabled": TRUE, + "label": "Toolbox", + "visible": TRUE + }, + { + "id": 349, + "type": "separator" + }, + { + "id": 350, + "enabled": TRUE, + "label": "GEGL Operation...", + "visible": TRUE + }, + { + "id": 351, + "shortcut": [["t"]], + "enabled": TRUE, + "label": "Text", + "visible": TRUE + }, + { + "id": 352, + "shortcut": [["Shift", "m"]], + "enabled": TRUE, + "label": "Measure", + "visible": TRUE + }, + { + "id": 353, + "shortcut": [["z"]], + "enabled": TRUE, + "label": "Zoom", + "visible": TRUE + }, + { + "id": 354, + "shortcut": [["o"]], + "enabled": TRUE, + "label": "Color Picker", + "visible": TRUE + }, + { + "id": 355, + "shortcut": [["b"]], + "enabled": TRUE, + "label": "Paths", + "visible": TRUE + }, + { + "id": 356, + "enabled": TRUE, + "label": "Color Tools", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 357, + "enabled": TRUE, + "label": "Desaturate...", + "visible": TRUE + }, + { + "id": 358, + "enabled": TRUE, + "label": "Posterize...", + "visible": TRUE + }, + { + "id": 359, + "enabled": TRUE, + "label": "Curves...", + "visible": TRUE + }, + { + "id": 360, + "enabled": TRUE, + "label": "Levels...", + "visible": TRUE + }, + { + "id": 361, + "enabled": TRUE, + "label": "Threshold...", + "visible": TRUE + }, + { + "id": 362, + "enabled": TRUE, + "label": "Brightness-Contrast...", + "visible": TRUE + }, + { + "id": 363, + "enabled": TRUE, + "label": "Colorize...", + "visible": TRUE + }, + { + "id": 364, + "enabled": TRUE, + "label": "Hue-Saturation...", + "visible": TRUE + }, + { + "id": 365, + "enabled": TRUE, + "label": "Color Balance...", + "visible": TRUE + } + ] + }, + { + "id": 366, + "enabled": TRUE, + "label": "Transform Tools", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 367, + "shortcut": [["Shift", "f"]], + "enabled": TRUE, + "label": "Flip", + "visible": TRUE + }, + { + "id": 368, + "shortcut": [["Shift", "p"]], + "enabled": TRUE, + "label": "Perspective", + "visible": TRUE + }, + { + "id": 369, + "shortcut": [["Shift", "s"]], + "enabled": TRUE, + "label": "Shear", + "visible": TRUE + }, + { + "id": 370, + "shortcut": [["Shift", "t"]], + "enabled": TRUE, + "label": "Scale", + "visible": TRUE + }, + { + "id": 371, + "shortcut": [["Shift", "r"]], + "enabled": TRUE, + "label": "Rotate", + "visible": TRUE + }, + { + "id": 372, + "shortcut": [["Shift", "c"]], + "enabled": TRUE, + "label": "Crop", + "visible": TRUE + }, + { + "id": 373, + "shortcut": [["m"]], + "enabled": TRUE, + "label": "Move", + "visible": TRUE + }, + { + "id": 374, + "shortcut": [["q"]], + "enabled": TRUE, + "label": "Align", + "visible": TRUE + } + ] + }, + { + "id": 375, + "enabled": TRUE, + "label": "Paint Tools", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 376, + "shortcut": [["Shift", "d"]], + "enabled": TRUE, + "label": "Dodge / Burn", + "visible": TRUE + }, + { + "id": 377, + "shortcut": [["s"]], + "enabled": TRUE, + "label": "Smudge", + "visible": TRUE + }, + { + "id": 378, + "shortcut": [["Shift", "u"]], + "enabled": TRUE, + "label": "Blur / Sharpen", + "visible": TRUE + }, + { + "id": 379, + "enabled": TRUE, + "label": "Perspective Clone", + "visible": TRUE + }, + { + "id": 380, + "shortcut": [["h"]], + "enabled": TRUE, + "label": "Heal", + "visible": TRUE + }, + { + "id": 381, + "shortcut": [["c"]], + "enabled": TRUE, + "label": "Clone", + "visible": TRUE + }, + { + "id": 382, + "shortcut": [["k"]], + "enabled": TRUE, + "label": "Ink", + "visible": TRUE + }, + { + "id": 383, + "shortcut": [["a"]], + "enabled": TRUE, + "label": "Airbrush", + "visible": TRUE + }, + { + "id": 384, + "shortcut": [["Shift", "e"]], + "enabled": TRUE, + "label": "Eraser", + "visible": TRUE + }, + { + "id": 385, + "shortcut": [["p"]], + "enabled": TRUE, + "label": "Paintbrush", + "visible": TRUE + }, + { + "id": 386, + "shortcut": [["n"]], + "enabled": TRUE, + "label": "Pencil", + "visible": TRUE + }, + { + "id": 387, + "shortcut": [["l"]], + "enabled": TRUE, + "label": "Blend", + "visible": TRUE + }, + { + "id": 388, + "shortcut": [["Shift", "b"]], + "enabled": TRUE, + "label": "Bucket Fill", + "visible": TRUE + } + ] + }, + { + "id": 389, + "enabled": TRUE, + "label": "Selection Tools", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 390, + "shortcut": [["i"]], + "enabled": TRUE, + "label": "Intelligent Scissors", + "visible": TRUE + }, + { + "id": 391, + "shortcut": [["Shift", "o"]], + "enabled": TRUE, + "label": "By Color Select", + "visible": TRUE + }, + { + "id": 392, + "shortcut": [["u"]], + "enabled": TRUE, + "label": "Fuzzy Select", + "visible": TRUE + }, + { + "id": 393, + "enabled": TRUE, + "label": "Foreground Select", + "visible": TRUE + }, + { + "id": 394, + "shortcut": [["f"]], + "enabled": TRUE, + "label": "Free Select", + "visible": TRUE + }, + { + "id": 395, + "shortcut": [["e"]], + "enabled": TRUE, + "label": "Ellipse Select", + "visible": TRUE + }, + { + "id": 396, + "shortcut": [["r"]], + "enabled": TRUE, + "label": "Rectangle Select", + "visible": TRUE + } + ] + } + ] + }, + { + "id": 397, + "enabled": TRUE, + "label": "Filters", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 398, + "enabled": TRUE, + "label": "Script-Fu", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 399, + "enabled": TRUE, + "label": "Start Server...", + "visible": TRUE + }, + { + "id": 400, + "enabled": TRUE, + "label": "Refresh Scripts", + "visible": TRUE + }, + { + "id": 401, + "enabled": TRUE, + "label": "Console", + "visible": TRUE + } + ] + }, + { + "id": 402, + "enabled": TRUE, + "label": "Python-Fu", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 403, + "enabled": TRUE, + "label": "Console", + "visible": TRUE + } + ] + }, + { + "id": 404, + "type": "separator" + }, + { + "id": 405, + "enabled": TRUE, + "label": "Alpha to Logo", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 406, + "enabled": TRUE, + "label": "Textured...", + "visible": TRUE + }, + { + "id": 407, + "enabled": TRUE, + "label": "Particle Trace...", + "visible": TRUE + }, + { + "id": 408, + "enabled": TRUE, + "label": "Neon...", + "visible": TRUE + }, + { + "id": 409, + "enabled": TRUE, + "label": "Gradient Bevel...", + "visible": TRUE + }, + { + "id": 410, + "enabled": TRUE, + "label": "Glowing Hot...", + "visible": TRUE + }, + { + "id": 411, + "enabled": TRUE, + "label": "Glossy...", + "visible": TRUE + }, + { + "id": 412, + "enabled": TRUE, + "label": "Frosty...", + "visible": TRUE + }, + { + "id": 413, + "enabled": TRUE, + "label": "Cool Metal...", + "visible": TRUE + }, + { + "id": 414, + "enabled": TRUE, + "label": "Comic Book...", + "visible": TRUE + }, + { + "id": 415, + "enabled": TRUE, + "label": "Chrome...", + "visible": TRUE + }, + { + "id": 416, + "enabled": TRUE, + "label": "Chip Away...", + "visible": TRUE + }, + { + "id": 417, + "enabled": TRUE, + "label": "Chalk...", + "visible": TRUE + }, + { + "id": 418, + "enabled": TRUE, + "label": "Bovination...", + "visible": TRUE + }, + { + "id": 419, + "enabled": TRUE, + "label": "Blended...", + "visible": TRUE + }, + { + "id": 420, + "enabled": TRUE, + "label": "Basic I...", + "visible": TRUE + }, + { + "id": 421, + "enabled": TRUE, + "label": "Basic II...", + "visible": TRUE + }, + { + "id": 422, + "enabled": TRUE, + "label": "Alien Neon...", + "visible": TRUE + }, + { + "id": 423, + "enabled": TRUE, + "label": "Alien Glow...", + "visible": TRUE + }, + { + "id": 424, + "enabled": TRUE, + "label": "3D Outline...", + "visible": TRUE + } + ] + }, + { + "id": 425, + "type": "separator" + }, + { + "id": 426, + "enabled": TRUE, + "label": "Animation", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 427, + "enabled": TRUE, + "label": "Unoptimize", + "visible": TRUE + }, + { + "id": 428, + "enabled": TRUE, + "label": "Playback...", + "visible": TRUE + }, + { + "id": 429, + "enabled": TRUE, + "label": "Optimize (for GIF)", + "visible": TRUE + }, + { + "id": 430, + "enabled": TRUE, + "label": "Optimize (Difference)", + "visible": TRUE + }, + { + "id": 431, + "type": "separator" + }, + { + "id": 432, + "enabled": TRUE, + "label": "Waves...", + "visible": TRUE + }, + { + "id": 433, + "enabled": TRUE, + "label": "Spinning Globe...", + "visible": TRUE + }, + { + "id": 434, + "enabled": TRUE, + "label": "Rippling...", + "visible": TRUE + }, + { + "id": 435, + "enabled": TRUE, + "label": "Burn-In...", + "visible": TRUE + }, + { + "id": 436, + "enabled": TRUE, + "label": "Blend...", + "visible": TRUE + } + ] + }, + { + "id": 437, + "enabled": TRUE, + "label": "Web", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 438, + "enabled": TRUE, + "label": "Slice...", + "visible": TRUE + }, + { + "id": 439, + "enabled": TRUE, + "label": "Semi-Flatten", + "visible": TRUE + }, + { + "id": 440, + "enabled": TRUE, + "label": "Image Map...", + "visible": TRUE + } + ] + }, + { + "id": 441, + "enabled": TRUE, + "label": "Render", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 442, + "enabled": TRUE, + "label": "Spyrogimp...", + "visible": TRUE + }, + { + "id": 443, + "enabled": TRUE, + "label": "Sphere Designer...", + "visible": TRUE + }, + { + "id": 444, + "enabled": TRUE, + "label": "Line Nova...", + "visible": TRUE + }, + { + "id": 445, + "enabled": TRUE, + "label": "Lava...", + "visible": TRUE + }, + { + "id": 446, + "enabled": TRUE, + "label": "Gfig...", + "visible": TRUE + }, + { + "id": 447, + "enabled": TRUE, + "label": "Fractal Explorer...", + "visible": TRUE + }, + { + "id": 448, + "enabled": TRUE, + "label": "Circuit...", + "visible": TRUE + }, + { + "id": 449, + "type": "separator" + }, + { + "id": 450, + "enabled": TRUE, + "label": "Pattern", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 451, + "enabled": TRUE, + "label": "Sinus...", + "visible": TRUE + }, + { + "id": 452, + "enabled": TRUE, + "label": "Qbist...", + "visible": TRUE + }, + { + "id": 453, + "enabled": TRUE, + "label": "Maze...", + "visible": TRUE + }, + { + "id": 454, + "enabled": TRUE, + "label": "Jigsaw...", + "visible": TRUE + }, + { + "id": 455, + "enabled": TRUE, + "label": "Grid...", + "visible": TRUE + }, + { + "id": 456, + "enabled": TRUE, + "label": "Diffraction Patterns...", + "visible": TRUE + }, + { + "id": 457, + "enabled": TRUE, + "label": "CML Explorer...", + "visible": TRUE + }, + { + "id": 458, + "enabled": TRUE, + "label": "Checkerboard...", + "visible": TRUE + } + ] + }, + { + "id": 459, + "enabled": TRUE, + "label": "Nature", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 460, + "enabled": TRUE, + "label": "IFS Fractal...", + "visible": TRUE + }, + { + "id": 461, + "enabled": TRUE, + "label": "Flame...", + "visible": TRUE + } + ] + }, + { + "id": 462, + "enabled": TRUE, + "label": "Clouds", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 463, + "enabled": TRUE, + "label": "Solid Noise...", + "visible": TRUE + }, + { + "id": 464, + "enabled": TRUE, + "label": "Plasma...", + "visible": TRUE + }, + { + "id": 465, + "enabled": TRUE, + "label": "Fog...", + "visible": TRUE + }, + { + "id": 466, + "enabled": TRUE, + "label": "Difference Clouds...", + "visible": TRUE + } + ] + } + ] + }, + { + "id": 467, + "enabled": TRUE, + "label": "Map", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 468, + "enabled": TRUE, + "label": "Warp...", + "visible": TRUE + }, + { + "id": 469, + "enabled": TRUE, + "label": "Tile...", + "visible": TRUE + }, + { + "id": 470, + "enabled": TRUE, + "label": "Small Tiles...", + "visible": TRUE + }, + { + "id": 471, + "enabled": TRUE, + "label": "Paper Tile...", + "visible": TRUE + }, + { + "id": 472, + "enabled": TRUE, + "label": "Map Object...", + "visible": TRUE + }, + { + "id": 473, + "enabled": TRUE, + "label": "Make Seamless", + "visible": TRUE + }, + { + "id": 474, + "enabled": TRUE, + "label": "Illusion...", + "visible": TRUE + }, + { + "id": 475, + "enabled": TRUE, + "label": "Fractal Trace...", + "visible": TRUE + }, + { + "id": 476, + "enabled": TRUE, + "label": "Displace...", + "visible": TRUE + }, + { + "id": 477, + "enabled": TRUE, + "label": "Bump Map...", + "visible": TRUE + } + ] + }, + { + "id": 478, + "enabled": TRUE, + "label": "Decor", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 479, + "enabled": FALSE, + "label": "Stencil Chrome...", + "visible": TRUE + }, + { + "id": 480, + "enabled": FALSE, + "label": "Stencil Carve...", + "visible": TRUE + }, + { + "id": 481, + "enabled": FALSE, + "label": "Slide...", + "visible": TRUE + }, + { + "id": 482, + "enabled": FALSE, + "label": "Round Corners...", + "visible": TRUE + }, + { + "id": 483, + "enabled": TRUE, + "label": "Old Photo...", + "visible": TRUE + }, + { + "id": 484, + "enabled": TRUE, + "label": "Fuzzy Border...", + "visible": TRUE + }, + { + "id": 485, + "enabled": TRUE, + "label": "Coffee Stain...", + "visible": TRUE + }, + { + "id": 486, + "enabled": TRUE, + "label": "Add Border...", + "visible": TRUE + }, + { + "id": 487, + "enabled": TRUE, + "label": "Add Bevel...", + "visible": TRUE + } + ] + }, + { + "id": 488, + "enabled": TRUE, + "label": "Artistic", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 489, + "enabled": TRUE, + "label": "Weave...", + "visible": TRUE + }, + { + "id": 490, + "enabled": TRUE, + "label": "Van Gogh (LIC)...", + "visible": TRUE + }, + { + "id": 491, + "enabled": TRUE, + "label": "Softglow...", + "visible": TRUE + }, + { + "id": 492, + "enabled": TRUE, + "label": "Predator...", + "visible": TRUE + }, + { + "id": 493, + "enabled": TRUE, + "label": "Photocopy...", + "visible": TRUE + }, + { + "id": 494, + "enabled": TRUE, + "label": "Oilify...", + "visible": TRUE + }, + { + "id": 495, + "enabled": TRUE, + "label": "GIMPressionist...", + "visible": TRUE + }, + { + "id": 496, + "enabled": TRUE, + "label": "Cubism...", + "visible": TRUE + }, + { + "id": 497, + "enabled": TRUE, + "label": "Clothify...", + "visible": TRUE + }, + { + "id": 498, + "enabled": TRUE, + "label": "Cartoon...", + "visible": TRUE + }, + { + "id": 499, + "enabled": TRUE, + "label": "Apply Canvas...", + "visible": TRUE + } + ] + }, + { + "id": 500, + "enabled": TRUE, + "label": "Combine", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 501, + "enabled": TRUE, + "label": "Filmstrip...", + "visible": TRUE + }, + { + "id": 502, + "enabled": TRUE, + "label": "Depth Merge...", + "visible": TRUE + } + ] + }, + { + "id": 503, + "enabled": TRUE, + "label": "Generic", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 504, + "enabled": TRUE, + "label": "Erode", + "visible": TRUE + }, + { + "id": 505, + "enabled": TRUE, + "label": "Dilate", + "visible": TRUE + }, + { + "id": 506, + "enabled": TRUE, + "label": "Convolution Matrix...", + "visible": TRUE + } + ] + }, + { + "id": 507, + "enabled": TRUE, + "label": "Edge-Detect", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 508, + "enabled": TRUE, + "label": "Sobel...", + "visible": TRUE + }, + { + "id": 509, + "enabled": TRUE, + "label": "Neon...", + "visible": TRUE + }, + { + "id": 510, + "enabled": TRUE, + "label": "Laplace", + "visible": TRUE + }, + { + "id": 511, + "enabled": TRUE, + "label": "Edge...", + "visible": TRUE + }, + { + "id": 512, + "enabled": TRUE, + "label": "Difference of Gaussians...", + "visible": TRUE + } + ] + }, + { + "id": 513, + "enabled": TRUE, + "label": "Noise", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 514, + "enabled": TRUE, + "label": "Spread...", + "visible": TRUE + }, + { + "id": 515, + "enabled": TRUE, + "label": "Slur...", + "visible": TRUE + }, + { + "id": 516, + "enabled": TRUE, + "label": "RGB Noise...", + "visible": TRUE + }, + { + "id": 517, + "enabled": TRUE, + "label": "Pick...", + "visible": TRUE + }, + { + "id": 518, + "enabled": TRUE, + "label": "Hurl...", + "visible": TRUE + }, + { + "id": 519, + "enabled": TRUE, + "label": "HSV Noise...", + "visible": TRUE + } + ] + }, + { + "id": 520, + "enabled": TRUE, + "label": "Light and Shadow", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 521, + "enabled": TRUE, + "label": "Glass Tile...", + "visible": TRUE + }, + { + "id": 522, + "enabled": TRUE, + "label": "Apply Lens...", + "visible": TRUE + }, + { + "id": 523, + "type": "separator" + }, + { + "id": 524, + "enabled": TRUE, + "label": "Xach-Effect...", + "visible": TRUE + }, + { + "id": 525, + "enabled": TRUE, + "label": "Perspective...", + "visible": TRUE + }, + { + "id": 526, + "enabled": TRUE, + "label": "Drop Shadow...", + "visible": TRUE + }, + { + "id": 527, + "type": "separator" + }, + { + "id": 528, + "enabled": TRUE, + "label": "Supernova...", + "visible": TRUE + }, + { + "id": 529, + "enabled": TRUE, + "label": "Sparkle...", + "visible": TRUE + }, + { + "id": 530, + "enabled": TRUE, + "label": "Lighting Effects...", + "visible": TRUE + }, + { + "id": 531, + "enabled": TRUE, + "label": "Lens Flare...", + "visible": TRUE + }, + { + "id": 532, + "enabled": TRUE, + "label": "Gradient Flare...", + "visible": TRUE + } + ] + }, + { + "id": 533, + "enabled": TRUE, + "label": "Distorts", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 534, + "enabled": TRUE, + "label": "Wind...", + "visible": TRUE + }, + { + "id": 535, + "enabled": TRUE, + "label": "Whirl and Pinch...", + "visible": TRUE + }, + { + "id": 536, + "enabled": TRUE, + "label": "Waves...", + "visible": TRUE + }, + { + "id": 537, + "enabled": TRUE, + "label": "Video...", + "visible": TRUE + }, + { + "id": 538, + "enabled": TRUE, + "label": "Value Propagate...", + "visible": TRUE + }, + { + "id": 539, + "enabled": TRUE, + "label": "Shift...", + "visible": TRUE + }, + { + "id": 540, + "enabled": TRUE, + "label": "Ripple...", + "visible": TRUE + }, + { + "id": 541, + "enabled": TRUE, + "label": "Polar Coordinates...", + "visible": TRUE + }, + { + "id": 542, + "enabled": TRUE, + "label": "Pagecurl...", + "visible": TRUE + }, + { + "id": 543, + "enabled": TRUE, + "label": "Newsprint...", + "visible": TRUE + }, + { + "id": 544, + "enabled": TRUE, + "label": "Mosaic...", + "visible": TRUE + }, + { + "id": 545, + "enabled": TRUE, + "label": "Lens Distortion...", + "visible": TRUE + }, + { + "id": 546, + "enabled": TRUE, + "label": "IWarp...", + "visible": TRUE + }, + { + "id": 547, + "enabled": TRUE, + "label": "Erase Every Other Row...", + "visible": TRUE + }, + { + "id": 548, + "enabled": TRUE, + "label": "Engrave...", + "visible": TRUE + }, + { + "id": 549, + "enabled": TRUE, + "label": "Emboss...", + "visible": TRUE + }, + { + "id": 550, + "enabled": TRUE, + "label": "Curve Bend...", + "visible": TRUE + }, + { + "id": 551, + "enabled": TRUE, + "label": "Blinds...", + "visible": TRUE + } + ] + }, + { + "id": 552, + "enabled": TRUE, + "label": "Enhance", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 553, + "enabled": TRUE, + "label": "Unsharp Mask...", + "visible": TRUE + }, + { + "id": 554, + "enabled": TRUE, + "label": "Sharpen...", + "visible": TRUE + }, + { + "id": 555, + "enabled": TRUE, + "label": "Red Eye Removal...", + "visible": TRUE + }, + { + "id": 556, + "enabled": FALSE, + "label": "NL Filter...", + "visible": TRUE + }, + { + "id": 557, + "enabled": TRUE, + "label": "Destripe...", + "visible": TRUE + }, + { + "id": 558, + "enabled": TRUE, + "label": "Despeckle...", + "visible": TRUE + }, + { + "id": 559, + "enabled": TRUE, + "label": "Deinterlace...", + "visible": TRUE + }, + { + "id": 560, + "enabled": TRUE, + "label": "Antialias", + "visible": TRUE + } + ] + }, + { + "id": 561, + "enabled": TRUE, + "label": "Blur", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 562, + "enabled": TRUE, + "label": "Tileable Blur...", + "visible": TRUE + }, + { + "id": 563, + "enabled": TRUE, + "label": "Selective Gaussian Blur...", + "visible": TRUE + }, + { + "id": 564, + "enabled": TRUE, + "label": "Pixelize...", + "visible": TRUE + }, + { + "id": 565, + "enabled": TRUE, + "label": "Motion Blur...", + "visible": TRUE + }, + { + "id": 566, + "enabled": TRUE, + "label": "Gaussian Blur...", + "visible": TRUE + }, + { + "id": 567, + "enabled": TRUE, + "label": "Blur", + "visible": TRUE + } + ] + }, + { + "id": 568, + "type": "separator" + }, + { + "id": 569, + "enabled": TRUE, + "label": "Reset all Filters", + "visible": TRUE + }, + { + "id": 570, + "shortcut": [["Control", "Shift", "f"]], + "enabled": FALSE, + "label": "Re-Show Last", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 571, + "enabled": FALSE, + "label": "Empty", + "visible": TRUE + } + ] + }, + { + "id": 572, + "shortcut": [["Control", "f"]], + "enabled": FALSE, + "label": "Repeat Last", + "visible": TRUE + } + ] + }, + { + "id": 573, + "enabled": TRUE, + "label": "Windows", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 574, + "shortcut": [["Control", "b"]], + "enabled": TRUE, + "label": "Toolbox", + "visible": TRUE + }, + { + "id": 575, + "type": "separator" + }, + { + "id": 576, + "enabled": TRUE, + "label": "Dockable Dialogs", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 577, + "enabled": TRUE, + "label": "Error Console", + "visible": TRUE + }, + { + "id": 578, + "enabled": TRUE, + "label": "Tools", + "visible": TRUE + }, + { + "id": 579, + "enabled": TRUE, + "label": "Templates", + "visible": TRUE + }, + { + "id": 580, + "enabled": TRUE, + "label": "Document History", + "visible": TRUE + }, + { + "id": 581, + "enabled": TRUE, + "label": "Images", + "visible": TRUE + }, + { + "id": 582, + "type": "separator" + }, + { + "id": 583, + "enabled": TRUE, + "label": "Buffers", + "visible": TRUE + }, + { + "id": 584, + "enabled": TRUE, + "label": "Fonts", + "visible": TRUE + }, + { + "id": 585, + "enabled": TRUE, + "label": "Palettes", + "visible": TRUE + }, + { + "id": 586, + "shortcut": [["Control", "g"]], + "enabled": TRUE, + "label": "Gradients", + "visible": TRUE + }, + { + "id": 587, + "shortcut": [["Control", "Shift", "p"]], + "enabled": TRUE, + "label": "Patterns", + "visible": TRUE + }, + { + "id": 588, + "shortcut": [["Control", "Shift", "b"]], + "enabled": TRUE, + "label": "Brushes", + "visible": TRUE + }, + { + "id": 589, + "enabled": TRUE, + "label": "Colors", + "visible": TRUE + }, + { + "id": 590, + "type": "separator" + }, + { + "id": 591, + "enabled": TRUE, + "label": "Sample Points", + "visible": TRUE + }, + { + "id": 592, + "enabled": TRUE, + "label": "Pointer", + "visible": TRUE + }, + { + "id": 593, + "enabled": TRUE, + "label": "Undo History", + "visible": TRUE + }, + { + "id": 594, + "enabled": TRUE, + "label": "Navigation", + "visible": TRUE + }, + { + "id": 595, + "enabled": TRUE, + "label": "Selection Editor", + "visible": TRUE + }, + { + "id": 596, + "enabled": TRUE, + "label": "Histogram", + "visible": TRUE + }, + { + "id": 597, + "enabled": TRUE, + "label": "Colormap", + "visible": TRUE + }, + { + "id": 598, + "enabled": TRUE, + "label": "Paths", + "visible": TRUE + }, + { + "id": 599, + "enabled": TRUE, + "label": "Channels", + "visible": TRUE + }, + { + "id": 600, + "shortcut": [["Control", "l"]], + "enabled": TRUE, + "label": "Layers", + "visible": TRUE + }, + { + "id": 601, + "type": "separator" + }, + { + "id": 602, + "enabled": TRUE, + "label": "Device Status", + "visible": TRUE + }, + { + "id": 603, + "enabled": TRUE, + "label": "Tool Options", + "visible": TRUE + } + ] + }, + { + "id": 604, + "enabled": TRUE, + "label": "Recently Closed Docks", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 605, + "enabled": FALSE, + "label": "Empty", + "visible": TRUE + } + ] + } + ] + }, + { + "id": 606, + "enabled": TRUE, + "label": "Help", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 607, + "enabled": TRUE, + "label": "User Manual", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 608, + "enabled": TRUE, + "label": "Working with Digital Camera Photos", + "visible": TRUE + }, + { + "id": 609, + "enabled": TRUE, + "label": "Using Paths", + "visible": TRUE + }, + { + "id": 610, + "enabled": TRUE, + "label": "Preparing your Images for the Web", + "visible": TRUE + }, + { + "id": 611, + "enabled": TRUE, + "label": "How to Use Dialogs", + "visible": TRUE + }, + { + "id": 612, + "enabled": TRUE, + "label": "Drawing Simple Objects", + "visible": TRUE + }, + { + "id": 613, + "enabled": TRUE, + "label": "Create, Open and Save Files", + "visible": TRUE + }, + { + "id": 614, + "enabled": TRUE, + "label": "Basic Concepts", + "visible": TRUE + } + ] + }, + { + "id": 615, + "enabled": TRUE, + "label": "GIMP Online", + "children-display": "submenu", + "visible": TRUE, + "submenu": [ + { + "id": 616, + "enabled": TRUE, + "label": "User Manual Web Site", + "visible": TRUE + }, + { + "id": 617, + "enabled": TRUE, + "label": "Plug-in Registry", + "visible": TRUE + }, + { + "id": 618, + "enabled": TRUE, + "label": "Main Web Site", + "visible": TRUE + }, + { + "id": 619, + "enabled": TRUE, + "label": "Developer Web Site", + "visible": TRUE + } + ] + }, + { + "id": 620, + "type": "separator" + }, + { + "id": 621, + "enabled": TRUE, + "label": "Procedure Browser", + "visible": TRUE + }, + { + "id": 622, + "enabled": TRUE, + "label": "Plug-In Browser", + "visible": TRUE + }, + { + "id": 623, + "type": "separator" + }, + { + "id": 624, + "enabled": TRUE, + "label": "About", + "visible": TRUE + }, + { + "id": 625, + "enabled": TRUE, + "label": "Tip of the Day", + "visible": TRUE + }, + { + "id": 626, + "shortcut": [["Shift", "F1"]], + "enabled": TRUE, + "label": "Context Help", + "visible": TRUE + }, + { + "id": 627, + "shortcut": [["F1"]], + "enabled": TRUE, + "label": "Help", + "visible": TRUE + } + ] + } + ] +} -- cgit v1.2.3 From cfa184b0c813bbc286dba830f909d4fbbe023352 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 18:01:17 -0500 Subject: Hmm, bug in dbusmenu-dumper there. --- tests/test-json-01.json | 2296 +++++++++++++++++++++++------------------------ 1 file changed, 1148 insertions(+), 1148 deletions(-) diff --git a/tests/test-json-01.json b/tests/test-json-01.json index a46a6d6..a014548 100644 --- a/tests/test-json-01.json +++ b/tests/test-json-01.json @@ -4,31 +4,31 @@ "submenu": [ { "id": 5, - "enabled": TRUE, + "enabled": true, "label": "File", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 6, "shortcut": [["Control", "q"]], - "enabled": TRUE, + "enabled": true, "label": "Quit", - "visible": TRUE + "visible": true }, { "id": 7, "shortcut": [["Control", "Shift", "w"]], - "enabled": TRUE, + "enabled": true, "label": "Close all", - "visible": TRUE + "visible": true }, { "id": 8, "shortcut": [["Control", "w"]], - "enabled": TRUE, + "enabled": true, "label": "Close", - "visible": TRUE + "visible": true }, { "id": 9, @@ -36,22 +36,22 @@ }, { "id": 10, - "enabled": TRUE, + "enabled": true, "label": "Send by Email...", - "visible": TRUE + "visible": true }, { "id": 11, "shortcut": [["Control", "p"]], - "enabled": TRUE, + "enabled": true, "label": "Print...", - "visible": TRUE + "visible": true }, { "id": 12, - "enabled": TRUE, + "enabled": true, "label": "Page Setup", - "visible": TRUE + "visible": true }, { "id": 13, @@ -59,35 +59,35 @@ }, { "id": 14, - "enabled": TRUE, + "enabled": true, "label": "Revert", - "visible": TRUE + "visible": true }, { "id": 15, - "enabled": TRUE, + "enabled": true, "label": "Save as Template...", - "visible": TRUE + "visible": true }, { "id": 16, - "enabled": TRUE, + "enabled": true, "label": "Save a Copy...", - "visible": TRUE + "visible": true }, { "id": 17, "shortcut": [["Control", "Shift", "s"]], - "enabled": TRUE, + "enabled": true, "label": "Save As...", - "visible": TRUE + "visible": true }, { "id": 18, "shortcut": [["Control", "s"]], - "enabled": TRUE, + "enabled": true, "label": "Save", - "visible": TRUE + "visible": true }, { "id": 19, @@ -95,16 +95,16 @@ }, { "id": 20, - "enabled": TRUE, + "enabled": true, "label": "Open Recent", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 21, - "enabled": TRUE, + "enabled": true, "label": "Document History", - "visible": TRUE + "visible": true }, { "id": 22, @@ -113,167 +113,167 @@ { "id": 23, "shortcut": [["Control", "2"]], - "enabled": TRUE, + "enabled": true, "label": "giggity.jpg", - "visible": TRUE + "visible": true }, { "id": 24, "shortcut": [["Control", "1"]], - "enabled": TRUE, + "enabled": true, "label": "Icon Height.svg", - "visible": TRUE + "visible": true } ] }, { "id": 25, - "enabled": TRUE, + "enabled": true, "label": "Open Location...", - "visible": TRUE + "visible": true }, { "id": 26, "shortcut": [["Control", "Alt", "o"]], - "enabled": TRUE, + "enabled": true, "label": "Open as Layers...", - "visible": TRUE + "visible": true }, { "id": 27, "shortcut": [["Control", "o"]], - "enabled": TRUE, + "enabled": true, "label": "Open...", - "visible": TRUE + "visible": true }, { "id": 28, - "enabled": TRUE, + "enabled": true, "label": "Create", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 29, - "enabled": TRUE, + "enabled": true, "label": "Web Page Themes", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 30, - "enabled": TRUE, + "enabled": true, "label": "Classic.Gimp.Org", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 31, - "enabled": TRUE, + "enabled": true, "label": "Tube Sub-Sub-Button Label...", - "visible": TRUE + "visible": true }, { "id": 32, - "enabled": TRUE, + "enabled": true, "label": "Tube Sub-Button Label...", - "visible": TRUE + "visible": true }, { "id": 33, - "enabled": TRUE, + "enabled": true, "label": "Tube Button Label...", - "visible": TRUE + "visible": true }, { "id": 34, - "enabled": TRUE, + "enabled": true, "label": "Small Header...", - "visible": TRUE + "visible": true }, { "id": 35, - "enabled": TRUE, + "enabled": true, "label": "General Tube Labels...", - "visible": TRUE + "visible": true }, { "id": 36, - "enabled": TRUE, + "enabled": true, "label": "Big Header...", - "visible": TRUE + "visible": true } ] }, { "id": 37, - "enabled": TRUE, + "enabled": true, "label": "Beveled Pattern", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 38, - "enabled": TRUE, + "enabled": true, "label": "Hrule...", - "visible": TRUE + "visible": true }, { "id": 39, - "enabled": TRUE, + "enabled": true, "label": "Heading...", - "visible": TRUE + "visible": true }, { "id": 40, - "enabled": TRUE, + "enabled": true, "label": "Button...", - "visible": TRUE + "visible": true }, { "id": 41, - "enabled": TRUE, + "enabled": true, "label": "Bullet...", - "visible": TRUE + "visible": true }, { "id": 42, - "enabled": TRUE, + "enabled": true, "label": "Arrow...", - "visible": TRUE + "visible": true } ] }, { "id": 43, - "enabled": TRUE, + "enabled": true, "label": "Alien Glow", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 44, - "enabled": TRUE, + "enabled": true, "label": "Hrule...", - "visible": TRUE + "visible": true }, { "id": 45, - "enabled": TRUE, + "enabled": true, "label": "Button...", - "visible": TRUE + "visible": true }, { "id": 46, - "enabled": TRUE, + "enabled": true, "label": "Bullet...", - "visible": TRUE + "visible": true }, { "id": 47, - "enabled": TRUE, + "enabled": true, "label": "Arrow...", - "visible": TRUE + "visible": true } ] } @@ -281,256 +281,256 @@ }, { "id": 48, - "enabled": TRUE, + "enabled": true, "label": "Patterns", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 49, - "enabled": TRUE, + "enabled": true, "label": "Truchet...", - "visible": TRUE + "visible": true }, { "id": 50, - "enabled": TRUE, + "enabled": true, "label": "Swirly...", - "visible": TRUE + "visible": true }, { "id": 51, - "enabled": TRUE, + "enabled": true, "label": "Swirl-Tile...", - "visible": TRUE + "visible": true }, { "id": 52, - "enabled": TRUE, + "enabled": true, "label": "Render Map...", - "visible": TRUE + "visible": true }, { "id": 53, - "enabled": TRUE, + "enabled": true, "label": "Land...", - "visible": TRUE + "visible": true }, { "id": 54, - "enabled": TRUE, + "enabled": true, "label": "Flatland...", - "visible": TRUE + "visible": true }, { "id": 55, - "enabled": TRUE, + "enabled": true, "label": "Camouflage...", - "visible": TRUE + "visible": true }, { "id": 56, - "enabled": TRUE, + "enabled": true, "label": "3D Truchet...", - "visible": TRUE + "visible": true } ] }, { "id": 57, - "enabled": TRUE, + "enabled": true, "label": "Logos", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 58, - "enabled": TRUE, + "enabled": true, "label": "Web Title Header...", - "visible": TRUE + "visible": true }, { "id": 59, - "enabled": TRUE, + "enabled": true, "label": "Textured...", - "visible": TRUE + "visible": true }, { "id": 60, - "enabled": TRUE, + "enabled": true, "label": "Text Circle...", - "visible": TRUE + "visible": true }, { "id": 61, - "enabled": TRUE, + "enabled": true, "label": "Starscape...", - "visible": TRUE + "visible": true }, { "id": 62, - "enabled": TRUE, + "enabled": true, "label": "Speed Text...", - "visible": TRUE + "visible": true }, { "id": 63, - "enabled": TRUE, + "enabled": true, "label": "SOTA Chrome...", - "visible": TRUE + "visible": true }, { "id": 64, - "enabled": TRUE, + "enabled": true, "label": "Particle Trace...", - "visible": TRUE + "visible": true }, { "id": 65, - "enabled": TRUE, + "enabled": true, "label": "Newsprint Text...", - "visible": TRUE + "visible": true }, { "id": 66, - "enabled": TRUE, + "enabled": true, "label": "Neon...", - "visible": TRUE + "visible": true }, { "id": 67, - "enabled": TRUE, + "enabled": true, "label": "Imigre-26...", - "visible": TRUE + "visible": true }, { "id": 68, - "enabled": TRUE, + "enabled": true, "label": "Gradient Bevel...", - "visible": TRUE + "visible": true }, { "id": 69, - "enabled": TRUE, + "enabled": true, "label": "Glowing Hot...", - "visible": TRUE + "visible": true }, { "id": 70, - "enabled": TRUE, + "enabled": true, "label": "Glossy...", - "visible": TRUE + "visible": true }, { "id": 71, - "enabled": TRUE, + "enabled": true, "label": "Frosty...", - "visible": TRUE + "visible": true }, { "id": 72, - "enabled": TRUE, + "enabled": true, "label": "Crystal...", - "visible": TRUE + "visible": true }, { "id": 73, - "enabled": TRUE, + "enabled": true, "label": "Cool Metal...", - "visible": TRUE + "visible": true }, { "id": 74, - "enabled": TRUE, + "enabled": true, "label": "Comic Book...", - "visible": TRUE + "visible": true }, { "id": 75, - "enabled": TRUE, + "enabled": true, "label": "Chrome...", - "visible": TRUE + "visible": true }, { "id": 76, - "enabled": TRUE, + "enabled": true, "label": "Chip Away...", - "visible": TRUE + "visible": true }, { "id": 77, - "enabled": TRUE, + "enabled": true, "label": "Chalk...", - "visible": TRUE + "visible": true }, { "id": 78, - "enabled": TRUE, + "enabled": true, "label": "Carved...", - "visible": TRUE + "visible": true }, { "id": 79, - "enabled": TRUE, + "enabled": true, "label": "Bovination...", - "visible": TRUE + "visible": true }, { "id": 80, - "enabled": TRUE, + "enabled": true, "label": "Blended...", - "visible": TRUE + "visible": true }, { "id": 81, - "enabled": TRUE, + "enabled": true, "label": "Basic I...", - "visible": TRUE + "visible": true }, { "id": 82, - "enabled": TRUE, + "enabled": true, "label": "Basic II...", - "visible": TRUE + "visible": true }, { "id": 83, - "enabled": TRUE, + "enabled": true, "label": "Alien Neon...", - "visible": TRUE + "visible": true }, { "id": 84, - "enabled": TRUE, + "enabled": true, "label": "Alien Glow...", - "visible": TRUE + "visible": true }, { "id": 85, - "enabled": TRUE, + "enabled": true, "label": "3D Outline...", - "visible": TRUE + "visible": true } ] }, { "id": 86, - "enabled": TRUE, + "enabled": true, "label": "Buttons", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 87, - "enabled": TRUE, + "enabled": true, "label": "Simple Beveled Button...", - "visible": TRUE + "visible": true }, { "id": 88, - "enabled": TRUE, + "enabled": true, "label": "Round Button...", - "visible": TRUE + "visible": true } ] }, @@ -540,73 +540,73 @@ }, { "id": 90, - "enabled": TRUE, + "enabled": true, "label": "xscanimage", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 91, - "enabled": FALSE, + "enabled": false, "label": "Device dialog...", - "visible": TRUE + "visible": true } ] }, { "id": 92, - "enabled": TRUE, + "enabled": true, "label": "Screenshot...", - "visible": TRUE + "visible": true }, { "id": 93, "shortcut": [["Control", "Shift", "v"]], - "enabled": TRUE, + "enabled": true, "label": "From Clipboard", - "visible": TRUE + "visible": true } ] }, { "id": 94, "shortcut": [["Control", "n"]], - "enabled": TRUE, + "enabled": true, "label": "New...", - "visible": TRUE + "visible": true } ] }, { "id": 95, - "enabled": TRUE, + "enabled": true, "label": "Edit", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 96, - "enabled": TRUE, + "enabled": true, "label": "Units", - "visible": TRUE + "visible": true }, { "id": 97, - "enabled": TRUE, + "enabled": true, "label": "Modules", - "visible": TRUE + "visible": true }, { "id": 98, - "enabled": TRUE, + "enabled": true, "label": "Keyboard Shortcuts", - "visible": TRUE + "visible": true }, { "id": 99, - "enabled": TRUE, + "enabled": true, "label": "Preferences", - "visible": TRUE + "visible": true }, { "id": 100, @@ -614,43 +614,43 @@ }, { "id": 101, - "enabled": FALSE, + "enabled": false, "label": "Stroke Path...", - "visible": TRUE + "visible": true }, { "id": 102, - "enabled": FALSE, + "enabled": false, "label": "Stroke Selection...", - "visible": TRUE + "visible": true }, { "id": 103, "shortcut": [["Control", "semicolon"]], - "enabled": TRUE, + "enabled": true, "label": "Fill with Pattern", - "visible": TRUE + "visible": true }, { "id": 104, "shortcut": [["Control", "period"]], - "enabled": TRUE, + "enabled": true, "label": "Fill with BG Color", - "visible": TRUE + "visible": true }, { "id": 105, "shortcut": [["Control", "comma"]], - "enabled": TRUE, + "enabled": true, "label": "Fill with FG Color", - "visible": TRUE + "visible": true }, { "id": 106, "shortcut": [["Delete"]], - "enabled": TRUE, + "enabled": true, "label": "Clear", - "visible": TRUE + "visible": true }, { "id": 107, @@ -658,104 +658,104 @@ }, { "id": 108, - "enabled": TRUE, + "enabled": true, "label": "Buffer", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 109, - "enabled": TRUE, + "enabled": true, "label": "Paste Named...", - "visible": TRUE + "visible": true }, { "id": 110, - "enabled": TRUE, + "enabled": true, "label": "Copy Visible Named...", - "visible": TRUE + "visible": true }, { "id": 111, - "enabled": TRUE, + "enabled": true, "label": "Copy Named...", - "visible": TRUE + "visible": true }, { "id": 112, - "enabled": TRUE, + "enabled": true, "label": "Cut Named...", - "visible": TRUE + "visible": true } ] }, { "id": 113, - "enabled": TRUE, + "enabled": true, "label": "Paste as", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 114, - "enabled": TRUE, + "enabled": true, "label": "New Pattern...", - "visible": TRUE + "visible": true }, { "id": 115, - "enabled": TRUE, + "enabled": true, "label": "New Brush...", - "visible": TRUE + "visible": true }, { "id": 116, - "enabled": TRUE, + "enabled": true, "label": "New Layer", - "visible": TRUE + "visible": true }, { "id": 117, "shortcut": [["Control", "Shift", "v"]], - "enabled": TRUE, + "enabled": true, "label": "New Image", - "visible": TRUE + "visible": true } ] }, { "id": 118, - "enabled": TRUE, + "enabled": true, "label": "Paste Into", - "visible": TRUE + "visible": true }, { "id": 119, "shortcut": [["Control", "v"]], - "enabled": TRUE, + "enabled": true, "label": "Paste", - "visible": TRUE + "visible": true }, { "id": 120, "shortcut": [["Control", "Shift", "c"]], - "enabled": TRUE, + "enabled": true, "label": "Copy Visible", - "visible": TRUE + "visible": true }, { "id": 121, "shortcut": [["Control", "c"]], - "enabled": TRUE, + "enabled": true, "label": "Copy", - "visible": TRUE + "visible": true }, { "id": 122, "shortcut": [["Control", "x"]], - "enabled": TRUE, + "enabled": true, "label": "Cut", - "visible": TRUE + "visible": true }, { "id": 123, @@ -763,59 +763,59 @@ }, { "id": 124, - "enabled": TRUE, + "enabled": true, "label": "Undo History", - "visible": TRUE + "visible": true }, { "id": 3, - "enabled": FALSE, + "enabled": false, "label": "_Fade...", - "visible": TRUE + "visible": true }, { "id": 2, "shortcut": [["Control", "y"]], - "enabled": FALSE, + "enabled": false, "label": "_Redo", - "visible": TRUE + "visible": true }, { "id": 1, "shortcut": [["Control", "z"]], - "enabled": FALSE, + "enabled": false, "label": "_Undo", - "visible": TRUE + "visible": true } ] }, { "id": 125, - "enabled": TRUE, + "enabled": true, "label": "Select", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 126, - "enabled": FALSE, + "enabled": false, "label": "To Path", - "visible": TRUE + "visible": true }, { "id": 127, - "enabled": TRUE, + "enabled": true, "label": "Save to Channel", - "visible": TRUE + "visible": true }, { "id": 128, "shortcut": [["Shift", "q"]], - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Toggle Quick Mask", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 129, @@ -823,39 +823,39 @@ }, { "id": 130, - "enabled": TRUE, + "enabled": true, "label": "Distort...", - "visible": TRUE + "visible": true }, { "id": 131, - "enabled": FALSE, + "enabled": false, "label": "Border...", - "visible": TRUE + "visible": true }, { "id": 132, - "enabled": FALSE, + "enabled": false, "label": "Grow...", - "visible": TRUE + "visible": true }, { "id": 133, - "enabled": FALSE, + "enabled": false, "label": "Shrink...", - "visible": TRUE + "visible": true }, { "id": 134, - "enabled": FALSE, + "enabled": false, "label": "Sharpen", - "visible": TRUE + "visible": true }, { "id": 135, - "enabled": FALSE, + "enabled": false, "label": "Feather...", - "visible": TRUE + "visible": true }, { "id": 136, @@ -863,106 +863,106 @@ }, { "id": 137, - "enabled": TRUE, + "enabled": true, "label": "Selection Editor", - "visible": TRUE + "visible": true }, { "id": 138, "shortcut": [["Shift", "v"]], - "enabled": FALSE, + "enabled": false, "label": "From Path", - "visible": TRUE + "visible": true }, { "id": 139, "shortcut": [["Shift", "o"]], - "enabled": TRUE, + "enabled": true, "label": "By Color", - "visible": TRUE + "visible": true }, { "id": 140, "shortcut": [["Control", "Shift", "l"]], - "enabled": FALSE, + "enabled": false, "label": "Float", - "visible": TRUE + "visible": true }, { "id": 141, "shortcut": [["Control", "i"]], - "enabled": TRUE, + "enabled": true, "label": "Invert", - "visible": TRUE + "visible": true }, { "id": 142, "shortcut": [["Control", "Shift", "a"]], - "enabled": FALSE, + "enabled": false, "label": "None", - "visible": TRUE + "visible": true }, { "id": 143, "shortcut": [["Control", "a"]], - "enabled": TRUE, + "enabled": true, "label": "All", - "visible": TRUE + "visible": true } ] }, { "id": 144, - "enabled": TRUE, + "enabled": true, "label": "View", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 145, - "enabled": TRUE, + "enabled": true, "toggle-state": 1, "label": "Show Statusbar", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 146, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Show Scrollbars", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 147, "shortcut": [["Control", "Shift", "r"]], - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Show Rulers", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 148, - "enabled": TRUE, + "enabled": true, "toggle-state": 1, "label": "Show Menubar", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 149, - "enabled": TRUE, + "enabled": true, "label": "Padding Color", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 150, - "enabled": TRUE, + "enabled": true, "label": "As in Preferences", - "visible": TRUE + "visible": true }, { "id": 151, @@ -970,27 +970,27 @@ }, { "id": 152, - "enabled": TRUE, + "enabled": true, "label": "Select Custom Color...", - "visible": TRUE + "visible": true }, { "id": 153, - "enabled": TRUE, + "enabled": true, "label": "Dark Check Color", - "visible": TRUE + "visible": true }, { "id": 154, - "enabled": TRUE, + "enabled": true, "label": "Light Check Color", - "visible": TRUE + "visible": true }, { "id": 155, - "enabled": TRUE, + "enabled": true, "label": "From Theme", - "visible": TRUE + "visible": true } ] }, @@ -1000,35 +1000,35 @@ }, { "id": 157, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Snap to Active Path", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 158, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Snap to Canvas Edges", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 159, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Snap to Grid", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 160, - "enabled": TRUE, + "enabled": true, "toggle-state": 1, "label": "Snap to Guides", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 161, @@ -1036,45 +1036,45 @@ }, { "id": 162, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Show Sample Points", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 163, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Show Grid", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 164, "shortcut": [["Control", "Shift", "t"]], - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Show Guides", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 165, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Show Layer Boundary", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 166, "shortcut": [["Control", "t"]], - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Show Selection", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 167, @@ -1082,15 +1082,15 @@ }, { "id": 168, - "enabled": TRUE, + "enabled": true, "label": "Display Filters...", - "visible": TRUE + "visible": true }, { "id": 169, - "enabled": TRUE, + "enabled": true, "label": "Navigation Window", - "visible": TRUE + "visible": true }, { "id": 170, @@ -1099,27 +1099,27 @@ { "id": 171, "shortcut": [["F11"]], - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Fullscreen", "toggle-type": "checkmark", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 172, - "enabled": TRUE, + "enabled": true, "label": "Open Display...", - "visible": TRUE + "visible": true } ] }, { "id": 173, "shortcut": [["Control", "e"]], - "enabled": TRUE, + "enabled": true, "label": "Shrink Wrap", - "visible": TRUE + "visible": true }, { "id": 174, @@ -1127,18 +1127,18 @@ }, { "id": 175, - "enabled": TRUE, + "enabled": true, "label": "_Zoom (67%)", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 176, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Othe_r (67%)...", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 177, @@ -1146,76 +1146,76 @@ }, { "id": 178, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "1:16 (6.25%)", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 179, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "1:8 (12.5%)", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 180, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "1:4 (25%)", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 181, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "1:2 (50%)", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 182, "shortcut": [["1"]], - "enabled": TRUE, + "enabled": true, "toggle-state": 1, "label": "1:1 (100%)", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 183, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "2:1 (200%)", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 184, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "4:1 (400%)", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 185, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "8:1 (800%)", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 186, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "16:1 (1600%)", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 187, @@ -1223,106 +1223,106 @@ }, { "id": 188, - "enabled": TRUE, + "enabled": true, "label": "Fill Window", - "visible": TRUE + "visible": true }, { "id": 189, "shortcut": [["Control", "Shift", "e"]], - "enabled": TRUE, + "enabled": true, "label": "Fit Image in Window", - "visible": TRUE + "visible": true }, { "id": 190, "shortcut": [["plus"]], - "enabled": TRUE, + "enabled": true, "label": "Zoom In", - "visible": TRUE + "visible": true }, { "id": 191, "shortcut": [["minus"]], - "enabled": TRUE, + "enabled": true, "label": "Zoom Out", - "visible": TRUE + "visible": true }, { "id": 4, "shortcut": [["grave"]], - "enabled": TRUE, + "enabled": true, "label": "Re_vert Zoom (67%)", - "visible": TRUE + "visible": true } ] }, { "id": 192, - "enabled": TRUE, + "enabled": true, "toggle-state": 1, "label": "Dot for Dot", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 193, - "enabled": TRUE, + "enabled": true, "label": "New View", - "visible": TRUE + "visible": true } ] }, { "id": 194, - "enabled": TRUE, + "enabled": true, "label": "Image", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 195, "shortcut": [["Alt", "Return"]], - "enabled": TRUE, + "enabled": true, "label": "Image Properties", - "visible": TRUE + "visible": true }, { "id": 196, - "enabled": TRUE, + "enabled": true, "label": "Configure Grid...", - "visible": TRUE + "visible": true }, { "id": 197, - "enabled": TRUE, + "enabled": true, "label": "Guides", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 198, - "enabled": TRUE, + "enabled": true, "label": "Remove all Guides", - "visible": TRUE + "visible": true }, { "id": 199, - "enabled": TRUE, + "enabled": true, "label": "New Guides from Selection", - "visible": TRUE + "visible": true }, { "id": 200, - "enabled": TRUE, + "enabled": true, "label": "New Guide...", - "visible": TRUE + "visible": true }, { "id": 201, - "enabled": TRUE, + "enabled": true, "label": "New Guide (by Percent)...", - "visible": TRUE + "visible": true } ] }, @@ -1332,22 +1332,22 @@ }, { "id": 203, - "enabled": TRUE, + "enabled": true, "label": "Align Visible Layers...", - "visible": TRUE + "visible": true }, { "id": 204, - "enabled": TRUE, + "enabled": true, "label": "Flatten Image", - "visible": TRUE + "visible": true }, { "id": 205, "shortcut": [["Control", "m"]], - "enabled": TRUE, + "enabled": true, "label": "Merge Visible Layers...", - "visible": TRUE + "visible": true }, { "id": 206, @@ -1355,21 +1355,21 @@ }, { "id": 207, - "enabled": TRUE, + "enabled": true, "label": "Zealous Crop", - "visible": TRUE + "visible": true }, { "id": 208, - "enabled": TRUE, + "enabled": true, "label": "Autocrop Image", - "visible": TRUE + "visible": true }, { "id": 209, - "enabled": FALSE, + "enabled": false, "label": "Crop to Selection", - "visible": TRUE + "visible": true }, { "id": 210, @@ -1377,33 +1377,33 @@ }, { "id": 211, - "enabled": TRUE, + "enabled": true, "label": "Scale Image...", - "visible": TRUE + "visible": true }, { "id": 212, - "enabled": TRUE, + "enabled": true, "label": "Print Size...", - "visible": TRUE + "visible": true }, { "id": 213, - "enabled": FALSE, + "enabled": false, "label": "Fit Canvas to Selection", - "visible": TRUE + "visible": true }, { "id": 214, - "enabled": TRUE, + "enabled": true, "label": "Fit Canvas to Layers", - "visible": TRUE + "visible": true }, { "id": 215, - "enabled": TRUE, + "enabled": true, "label": "Canvas Size...", - "visible": TRUE + "visible": true }, { "id": 216, @@ -1411,16 +1411,16 @@ }, { "id": 217, - "enabled": TRUE, + "enabled": true, "label": "Transform", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 218, - "enabled": TRUE, + "enabled": true, "label": "Guillotine", - "visible": TRUE + "visible": true }, { "id": 219, @@ -1428,21 +1428,21 @@ }, { "id": 220, - "enabled": TRUE, + "enabled": true, "label": "Rotate 180\302\260", - "visible": TRUE + "visible": true }, { "id": 221, - "enabled": TRUE, + "enabled": true, "label": "Rotate 90\302\260 counter-clockwise", - "visible": TRUE + "visible": true }, { "id": 222, - "enabled": TRUE, + "enabled": true, "label": "Rotate 90\302\260 clockwise", - "visible": TRUE + "visible": true }, { "id": 223, @@ -1450,36 +1450,36 @@ }, { "id": 224, - "enabled": TRUE, + "enabled": true, "label": "Flip Vertically", - "visible": TRUE + "visible": true }, { "id": 225, - "enabled": TRUE, + "enabled": true, "label": "Flip Horizontally", - "visible": TRUE + "visible": true } ] }, { "id": 226, - "enabled": TRUE, + "enabled": true, "label": "Mode", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 227, - "enabled": TRUE, + "enabled": true, "label": "Convert to Color Profile...", - "visible": TRUE + "visible": true }, { "id": 228, - "enabled": TRUE, + "enabled": true, "label": "Assign Color Profile...", - "visible": TRUE + "visible": true }, { "id": 229, @@ -1487,75 +1487,75 @@ }, { "id": 230, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Indexed...", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 231, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Grayscale", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 232, - "enabled": TRUE, + "enabled": true, "toggle-state": 1, "label": "RGB", "toggle-type": "checkmark", - "visible": TRUE + "visible": true } ] }, { "id": 233, "shortcut": [["Control", "d"]], - "enabled": TRUE, + "enabled": true, "label": "Duplicate", - "visible": TRUE + "visible": true } ] }, { "id": 234, - "enabled": TRUE, + "enabled": true, "label": "Layer", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 235, - "enabled": TRUE, + "enabled": true, "label": "Autocrop Layer", - "visible": TRUE + "visible": true }, { "id": 236, - "enabled": FALSE, + "enabled": false, "label": "Crop to Selection", - "visible": TRUE + "visible": true }, { "id": 237, - "enabled": TRUE, + "enabled": true, "label": "Scale Layer...", - "visible": TRUE + "visible": true }, { "id": 238, - "enabled": TRUE, + "enabled": true, "label": "Layer to Image Size", - "visible": TRUE + "visible": true }, { "id": 239, - "enabled": TRUE, + "enabled": true, "label": "Layer Boundary Size...", - "visible": TRUE + "visible": true }, { "id": 240, @@ -1563,17 +1563,17 @@ }, { "id": 241, - "enabled": TRUE, + "enabled": true, "label": "Transform", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 242, "shortcut": [["Control", "Shift", "o"]], - "enabled": TRUE, + "enabled": true, "label": "Offset...", - "visible": TRUE + "visible": true }, { "id": 243, @@ -1581,27 +1581,27 @@ }, { "id": 244, - "enabled": TRUE, + "enabled": true, "label": "Arbitrary Rotation...", - "visible": TRUE + "visible": true }, { "id": 245, - "enabled": TRUE, + "enabled": true, "label": "Rotate 180\302\260", - "visible": TRUE + "visible": true }, { "id": 246, - "enabled": TRUE, + "enabled": true, "label": "Rotate 90\302\260 counter-clockwise", - "visible": TRUE + "visible": true }, { "id": 247, - "enabled": TRUE, + "enabled": true, "label": "Rotate 90\302\260 clockwise", - "visible": TRUE + "visible": true }, { "id": 248, @@ -1609,48 +1609,48 @@ }, { "id": 249, - "enabled": TRUE, + "enabled": true, "label": "Flip Vertically", - "visible": TRUE + "visible": true }, { "id": 250, - "enabled": TRUE, + "enabled": true, "label": "Flip Horizontally", - "visible": TRUE + "visible": true } ] }, { "id": 251, - "enabled": TRUE, + "enabled": true, "label": "Transparency", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 252, - "enabled": TRUE, + "enabled": true, "label": "Intersect with Selection", - "visible": TRUE + "visible": true }, { "id": 253, - "enabled": TRUE, + "enabled": true, "label": "Subtract from Selection", - "visible": TRUE + "visible": true }, { "id": 254, - "enabled": TRUE, + "enabled": true, "label": "Add to Selection", - "visible": TRUE + "visible": true }, { "id": 255, - "enabled": TRUE, + "enabled": true, "label": "Alpha to Selection", - "visible": TRUE + "visible": true }, { "id": 256, @@ -1658,66 +1658,66 @@ }, { "id": 257, - "enabled": TRUE, + "enabled": true, "label": "Threshold Alpha...", - "visible": TRUE + "visible": true }, { "id": 258, - "enabled": TRUE, + "enabled": true, "label": "Semi-Flatten", - "visible": TRUE + "visible": true }, { "id": 259, - "enabled": TRUE, + "enabled": true, "label": "Color to Alpha...", - "visible": TRUE + "visible": true }, { "id": 260, - "enabled": TRUE, + "enabled": true, "label": "Remove Alpha Channel", - "visible": TRUE + "visible": true }, { "id": 261, - "enabled": FALSE, + "enabled": false, "label": "Add Alpha Channel", - "visible": TRUE + "visible": true } ] }, { "id": 262, - "enabled": TRUE, + "enabled": true, "label": "Mask", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 263, - "enabled": FALSE, + "enabled": false, "label": "Intersect with Selection", - "visible": TRUE + "visible": true }, { "id": 264, - "enabled": FALSE, + "enabled": false, "label": "Subtract from Selection", - "visible": TRUE + "visible": true }, { "id": 265, - "enabled": FALSE, + "enabled": false, "label": "Add to Selection", - "visible": TRUE + "visible": true }, { "id": 266, - "enabled": FALSE, + "enabled": false, "label": "Mask to Selection", - "visible": TRUE + "visible": true }, { "id": 267, @@ -1725,27 +1725,27 @@ }, { "id": 268, - "enabled": FALSE, + "enabled": false, "toggle-state": 0, "label": "Disable Layer Mask", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 269, - "enabled": FALSE, + "enabled": false, "toggle-state": 0, "label": "Edit Layer Mask", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 270, - "enabled": FALSE, + "enabled": false, "toggle-state": 0, "label": "Show Layer Mask", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 271, @@ -1753,36 +1753,36 @@ }, { "id": 272, - "enabled": FALSE, + "enabled": false, "label": "Delete Layer Mask", - "visible": TRUE + "visible": true }, { "id": 273, - "enabled": FALSE, + "enabled": false, "label": "Apply Layer Mask", - "visible": TRUE + "visible": true }, { "id": 274, - "enabled": TRUE, + "enabled": true, "label": "Add Layer Mask...", - "visible": TRUE + "visible": true } ] }, { "id": 275, - "enabled": TRUE, + "enabled": true, "label": "Stack", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 276, - "enabled": TRUE, + "enabled": true, "label": "Reverse Layer Order", - "visible": TRUE + "visible": true }, { "id": 277, @@ -1790,27 +1790,27 @@ }, { "id": 278, - "enabled": FALSE, + "enabled": false, "label": "Layer to Bottom", - "visible": TRUE + "visible": true }, { "id": 279, - "enabled": FALSE, + "enabled": false, "label": "Layer to Top", - "visible": TRUE + "visible": true }, { "id": 280, - "enabled": FALSE, + "enabled": false, "label": "Lower Layer", - "visible": TRUE + "visible": true }, { "id": 281, - "enabled": FALSE, + "enabled": false, "label": "Raise Layer", - "visible": TRUE + "visible": true }, { "id": 282, @@ -1819,30 +1819,30 @@ { "id": 283, "shortcut": [["End"]], - "enabled": FALSE, + "enabled": false, "label": "Select Bottom Layer", - "visible": TRUE + "visible": true }, { "id": 284, "shortcut": [["Home"]], - "enabled": FALSE, + "enabled": false, "label": "Select Top Layer", - "visible": TRUE + "visible": true }, { "id": 285, "shortcut": [["Page_Down"]], - "enabled": FALSE, + "enabled": false, "label": "Select Next Layer", - "visible": TRUE + "visible": true }, { "id": 286, "shortcut": [["Page_Up"]], - "enabled": FALSE, + "enabled": false, "label": "Select Previous Layer", - "visible": TRUE + "visible": true } ] }, @@ -1853,95 +1853,95 @@ "submenu": [ { "id": 288, - "enabled": FALSE, + "enabled": false, "label": "Empty", - "visible": TRUE + "visible": true } ] }, { "id": 289, - "enabled": TRUE, + "enabled": true, "label": "Delete Layer", - "visible": TRUE + "visible": true }, { "id": 290, - "enabled": FALSE, + "enabled": false, "label": "Merge Down", - "visible": TRUE + "visible": true }, { "id": 291, "shortcut": [["Control", "h"]], - "enabled": FALSE, + "enabled": false, "label": "Anchor Layer", - "visible": TRUE + "visible": true }, { "id": 292, "shortcut": [["Control", "Shift", "d"]], - "enabled": TRUE, + "enabled": true, "label": "Duplicate Layer", - "visible": TRUE + "visible": true }, { "id": 293, - "enabled": TRUE, + "enabled": true, "label": "New from Visible", - "visible": TRUE + "visible": true }, { "id": 294, "shortcut": [["Control", "Shift", "n"]], - "enabled": TRUE, + "enabled": true, "label": "New Layer...", - "visible": TRUE + "visible": true } ] }, { "id": 295, - "enabled": TRUE, + "enabled": true, "label": "Colors", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 296, - "enabled": TRUE, + "enabled": true, "label": "Retinex...", - "visible": TRUE + "visible": true }, { "id": 297, - "enabled": TRUE, + "enabled": true, "label": "Maximum RGB...", - "visible": TRUE + "visible": true }, { "id": 298, - "enabled": FALSE, + "enabled": false, "label": "Hot...", - "visible": TRUE + "visible": true }, { "id": 299, - "enabled": TRUE, + "enabled": true, "label": "Filter Pack...", - "visible": TRUE + "visible": true }, { "id": 300, - "enabled": TRUE, + "enabled": true, "label": "Color to Alpha...", - "visible": TRUE + "visible": true }, { "id": 301, - "enabled": TRUE, + "enabled": true, "label": "Colorify...", - "visible": TRUE + "visible": true }, { "id": 302, @@ -1949,79 +1949,79 @@ }, { "id": 303, - "enabled": TRUE, + "enabled": true, "label": "Info", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 304, - "enabled": TRUE, + "enabled": true, "label": "Smooth Palette...", - "visible": TRUE + "visible": true }, { "id": 305, - "enabled": TRUE, + "enabled": true, "label": "Colorcube Analysis...", - "visible": TRUE + "visible": true }, { "id": 306, - "enabled": TRUE, + "enabled": true, "label": "Border Average...", - "visible": TRUE + "visible": true }, { "id": 307, - "enabled": TRUE, + "enabled": true, "label": "Histogram", - "visible": TRUE + "visible": true } ] }, { "id": 308, - "enabled": TRUE, + "enabled": true, "label": "Map", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 309, - "enabled": TRUE, + "enabled": true, "label": "Sample Colorize...", - "visible": TRUE + "visible": true }, { "id": 310, - "enabled": TRUE, + "enabled": true, "label": "Rotate Colors...", - "visible": TRUE + "visible": true }, { "id": 311, - "enabled": TRUE, + "enabled": true, "label": "Palette Map", - "visible": TRUE + "visible": true }, { "id": 312, - "enabled": TRUE, + "enabled": true, "label": "Gradient Map", - "visible": TRUE + "visible": true }, { "id": 313, - "enabled": TRUE, + "enabled": true, "label": "Color Exchange...", - "visible": TRUE + "visible": true }, { "id": 314, - "enabled": TRUE, + "enabled": true, "label": "Alien Map...", - "visible": TRUE + "visible": true }, { "id": 315, @@ -2029,93 +2029,93 @@ }, { "id": 316, - "enabled": FALSE, + "enabled": false, "label": "Set Colormap...", - "visible": TRUE + "visible": true }, { "id": 317, - "enabled": FALSE, + "enabled": false, "label": "Rearrange Colormap...", - "visible": TRUE + "visible": true } ] }, { "id": 318, - "enabled": TRUE, + "enabled": true, "label": "Components", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 319, - "enabled": FALSE, + "enabled": false, "label": "Recompose", - "visible": TRUE + "visible": true }, { "id": 320, - "enabled": TRUE, + "enabled": true, "label": "Decompose...", - "visible": TRUE + "visible": true }, { "id": 321, - "enabled": FALSE, + "enabled": false, "label": "Compose...", - "visible": TRUE + "visible": true }, { "id": 322, - "enabled": TRUE, + "enabled": true, "label": "Channel Mixer...", - "visible": TRUE + "visible": true } ] }, { "id": 323, - "enabled": TRUE, + "enabled": true, "label": "Auto", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 324, - "enabled": TRUE, + "enabled": true, "label": "Stretch HSV", - "visible": TRUE + "visible": true }, { "id": 325, - "enabled": TRUE, + "enabled": true, "label": "Stretch Contrast", - "visible": TRUE + "visible": true }, { "id": 326, - "enabled": TRUE, + "enabled": true, "label": "Normalize", - "visible": TRUE + "visible": true }, { "id": 327, - "enabled": TRUE, + "enabled": true, "label": "Color Enhance", - "visible": TRUE + "visible": true }, { "id": 328, - "enabled": TRUE, + "enabled": true, "label": "White Balance", - "visible": TRUE + "visible": true }, { "id": 329, - "enabled": TRUE, + "enabled": true, "label": "Equalize", - "visible": TRUE + "visible": true } ] }, @@ -2125,11 +2125,11 @@ }, { "id": 331, - "enabled": TRUE, + "enabled": true, "toggle-state": 0, "label": "Use GEGL", "toggle-type": "checkmark", - "visible": TRUE + "visible": true }, { "id": 332, @@ -2137,15 +2137,15 @@ }, { "id": 333, - "enabled": TRUE, + "enabled": true, "label": "Value Invert", - "visible": TRUE + "visible": true }, { "id": 334, - "enabled": TRUE, + "enabled": true, "label": "Invert", - "visible": TRUE + "visible": true }, { "id": 335, @@ -2153,87 +2153,87 @@ }, { "id": 336, - "enabled": TRUE, + "enabled": true, "label": "Desaturate...", - "visible": TRUE + "visible": true }, { "id": 337, - "enabled": TRUE, + "enabled": true, "label": "Posterize...", - "visible": TRUE + "visible": true }, { "id": 338, - "enabled": TRUE, + "enabled": true, "label": "Curves...", - "visible": TRUE + "visible": true }, { "id": 339, - "enabled": TRUE, + "enabled": true, "label": "Levels...", - "visible": TRUE + "visible": true }, { "id": 340, - "enabled": TRUE, + "enabled": true, "label": "Threshold...", - "visible": TRUE + "visible": true }, { "id": 341, - "enabled": TRUE, + "enabled": true, "label": "Brightness-Contrast...", - "visible": TRUE + "visible": true }, { "id": 342, - "enabled": TRUE, + "enabled": true, "label": "Colorize...", - "visible": TRUE + "visible": true }, { "id": 343, - "enabled": TRUE, + "enabled": true, "label": "Hue-Saturation...", - "visible": TRUE + "visible": true }, { "id": 344, - "enabled": TRUE, + "enabled": true, "label": "Color Balance...", - "visible": TRUE + "visible": true } ] }, { "id": 345, - "enabled": TRUE, + "enabled": true, "label": "Tools", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 346, "shortcut": [["x"]], - "enabled": TRUE, + "enabled": true, "label": "Swap Colors", - "visible": TRUE + "visible": true }, { "id": 347, "shortcut": [["d"]], - "enabled": TRUE, + "enabled": true, "label": "Default Colors", - "visible": TRUE + "visible": true }, { "id": 348, "shortcut": [["Control", "b"]], - "enabled": TRUE, + "enabled": true, "label": "Toolbox", - "visible": TRUE + "visible": true }, { "id": 349, @@ -2241,326 +2241,326 @@ }, { "id": 350, - "enabled": TRUE, + "enabled": true, "label": "GEGL Operation...", - "visible": TRUE + "visible": true }, { "id": 351, "shortcut": [["t"]], - "enabled": TRUE, + "enabled": true, "label": "Text", - "visible": TRUE + "visible": true }, { "id": 352, "shortcut": [["Shift", "m"]], - "enabled": TRUE, + "enabled": true, "label": "Measure", - "visible": TRUE + "visible": true }, { "id": 353, "shortcut": [["z"]], - "enabled": TRUE, + "enabled": true, "label": "Zoom", - "visible": TRUE + "visible": true }, { "id": 354, "shortcut": [["o"]], - "enabled": TRUE, + "enabled": true, "label": "Color Picker", - "visible": TRUE + "visible": true }, { "id": 355, "shortcut": [["b"]], - "enabled": TRUE, + "enabled": true, "label": "Paths", - "visible": TRUE + "visible": true }, { "id": 356, - "enabled": TRUE, + "enabled": true, "label": "Color Tools", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 357, - "enabled": TRUE, + "enabled": true, "label": "Desaturate...", - "visible": TRUE + "visible": true }, { "id": 358, - "enabled": TRUE, + "enabled": true, "label": "Posterize...", - "visible": TRUE + "visible": true }, { "id": 359, - "enabled": TRUE, + "enabled": true, "label": "Curves...", - "visible": TRUE + "visible": true }, { "id": 360, - "enabled": TRUE, + "enabled": true, "label": "Levels...", - "visible": TRUE + "visible": true }, { "id": 361, - "enabled": TRUE, + "enabled": true, "label": "Threshold...", - "visible": TRUE + "visible": true }, { "id": 362, - "enabled": TRUE, + "enabled": true, "label": "Brightness-Contrast...", - "visible": TRUE + "visible": true }, { "id": 363, - "enabled": TRUE, + "enabled": true, "label": "Colorize...", - "visible": TRUE + "visible": true }, { "id": 364, - "enabled": TRUE, + "enabled": true, "label": "Hue-Saturation...", - "visible": TRUE + "visible": true }, { "id": 365, - "enabled": TRUE, + "enabled": true, "label": "Color Balance...", - "visible": TRUE + "visible": true } ] }, { "id": 366, - "enabled": TRUE, + "enabled": true, "label": "Transform Tools", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 367, "shortcut": [["Shift", "f"]], - "enabled": TRUE, + "enabled": true, "label": "Flip", - "visible": TRUE + "visible": true }, { "id": 368, "shortcut": [["Shift", "p"]], - "enabled": TRUE, + "enabled": true, "label": "Perspective", - "visible": TRUE + "visible": true }, { "id": 369, "shortcut": [["Shift", "s"]], - "enabled": TRUE, + "enabled": true, "label": "Shear", - "visible": TRUE + "visible": true }, { "id": 370, "shortcut": [["Shift", "t"]], - "enabled": TRUE, + "enabled": true, "label": "Scale", - "visible": TRUE + "visible": true }, { "id": 371, "shortcut": [["Shift", "r"]], - "enabled": TRUE, + "enabled": true, "label": "Rotate", - "visible": TRUE + "visible": true }, { "id": 372, "shortcut": [["Shift", "c"]], - "enabled": TRUE, + "enabled": true, "label": "Crop", - "visible": TRUE + "visible": true }, { "id": 373, "shortcut": [["m"]], - "enabled": TRUE, + "enabled": true, "label": "Move", - "visible": TRUE + "visible": true }, { "id": 374, "shortcut": [["q"]], - "enabled": TRUE, + "enabled": true, "label": "Align", - "visible": TRUE + "visible": true } ] }, { "id": 375, - "enabled": TRUE, + "enabled": true, "label": "Paint Tools", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 376, "shortcut": [["Shift", "d"]], - "enabled": TRUE, + "enabled": true, "label": "Dodge / Burn", - "visible": TRUE + "visible": true }, { "id": 377, "shortcut": [["s"]], - "enabled": TRUE, + "enabled": true, "label": "Smudge", - "visible": TRUE + "visible": true }, { "id": 378, "shortcut": [["Shift", "u"]], - "enabled": TRUE, + "enabled": true, "label": "Blur / Sharpen", - "visible": TRUE + "visible": true }, { "id": 379, - "enabled": TRUE, + "enabled": true, "label": "Perspective Clone", - "visible": TRUE + "visible": true }, { "id": 380, "shortcut": [["h"]], - "enabled": TRUE, + "enabled": true, "label": "Heal", - "visible": TRUE + "visible": true }, { "id": 381, "shortcut": [["c"]], - "enabled": TRUE, + "enabled": true, "label": "Clone", - "visible": TRUE + "visible": true }, { "id": 382, "shortcut": [["k"]], - "enabled": TRUE, + "enabled": true, "label": "Ink", - "visible": TRUE + "visible": true }, { "id": 383, "shortcut": [["a"]], - "enabled": TRUE, + "enabled": true, "label": "Airbrush", - "visible": TRUE + "visible": true }, { "id": 384, "shortcut": [["Shift", "e"]], - "enabled": TRUE, + "enabled": true, "label": "Eraser", - "visible": TRUE + "visible": true }, { "id": 385, "shortcut": [["p"]], - "enabled": TRUE, + "enabled": true, "label": "Paintbrush", - "visible": TRUE + "visible": true }, { "id": 386, "shortcut": [["n"]], - "enabled": TRUE, + "enabled": true, "label": "Pencil", - "visible": TRUE + "visible": true }, { "id": 387, "shortcut": [["l"]], - "enabled": TRUE, + "enabled": true, "label": "Blend", - "visible": TRUE + "visible": true }, { "id": 388, "shortcut": [["Shift", "b"]], - "enabled": TRUE, + "enabled": true, "label": "Bucket Fill", - "visible": TRUE + "visible": true } ] }, { "id": 389, - "enabled": TRUE, + "enabled": true, "label": "Selection Tools", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 390, "shortcut": [["i"]], - "enabled": TRUE, + "enabled": true, "label": "Intelligent Scissors", - "visible": TRUE + "visible": true }, { "id": 391, "shortcut": [["Shift", "o"]], - "enabled": TRUE, + "enabled": true, "label": "By Color Select", - "visible": TRUE + "visible": true }, { "id": 392, "shortcut": [["u"]], - "enabled": TRUE, + "enabled": true, "label": "Fuzzy Select", - "visible": TRUE + "visible": true }, { "id": 393, - "enabled": TRUE, + "enabled": true, "label": "Foreground Select", - "visible": TRUE + "visible": true }, { "id": 394, "shortcut": [["f"]], - "enabled": TRUE, + "enabled": true, "label": "Free Select", - "visible": TRUE + "visible": true }, { "id": 395, "shortcut": [["e"]], - "enabled": TRUE, + "enabled": true, "label": "Ellipse Select", - "visible": TRUE + "visible": true }, { "id": 396, "shortcut": [["r"]], - "enabled": TRUE, + "enabled": true, "label": "Rectangle Select", - "visible": TRUE + "visible": true } ] } @@ -2568,50 +2568,50 @@ }, { "id": 397, - "enabled": TRUE, + "enabled": true, "label": "Filters", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 398, - "enabled": TRUE, + "enabled": true, "label": "Script-Fu", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 399, - "enabled": TRUE, + "enabled": true, "label": "Start Server...", - "visible": TRUE + "visible": true }, { "id": 400, - "enabled": TRUE, + "enabled": true, "label": "Refresh Scripts", - "visible": TRUE + "visible": true }, { "id": 401, - "enabled": TRUE, + "enabled": true, "label": "Console", - "visible": TRUE + "visible": true } ] }, { "id": 402, - "enabled": TRUE, + "enabled": true, "label": "Python-Fu", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 403, - "enabled": TRUE, + "enabled": true, "label": "Console", - "visible": TRUE + "visible": true } ] }, @@ -2621,124 +2621,124 @@ }, { "id": 405, - "enabled": TRUE, + "enabled": true, "label": "Alpha to Logo", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 406, - "enabled": TRUE, + "enabled": true, "label": "Textured...", - "visible": TRUE + "visible": true }, { "id": 407, - "enabled": TRUE, + "enabled": true, "label": "Particle Trace...", - "visible": TRUE + "visible": true }, { "id": 408, - "enabled": TRUE, + "enabled": true, "label": "Neon...", - "visible": TRUE + "visible": true }, { "id": 409, - "enabled": TRUE, + "enabled": true, "label": "Gradient Bevel...", - "visible": TRUE + "visible": true }, { "id": 410, - "enabled": TRUE, + "enabled": true, "label": "Glowing Hot...", - "visible": TRUE + "visible": true }, { "id": 411, - "enabled": TRUE, + "enabled": true, "label": "Glossy...", - "visible": TRUE + "visible": true }, { "id": 412, - "enabled": TRUE, + "enabled": true, "label": "Frosty...", - "visible": TRUE + "visible": true }, { "id": 413, - "enabled": TRUE, + "enabled": true, "label": "Cool Metal...", - "visible": TRUE + "visible": true }, { "id": 414, - "enabled": TRUE, + "enabled": true, "label": "Comic Book...", - "visible": TRUE + "visible": true }, { "id": 415, - "enabled": TRUE, + "enabled": true, "label": "Chrome...", - "visible": TRUE + "visible": true }, { "id": 416, - "enabled": TRUE, + "enabled": true, "label": "Chip Away...", - "visible": TRUE + "visible": true }, { "id": 417, - "enabled": TRUE, + "enabled": true, "label": "Chalk...", - "visible": TRUE + "visible": true }, { "id": 418, - "enabled": TRUE, + "enabled": true, "label": "Bovination...", - "visible": TRUE + "visible": true }, { "id": 419, - "enabled": TRUE, + "enabled": true, "label": "Blended...", - "visible": TRUE + "visible": true }, { "id": 420, - "enabled": TRUE, + "enabled": true, "label": "Basic I...", - "visible": TRUE + "visible": true }, { "id": 421, - "enabled": TRUE, + "enabled": true, "label": "Basic II...", - "visible": TRUE + "visible": true }, { "id": 422, - "enabled": TRUE, + "enabled": true, "label": "Alien Neon...", - "visible": TRUE + "visible": true }, { "id": 423, - "enabled": TRUE, + "enabled": true, "label": "Alien Glow...", - "visible": TRUE + "visible": true }, { "id": 424, - "enabled": TRUE, + "enabled": true, "label": "3D Outline...", - "visible": TRUE + "visible": true } ] }, @@ -2748,34 +2748,34 @@ }, { "id": 426, - "enabled": TRUE, + "enabled": true, "label": "Animation", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 427, - "enabled": TRUE, + "enabled": true, "label": "Unoptimize", - "visible": TRUE + "visible": true }, { "id": 428, - "enabled": TRUE, + "enabled": true, "label": "Playback...", - "visible": TRUE + "visible": true }, { "id": 429, - "enabled": TRUE, + "enabled": true, "label": "Optimize (for GIF)", - "visible": TRUE + "visible": true }, { "id": 430, - "enabled": TRUE, + "enabled": true, "label": "Optimize (Difference)", - "visible": TRUE + "visible": true }, { "id": 431, @@ -2783,111 +2783,111 @@ }, { "id": 432, - "enabled": TRUE, + "enabled": true, "label": "Waves...", - "visible": TRUE + "visible": true }, { "id": 433, - "enabled": TRUE, + "enabled": true, "label": "Spinning Globe...", - "visible": TRUE + "visible": true }, { "id": 434, - "enabled": TRUE, + "enabled": true, "label": "Rippling...", - "visible": TRUE + "visible": true }, { "id": 435, - "enabled": TRUE, + "enabled": true, "label": "Burn-In...", - "visible": TRUE + "visible": true }, { "id": 436, - "enabled": TRUE, + "enabled": true, "label": "Blend...", - "visible": TRUE + "visible": true } ] }, { "id": 437, - "enabled": TRUE, + "enabled": true, "label": "Web", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 438, - "enabled": TRUE, + "enabled": true, "label": "Slice...", - "visible": TRUE + "visible": true }, { "id": 439, - "enabled": TRUE, + "enabled": true, "label": "Semi-Flatten", - "visible": TRUE + "visible": true }, { "id": 440, - "enabled": TRUE, + "enabled": true, "label": "Image Map...", - "visible": TRUE + "visible": true } ] }, { "id": 441, - "enabled": TRUE, + "enabled": true, "label": "Render", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 442, - "enabled": TRUE, + "enabled": true, "label": "Spyrogimp...", - "visible": TRUE + "visible": true }, { "id": 443, - "enabled": TRUE, + "enabled": true, "label": "Sphere Designer...", - "visible": TRUE + "visible": true }, { "id": 444, - "enabled": TRUE, + "enabled": true, "label": "Line Nova...", - "visible": TRUE + "visible": true }, { "id": 445, - "enabled": TRUE, + "enabled": true, "label": "Lava...", - "visible": TRUE + "visible": true }, { "id": 446, - "enabled": TRUE, + "enabled": true, "label": "Gfig...", - "visible": TRUE + "visible": true }, { "id": 447, - "enabled": TRUE, + "enabled": true, "label": "Fractal Explorer...", - "visible": TRUE + "visible": true }, { "id": 448, - "enabled": TRUE, + "enabled": true, "label": "Circuit...", - "visible": TRUE + "visible": true }, { "id": 449, @@ -2895,112 +2895,112 @@ }, { "id": 450, - "enabled": TRUE, + "enabled": true, "label": "Pattern", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 451, - "enabled": TRUE, + "enabled": true, "label": "Sinus...", - "visible": TRUE + "visible": true }, { "id": 452, - "enabled": TRUE, + "enabled": true, "label": "Qbist...", - "visible": TRUE + "visible": true }, { "id": 453, - "enabled": TRUE, + "enabled": true, "label": "Maze...", - "visible": TRUE + "visible": true }, { "id": 454, - "enabled": TRUE, + "enabled": true, "label": "Jigsaw...", - "visible": TRUE + "visible": true }, { "id": 455, - "enabled": TRUE, + "enabled": true, "label": "Grid...", - "visible": TRUE + "visible": true }, { "id": 456, - "enabled": TRUE, + "enabled": true, "label": "Diffraction Patterns...", - "visible": TRUE + "visible": true }, { "id": 457, - "enabled": TRUE, + "enabled": true, "label": "CML Explorer...", - "visible": TRUE + "visible": true }, { "id": 458, - "enabled": TRUE, + "enabled": true, "label": "Checkerboard...", - "visible": TRUE + "visible": true } ] }, { "id": 459, - "enabled": TRUE, + "enabled": true, "label": "Nature", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 460, - "enabled": TRUE, + "enabled": true, "label": "IFS Fractal...", - "visible": TRUE + "visible": true }, { "id": 461, - "enabled": TRUE, + "enabled": true, "label": "Flame...", - "visible": TRUE + "visible": true } ] }, { "id": 462, - "enabled": TRUE, + "enabled": true, "label": "Clouds", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 463, - "enabled": TRUE, + "enabled": true, "label": "Solid Noise...", - "visible": TRUE + "visible": true }, { "id": 464, - "enabled": TRUE, + "enabled": true, "label": "Plasma...", - "visible": TRUE + "visible": true }, { "id": 465, - "enabled": TRUE, + "enabled": true, "label": "Fog...", - "visible": TRUE + "visible": true }, { "id": 466, - "enabled": TRUE, + "enabled": true, "label": "Difference Clouds...", - "visible": TRUE + "visible": true } ] } @@ -3008,361 +3008,361 @@ }, { "id": 467, - "enabled": TRUE, + "enabled": true, "label": "Map", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 468, - "enabled": TRUE, + "enabled": true, "label": "Warp...", - "visible": TRUE + "visible": true }, { "id": 469, - "enabled": TRUE, + "enabled": true, "label": "Tile...", - "visible": TRUE + "visible": true }, { "id": 470, - "enabled": TRUE, + "enabled": true, "label": "Small Tiles...", - "visible": TRUE + "visible": true }, { "id": 471, - "enabled": TRUE, + "enabled": true, "label": "Paper Tile...", - "visible": TRUE + "visible": true }, { "id": 472, - "enabled": TRUE, + "enabled": true, "label": "Map Object...", - "visible": TRUE + "visible": true }, { "id": 473, - "enabled": TRUE, + "enabled": true, "label": "Make Seamless", - "visible": TRUE + "visible": true }, { "id": 474, - "enabled": TRUE, + "enabled": true, "label": "Illusion...", - "visible": TRUE + "visible": true }, { "id": 475, - "enabled": TRUE, + "enabled": true, "label": "Fractal Trace...", - "visible": TRUE + "visible": true }, { "id": 476, - "enabled": TRUE, + "enabled": true, "label": "Displace...", - "visible": TRUE + "visible": true }, { "id": 477, - "enabled": TRUE, + "enabled": true, "label": "Bump Map...", - "visible": TRUE + "visible": true } ] }, { "id": 478, - "enabled": TRUE, + "enabled": true, "label": "Decor", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 479, - "enabled": FALSE, + "enabled": false, "label": "Stencil Chrome...", - "visible": TRUE + "visible": true }, { "id": 480, - "enabled": FALSE, + "enabled": false, "label": "Stencil Carve...", - "visible": TRUE + "visible": true }, { "id": 481, - "enabled": FALSE, + "enabled": false, "label": "Slide...", - "visible": TRUE + "visible": true }, { "id": 482, - "enabled": FALSE, + "enabled": false, "label": "Round Corners...", - "visible": TRUE + "visible": true }, { "id": 483, - "enabled": TRUE, + "enabled": true, "label": "Old Photo...", - "visible": TRUE + "visible": true }, { "id": 484, - "enabled": TRUE, + "enabled": true, "label": "Fuzzy Border...", - "visible": TRUE + "visible": true }, { "id": 485, - "enabled": TRUE, + "enabled": true, "label": "Coffee Stain...", - "visible": TRUE + "visible": true }, { "id": 486, - "enabled": TRUE, + "enabled": true, "label": "Add Border...", - "visible": TRUE + "visible": true }, { "id": 487, - "enabled": TRUE, + "enabled": true, "label": "Add Bevel...", - "visible": TRUE + "visible": true } ] }, { "id": 488, - "enabled": TRUE, + "enabled": true, "label": "Artistic", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 489, - "enabled": TRUE, + "enabled": true, "label": "Weave...", - "visible": TRUE + "visible": true }, { "id": 490, - "enabled": TRUE, + "enabled": true, "label": "Van Gogh (LIC)...", - "visible": TRUE + "visible": true }, { "id": 491, - "enabled": TRUE, + "enabled": true, "label": "Softglow...", - "visible": TRUE + "visible": true }, { "id": 492, - "enabled": TRUE, + "enabled": true, "label": "Predator...", - "visible": TRUE + "visible": true }, { "id": 493, - "enabled": TRUE, + "enabled": true, "label": "Photocopy...", - "visible": TRUE + "visible": true }, { "id": 494, - "enabled": TRUE, + "enabled": true, "label": "Oilify...", - "visible": TRUE + "visible": true }, { "id": 495, - "enabled": TRUE, + "enabled": true, "label": "GIMPressionist...", - "visible": TRUE + "visible": true }, { "id": 496, - "enabled": TRUE, + "enabled": true, "label": "Cubism...", - "visible": TRUE + "visible": true }, { "id": 497, - "enabled": TRUE, + "enabled": true, "label": "Clothify...", - "visible": TRUE + "visible": true }, { "id": 498, - "enabled": TRUE, + "enabled": true, "label": "Cartoon...", - "visible": TRUE + "visible": true }, { "id": 499, - "enabled": TRUE, + "enabled": true, "label": "Apply Canvas...", - "visible": TRUE + "visible": true } ] }, { "id": 500, - "enabled": TRUE, + "enabled": true, "label": "Combine", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 501, - "enabled": TRUE, + "enabled": true, "label": "Filmstrip...", - "visible": TRUE + "visible": true }, { "id": 502, - "enabled": TRUE, + "enabled": true, "label": "Depth Merge...", - "visible": TRUE + "visible": true } ] }, { "id": 503, - "enabled": TRUE, + "enabled": true, "label": "Generic", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 504, - "enabled": TRUE, + "enabled": true, "label": "Erode", - "visible": TRUE + "visible": true }, { "id": 505, - "enabled": TRUE, + "enabled": true, "label": "Dilate", - "visible": TRUE + "visible": true }, { "id": 506, - "enabled": TRUE, + "enabled": true, "label": "Convolution Matrix...", - "visible": TRUE + "visible": true } ] }, { "id": 507, - "enabled": TRUE, + "enabled": true, "label": "Edge-Detect", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 508, - "enabled": TRUE, + "enabled": true, "label": "Sobel...", - "visible": TRUE + "visible": true }, { "id": 509, - "enabled": TRUE, + "enabled": true, "label": "Neon...", - "visible": TRUE + "visible": true }, { "id": 510, - "enabled": TRUE, + "enabled": true, "label": "Laplace", - "visible": TRUE + "visible": true }, { "id": 511, - "enabled": TRUE, + "enabled": true, "label": "Edge...", - "visible": TRUE + "visible": true }, { "id": 512, - "enabled": TRUE, + "enabled": true, "label": "Difference of Gaussians...", - "visible": TRUE + "visible": true } ] }, { "id": 513, - "enabled": TRUE, + "enabled": true, "label": "Noise", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 514, - "enabled": TRUE, + "enabled": true, "label": "Spread...", - "visible": TRUE + "visible": true }, { "id": 515, - "enabled": TRUE, + "enabled": true, "label": "Slur...", - "visible": TRUE + "visible": true }, { "id": 516, - "enabled": TRUE, + "enabled": true, "label": "RGB Noise...", - "visible": TRUE + "visible": true }, { "id": 517, - "enabled": TRUE, + "enabled": true, "label": "Pick...", - "visible": TRUE + "visible": true }, { "id": 518, - "enabled": TRUE, + "enabled": true, "label": "Hurl...", - "visible": TRUE + "visible": true }, { "id": 519, - "enabled": TRUE, + "enabled": true, "label": "HSV Noise...", - "visible": TRUE + "visible": true } ] }, { "id": 520, - "enabled": TRUE, + "enabled": true, "label": "Light and Shadow", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 521, - "enabled": TRUE, + "enabled": true, "label": "Glass Tile...", - "visible": TRUE + "visible": true }, { "id": 522, - "enabled": TRUE, + "enabled": true, "label": "Apply Lens...", - "visible": TRUE + "visible": true }, { "id": 523, @@ -3370,21 +3370,21 @@ }, { "id": 524, - "enabled": TRUE, + "enabled": true, "label": "Xach-Effect...", - "visible": TRUE + "visible": true }, { "id": 525, - "enabled": TRUE, + "enabled": true, "label": "Perspective...", - "visible": TRUE + "visible": true }, { "id": 526, - "enabled": TRUE, + "enabled": true, "label": "Drop Shadow...", - "visible": TRUE + "visible": true }, { "id": 527, @@ -3392,252 +3392,252 @@ }, { "id": 528, - "enabled": TRUE, + "enabled": true, "label": "Supernova...", - "visible": TRUE + "visible": true }, { "id": 529, - "enabled": TRUE, + "enabled": true, "label": "Sparkle...", - "visible": TRUE + "visible": true }, { "id": 530, - "enabled": TRUE, + "enabled": true, "label": "Lighting Effects...", - "visible": TRUE + "visible": true }, { "id": 531, - "enabled": TRUE, + "enabled": true, "label": "Lens Flare...", - "visible": TRUE + "visible": true }, { "id": 532, - "enabled": TRUE, + "enabled": true, "label": "Gradient Flare...", - "visible": TRUE + "visible": true } ] }, { "id": 533, - "enabled": TRUE, + "enabled": true, "label": "Distorts", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 534, - "enabled": TRUE, + "enabled": true, "label": "Wind...", - "visible": TRUE + "visible": true }, { "id": 535, - "enabled": TRUE, + "enabled": true, "label": "Whirl and Pinch...", - "visible": TRUE + "visible": true }, { "id": 536, - "enabled": TRUE, + "enabled": true, "label": "Waves...", - "visible": TRUE + "visible": true }, { "id": 537, - "enabled": TRUE, + "enabled": true, "label": "Video...", - "visible": TRUE + "visible": true }, { "id": 538, - "enabled": TRUE, + "enabled": true, "label": "Value Propagate...", - "visible": TRUE + "visible": true }, { "id": 539, - "enabled": TRUE, + "enabled": true, "label": "Shift...", - "visible": TRUE + "visible": true }, { "id": 540, - "enabled": TRUE, + "enabled": true, "label": "Ripple...", - "visible": TRUE + "visible": true }, { "id": 541, - "enabled": TRUE, + "enabled": true, "label": "Polar Coordinates...", - "visible": TRUE + "visible": true }, { "id": 542, - "enabled": TRUE, + "enabled": true, "label": "Pagecurl...", - "visible": TRUE + "visible": true }, { "id": 543, - "enabled": TRUE, + "enabled": true, "label": "Newsprint...", - "visible": TRUE + "visible": true }, { "id": 544, - "enabled": TRUE, + "enabled": true, "label": "Mosaic...", - "visible": TRUE + "visible": true }, { "id": 545, - "enabled": TRUE, + "enabled": true, "label": "Lens Distortion...", - "visible": TRUE + "visible": true }, { "id": 546, - "enabled": TRUE, + "enabled": true, "label": "IWarp...", - "visible": TRUE + "visible": true }, { "id": 547, - "enabled": TRUE, + "enabled": true, "label": "Erase Every Other Row...", - "visible": TRUE + "visible": true }, { "id": 548, - "enabled": TRUE, + "enabled": true, "label": "Engrave...", - "visible": TRUE + "visible": true }, { "id": 549, - "enabled": TRUE, + "enabled": true, "label": "Emboss...", - "visible": TRUE + "visible": true }, { "id": 550, - "enabled": TRUE, + "enabled": true, "label": "Curve Bend...", - "visible": TRUE + "visible": true }, { "id": 551, - "enabled": TRUE, + "enabled": true, "label": "Blinds...", - "visible": TRUE + "visible": true } ] }, { "id": 552, - "enabled": TRUE, + "enabled": true, "label": "Enhance", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 553, - "enabled": TRUE, + "enabled": true, "label": "Unsharp Mask...", - "visible": TRUE + "visible": true }, { "id": 554, - "enabled": TRUE, + "enabled": true, "label": "Sharpen...", - "visible": TRUE + "visible": true }, { "id": 555, - "enabled": TRUE, + "enabled": true, "label": "Red Eye Removal...", - "visible": TRUE + "visible": true }, { "id": 556, - "enabled": FALSE, + "enabled": false, "label": "NL Filter...", - "visible": TRUE + "visible": true }, { "id": 557, - "enabled": TRUE, + "enabled": true, "label": "Destripe...", - "visible": TRUE + "visible": true }, { "id": 558, - "enabled": TRUE, + "enabled": true, "label": "Despeckle...", - "visible": TRUE + "visible": true }, { "id": 559, - "enabled": TRUE, + "enabled": true, "label": "Deinterlace...", - "visible": TRUE + "visible": true }, { "id": 560, - "enabled": TRUE, + "enabled": true, "label": "Antialias", - "visible": TRUE + "visible": true } ] }, { "id": 561, - "enabled": TRUE, + "enabled": true, "label": "Blur", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 562, - "enabled": TRUE, + "enabled": true, "label": "Tileable Blur...", - "visible": TRUE + "visible": true }, { "id": 563, - "enabled": TRUE, + "enabled": true, "label": "Selective Gaussian Blur...", - "visible": TRUE + "visible": true }, { "id": 564, - "enabled": TRUE, + "enabled": true, "label": "Pixelize...", - "visible": TRUE + "visible": true }, { "id": 565, - "enabled": TRUE, + "enabled": true, "label": "Motion Blur...", - "visible": TRUE + "visible": true }, { "id": 566, - "enabled": TRUE, + "enabled": true, "label": "Gaussian Blur...", - "visible": TRUE + "visible": true }, { "id": 567, - "enabled": TRUE, + "enabled": true, "label": "Blur", - "visible": TRUE + "visible": true } ] }, @@ -3647,48 +3647,48 @@ }, { "id": 569, - "enabled": TRUE, + "enabled": true, "label": "Reset all Filters", - "visible": TRUE + "visible": true }, { "id": 570, "shortcut": [["Control", "Shift", "f"]], - "enabled": FALSE, + "enabled": false, "label": "Re-Show Last", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 571, - "enabled": FALSE, + "enabled": false, "label": "Empty", - "visible": TRUE + "visible": true } ] }, { "id": 572, "shortcut": [["Control", "f"]], - "enabled": FALSE, + "enabled": false, "label": "Repeat Last", - "visible": TRUE + "visible": true } ] }, { "id": 573, - "enabled": TRUE, + "enabled": true, "label": "Windows", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 574, "shortcut": [["Control", "b"]], - "enabled": TRUE, + "enabled": true, "label": "Toolbox", - "visible": TRUE + "visible": true }, { "id": 575, @@ -3696,40 +3696,40 @@ }, { "id": 576, - "enabled": TRUE, + "enabled": true, "label": "Dockable Dialogs", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 577, - "enabled": TRUE, + "enabled": true, "label": "Error Console", - "visible": TRUE + "visible": true }, { "id": 578, - "enabled": TRUE, + "enabled": true, "label": "Tools", - "visible": TRUE + "visible": true }, { "id": 579, - "enabled": TRUE, + "enabled": true, "label": "Templates", - "visible": TRUE + "visible": true }, { "id": 580, - "enabled": TRUE, + "enabled": true, "label": "Document History", - "visible": TRUE + "visible": true }, { "id": 581, - "enabled": TRUE, + "enabled": true, "label": "Images", - "visible": TRUE + "visible": true }, { "id": 582, @@ -3737,48 +3737,48 @@ }, { "id": 583, - "enabled": TRUE, + "enabled": true, "label": "Buffers", - "visible": TRUE + "visible": true }, { "id": 584, - "enabled": TRUE, + "enabled": true, "label": "Fonts", - "visible": TRUE + "visible": true }, { "id": 585, - "enabled": TRUE, + "enabled": true, "label": "Palettes", - "visible": TRUE + "visible": true }, { "id": 586, "shortcut": [["Control", "g"]], - "enabled": TRUE, + "enabled": true, "label": "Gradients", - "visible": TRUE + "visible": true }, { "id": 587, "shortcut": [["Control", "Shift", "p"]], - "enabled": TRUE, + "enabled": true, "label": "Patterns", - "visible": TRUE + "visible": true }, { "id": 588, "shortcut": [["Control", "Shift", "b"]], - "enabled": TRUE, + "enabled": true, "label": "Brushes", - "visible": TRUE + "visible": true }, { "id": 589, - "enabled": TRUE, + "enabled": true, "label": "Colors", - "visible": TRUE + "visible": true }, { "id": 590, @@ -3786,64 +3786,64 @@ }, { "id": 591, - "enabled": TRUE, + "enabled": true, "label": "Sample Points", - "visible": TRUE + "visible": true }, { "id": 592, - "enabled": TRUE, + "enabled": true, "label": "Pointer", - "visible": TRUE + "visible": true }, { "id": 593, - "enabled": TRUE, + "enabled": true, "label": "Undo History", - "visible": TRUE + "visible": true }, { "id": 594, - "enabled": TRUE, + "enabled": true, "label": "Navigation", - "visible": TRUE + "visible": true }, { "id": 595, - "enabled": TRUE, + "enabled": true, "label": "Selection Editor", - "visible": TRUE + "visible": true }, { "id": 596, - "enabled": TRUE, + "enabled": true, "label": "Histogram", - "visible": TRUE + "visible": true }, { "id": 597, - "enabled": TRUE, + "enabled": true, "label": "Colormap", - "visible": TRUE + "visible": true }, { "id": 598, - "enabled": TRUE, + "enabled": true, "label": "Paths", - "visible": TRUE + "visible": true }, { "id": 599, - "enabled": TRUE, + "enabled": true, "label": "Channels", - "visible": TRUE + "visible": true }, { "id": 600, "shortcut": [["Control", "l"]], - "enabled": TRUE, + "enabled": true, "label": "Layers", - "visible": TRUE + "visible": true }, { "id": 601, @@ -3851,30 +3851,30 @@ }, { "id": 602, - "enabled": TRUE, + "enabled": true, "label": "Device Status", - "visible": TRUE + "visible": true }, { "id": 603, - "enabled": TRUE, + "enabled": true, "label": "Tool Options", - "visible": TRUE + "visible": true } ] }, { "id": 604, - "enabled": TRUE, + "enabled": true, "label": "Recently Closed Docks", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 605, - "enabled": FALSE, + "enabled": false, "label": "Empty", - "visible": TRUE + "visible": true } ] } @@ -3882,92 +3882,92 @@ }, { "id": 606, - "enabled": TRUE, + "enabled": true, "label": "Help", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 607, - "enabled": TRUE, + "enabled": true, "label": "User Manual", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 608, - "enabled": TRUE, + "enabled": true, "label": "Working with Digital Camera Photos", - "visible": TRUE + "visible": true }, { "id": 609, - "enabled": TRUE, + "enabled": true, "label": "Using Paths", - "visible": TRUE + "visible": true }, { "id": 610, - "enabled": TRUE, + "enabled": true, "label": "Preparing your Images for the Web", - "visible": TRUE + "visible": true }, { "id": 611, - "enabled": TRUE, + "enabled": true, "label": "How to Use Dialogs", - "visible": TRUE + "visible": true }, { "id": 612, - "enabled": TRUE, + "enabled": true, "label": "Drawing Simple Objects", - "visible": TRUE + "visible": true }, { "id": 613, - "enabled": TRUE, + "enabled": true, "label": "Create, Open and Save Files", - "visible": TRUE + "visible": true }, { "id": 614, - "enabled": TRUE, + "enabled": true, "label": "Basic Concepts", - "visible": TRUE + "visible": true } ] }, { "id": 615, - "enabled": TRUE, + "enabled": true, "label": "GIMP Online", "children-display": "submenu", - "visible": TRUE, + "visible": true, "submenu": [ { "id": 616, - "enabled": TRUE, + "enabled": true, "label": "User Manual Web Site", - "visible": TRUE + "visible": true }, { "id": 617, - "enabled": TRUE, + "enabled": true, "label": "Plug-in Registry", - "visible": TRUE + "visible": true }, { "id": 618, - "enabled": TRUE, + "enabled": true, "label": "Main Web Site", - "visible": TRUE + "visible": true }, { "id": 619, - "enabled": TRUE, + "enabled": true, "label": "Developer Web Site", - "visible": TRUE + "visible": true } ] }, @@ -3977,15 +3977,15 @@ }, { "id": 621, - "enabled": TRUE, + "enabled": true, "label": "Procedure Browser", - "visible": TRUE + "visible": true }, { "id": 622, - "enabled": TRUE, + "enabled": true, "label": "Plug-In Browser", - "visible": TRUE + "visible": true }, { "id": 623, @@ -3993,29 +3993,29 @@ }, { "id": 624, - "enabled": TRUE, + "enabled": true, "label": "About", - "visible": TRUE + "visible": true }, { "id": 625, - "enabled": TRUE, + "enabled": true, "label": "Tip of the Day", - "visible": TRUE + "visible": true }, { "id": 626, "shortcut": [["Shift", "F1"]], - "enabled": TRUE, + "enabled": true, "label": "Context Help", - "visible": TRUE + "visible": true }, { "id": 627, "shortcut": [["F1"]], - "enabled": TRUE, + "enabled": true, "label": "Help", - "visible": TRUE + "visible": true } ] } -- cgit v1.2.3 From 3d291c9bd937b20511efbebb938b3a6b059e8b14 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 18:04:06 -0500 Subject: Have the proper case for booleans --- tools/dbusmenu-dumper.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/dbusmenu-dumper.c b/tools/dbusmenu-dumper.c index f2e2bec..6ce9655 100644 --- a/tools/dbusmenu-dumper.c +++ b/tools/dbusmenu-dumper.c @@ -116,6 +116,12 @@ value2string (const GValue * value, int depth) str = collection_dumper(value, depth); } else if (G_VALUE_TYPE(value) == G_TYPE_STRV) { str = strv_dumper(value); + } else if (G_VALUE_TYPE(value) == G_TYPE_BOOLEAN) { + if (g_value_get_boolean(value)) { + str = g_strdup("true"); + } else { + str = g_strdup("false"); + } } else { str = g_strdup_value_contents(value); } -- cgit v1.2.3 From ecfd01992d210f2411d1adac9ed7622837135210 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 18:18:13 -0500 Subject: Adding a test-client bin --- .bzrignore | 1 + tests/Makefile.am | 1 + tests/test-json-client.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 tests/test-json-client.c diff --git a/.bzrignore b/.bzrignore index d2d26a9..e80aadf 100644 --- a/.bzrignore +++ b/.bzrignore @@ -186,3 +186,4 @@ tests/dbusmenu-jsonloader.pc tests/libdbusmenu-jsonloader.la tests/libdbusmenu_jsonloader_la-json-loader.lo tests/test-json-server +tests/test-json-client diff --git a/tests/Makefile.am b/tests/Makefile.am index 2dd2cf7..9dab3eb 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -33,6 +33,7 @@ check_PROGRAMS = \ test-gtk-shortcut-server \ test-glib-simple-items \ test-gtk-reorder-server \ + test-json-client \ test-json-server XVFB_RUN=". $(srcdir)/run-xvfb.sh" diff --git a/tests/test-json-client.c b/tests/test-json-client.c new file mode 100644 index 0000000..2d90608 --- /dev/null +++ b/tests/test-json-client.c @@ -0,0 +1,45 @@ +#include +#include +#include +#include + +GMainLoop * mainloop = NULL; + +int +main (int argv, char ** argc) +{ + g_type_init(); + g_debug("Wait for friends"); + + GError * error = NULL; + DBusGConnection * session_bus = dbus_g_bus_get(DBUS_BUS_SESSION, &error); + if (error != NULL) { + g_error("Unable to get session bus: %s", error->message); + return 1; + } + + DBusGProxy * bus_proxy = dbus_g_proxy_new_for_name(session_bus, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); + + gboolean has_owner = FALSE; + gint owner_count = 0; + while (!has_owner && owner_count < 10000) { + org_freedesktop_DBus_name_has_owner(bus_proxy, "org.test", &has_owner, NULL); + owner_count++; + } + + if (owner_count == 10000) { + g_error("Unable to get name owner after 10000 tries"); + return 1; + } + + g_usleep(500000); + + g_debug("Initing"); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + g_debug("Exiting"); + + return 0; +} -- cgit v1.2.3 From dce233d4c70e90cfb0f3862ba66538222ffbb7d6 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 18:33:43 -0500 Subject: Starting to link things together... still not working. --- .bzrignore | 1 + tests/Makefile.am | 2 +- tests/test-json-client.c | 8 +++++--- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.bzrignore b/.bzrignore index e80aadf..ae6fc3d 100644 --- a/.bzrignore +++ b/.bzrignore @@ -187,3 +187,4 @@ tests/libdbusmenu-jsonloader.la tests/libdbusmenu_jsonloader_la-json-loader.lo tests/test-json-server tests/test-json-client +tests/test-json diff --git a/tests/Makefile.am b/tests/Makefile.am index 9dab3eb..3cd4380 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -127,7 +127,7 @@ test_glib_layout_client_LDADD = \ test-json: test-json-client test-json-server Makefile.am @echo "#!/bin/bash" > $@ - @echo $(DBUS_RUNNER) --task ./test-json-client --task-name Client --task ./test-json-server --task-name Server --ignore-return >> $@ + @echo $(DBUS_RUNNER) --task ./test-json-client --task-name Client --parameter $(top_builddir)/tools/dbusmenu-dumper --parameter output.json --ignore-return --task ./test-json-server --task-name Server --parameter $(srcdir)/test-json-01.json --ignore-return >> $@ @chmod +x $@ test_json_server_SOURCES = \ diff --git a/tests/test-json-client.c b/tests/test-json-client.c index 2d90608..7208fa8 100644 --- a/tests/test-json-client.c +++ b/tests/test-json-client.c @@ -23,7 +23,7 @@ main (int argv, char ** argc) gboolean has_owner = FALSE; gint owner_count = 0; while (!has_owner && owner_count < 10000) { - org_freedesktop_DBus_name_has_owner(bus_proxy, "org.test", &has_owner, NULL); + org_freedesktop_DBus_name_has_owner(bus_proxy, "org.dbusmenu.test", &has_owner, NULL); owner_count++; } @@ -36,8 +36,10 @@ main (int argv, char ** argc) g_debug("Initing"); - mainloop = g_main_loop_new(NULL, FALSE); - g_main_loop_run(mainloop); + gchar * command = g_strdup_printf("%s --dbus-name=org.dbusmenu.test --dbus-object=/org/test > %s", argc[1], argc[2]); + g_debug("Executing: %s", command); + + g_spawn_command_line_sync(command, NULL, NULL, NULL, NULL); g_debug("Exiting"); -- cgit v1.2.3 From cba3c47e7fe383c6c3496a55158a86fe6994dd35 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 21:47:43 -0500 Subject: Redirecting output to a file. --- configure.ac | 4 +++- tests/Makefile.am | 1 + tests/test-json-client.c | 11 +++++++++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index fdc76fb..598df4a 100644 --- a/configure.ac +++ b/configure.ac @@ -62,8 +62,10 @@ AC_SUBST(DBUSMENUGTK_LIBS) ########################### JSON_GLIB_REQUIRED_VERSION=0.6.0 +GIO_UNIX_REQUIRED_VERSION=2.24 -PKG_CHECK_MODULES(DBUSMENUTESTS, json-glib-1.0 >= $JSON_GLIB_REQUIRED_VERSION) +PKG_CHECK_MODULES(DBUSMENUTESTS, json-glib-1.0 >= $JSON_GLIB_REQUIRED_VERSION + gio-unix-2.0 >= $GIO_UNIX_REQUIRED_VERSION) AC_SUBST(DBUSMENUTESTS_CFLAGS) AC_SUBST(DBUSMENUTESTS_LIBS) diff --git a/tests/Makefile.am b/tests/Makefile.am index 3cd4380..1f7e36e 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -155,6 +155,7 @@ test_json_client_CFLAGS = \ test_json_client_LDADD = \ ../libdbusmenu-glib/libdbusmenu-glib.la \ + $(DBUSMENUTESTS_LIBS) \ $(DBUSMENUGLIB_LIBS) ###################### diff --git a/tests/test-json-client.c b/tests/test-json-client.c index 7208fa8..62eb87c 100644 --- a/tests/test-json-client.c +++ b/tests/test-json-client.c @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -36,10 +37,16 @@ main (int argv, char ** argc) g_debug("Initing"); - gchar * command = g_strdup_printf("%s --dbus-name=org.dbusmenu.test --dbus-object=/org/test > %s", argc[1], argc[2]); + gchar * command = g_strdup_printf("%s --dbus-name=org.dbusmenu.test --dbus-object=/org/test", argc[1]); g_debug("Executing: %s", command); - g_spawn_command_line_sync(command, NULL, NULL, NULL, NULL); + gchar * output; + g_spawn_command_line_sync(command, &output, NULL, NULL, NULL); + + GFile * ofile = g_file_new_for_commandline_arg(argc[2]); + if (ofile != NULL) { + g_file_replace_contents(ofile, output, g_utf8_strlen(output, -1), NULL, FALSE, 0, NULL, NULL, NULL); + } g_debug("Exiting"); -- cgit v1.2.3 From 89f7fb74fba3d5a42603af450f4642fe43ac0406 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 21:51:17 -0500 Subject: Setting timeout longer --- tests/test-json-server.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test-json-server.c b/tests/test-json-server.c index b2b8341..cf6b605 100644 --- a/tests/test-json-server.c +++ b/tests/test-json-server.c @@ -49,7 +49,7 @@ main (int argc, char ** argv) dbusmenu_server_set_root(server, root); - g_timeout_add(3000, timer_func, NULL); + g_timeout_add(10000, timer_func, NULL); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); -- cgit v1.2.3 From 8bfa911170eecf8b7c4dda05238777e1c066670f Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 22:02:53 -0500 Subject: Comparing at the end and running under Xvfb --- tests/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/Makefile.am b/tests/Makefile.am index 1f7e36e..31a8910 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -127,7 +127,9 @@ test_glib_layout_client_LDADD = \ test-json: test-json-client test-json-server Makefile.am @echo "#!/bin/bash" > $@ + @echo $(XVFB_RUN) >> $@ @echo $(DBUS_RUNNER) --task ./test-json-client --task-name Client --parameter $(top_builddir)/tools/dbusmenu-dumper --parameter output.json --ignore-return --task ./test-json-server --task-name Server --parameter $(srcdir)/test-json-01.json --ignore-return >> $@ + @echo diff test-json-01.json output.json \> /dev/null >> $@ @chmod +x $@ test_json_server_SOURCES = \ -- cgit v1.2.3 From 35589de9fe87c06f07772d9ffae74c2b8ca9141e Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 22:07:57 -0500 Subject: Better name, distcheck fix, cleanup. Good stuff. --- tests/Makefile.am | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/Makefile.am b/tests/Makefile.am index 31a8910..521cfbb 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,8 @@ DBUS_RUNNER=dbus-test-runner +CLEANFILES= + TESTS = \ test-glib-objects-test \ test-glib-layout \ @@ -128,10 +130,12 @@ test_glib_layout_client_LDADD = \ test-json: test-json-client test-json-server Makefile.am @echo "#!/bin/bash" > $@ @echo $(XVFB_RUN) >> $@ - @echo $(DBUS_RUNNER) --task ./test-json-client --task-name Client --parameter $(top_builddir)/tools/dbusmenu-dumper --parameter output.json --ignore-return --task ./test-json-server --task-name Server --parameter $(srcdir)/test-json-01.json --ignore-return >> $@ - @echo diff test-json-01.json output.json \> /dev/null >> $@ + @echo $(DBUS_RUNNER) --task ./test-json-client --task-name Client --parameter $(top_builddir)/tools/dbusmenu-dumper --parameter test-json-01.output.json --ignore-return --task ./test-json-server --task-name Server --parameter $(srcdir)/test-json-01.json --ignore-return >> $@ + @echo diff $(srcdir)/test-json-01.json test-json-01.output.json \> /dev/null >> $@ @chmod +x $@ +CLEANFILES += test-json-01.output.json + test_json_server_SOURCES = \ test-json-server.c @@ -502,7 +506,7 @@ EXTRA_DIST = \ dbusmenu-gtk/mago_tests/data/test-gtk-label.json \ test-json-01.json -CLEANFILES = \ +CLEANFILES += \ dbusmenu-gtk/mago_tests/dbusmenu.pyc distclean-local: -- cgit v1.2.3 From 65cfbcd1339473de0540ef9037af336ce893d008 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 22:12:07 -0500 Subject: Look at all the values instead of just the first. --- tests/json-loader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/json-loader.c b/tests/json-loader.c index 2f27bff..97f1c13 100644 --- a/tests/json-loader.c +++ b/tests/json-loader.c @@ -31,7 +31,7 @@ node2value (JsonNode * node) int i; for (i = 0; i < json_array_get_length(array); i++) { - const gchar * str = json_node_get_string(first); + const gchar * str = json_node_get_string(json_array_get_element(array, i)); gchar * dupstr = g_strdup(str); g_array_append_val(garray, dupstr); } -- cgit v1.2.3 From 21eae6d351fc5608d1d312332dd0d93126fa6050 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 22:27:09 -0500 Subject: Not sure why this flipped, but whatever. --- tests/test-json-01.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test-json-01.json b/tests/test-json-01.json index a014548..88e1cbf 100644 --- a/tests/test-json-01.json +++ b/tests/test-json-01.json @@ -1098,8 +1098,8 @@ }, { "id": 171, - "shortcut": [["F11"]], "enabled": true, + "shortcut": [["F11"]], "toggle-state": 0, "label": "Fullscreen", "toggle-type": "checkmark", -- cgit v1.2.3 From 511e68461114325f3685bc547517668b179b4914 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 22:39:59 -0500 Subject: Forgot copyright headers --- tests/json-loader.c | 20 ++++++++++++++++++++ tests/json-loader.h | 20 ++++++++++++++++++++ tests/test-json-client.c | 21 +++++++++++++++++++++ tests/test-json-server.c | 21 +++++++++++++++++++++ 4 files changed, 82 insertions(+) diff --git a/tests/json-loader.c b/tests/json-loader.c index 97f1c13..aad4295 100644 --- a/tests/json-loader.c +++ b/tests/json-loader.c @@ -1,3 +1,23 @@ +/* +A loader to turn JSON into dbusmenu menuitems + +Copyright 2010 Canonical Ltd. + +Authors: + Ted Gould + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, as published +by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see . +*/ #include "json-loader.h" #include diff --git a/tests/json-loader.h b/tests/json-loader.h index 67e1c8b..666bb6e 100644 --- a/tests/json-loader.h +++ b/tests/json-loader.h @@ -1,3 +1,23 @@ +/* +A loader to turn JSON into dbusmenu menuitems + +Copyright 2010 Canonical Ltd. + +Authors: + Ted Gould + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, as published +by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see . +*/ #ifndef __DBUSMENU_JSON_LOADER_H__ #define __DBUSMENU_JSON_LOADER_H__ diff --git a/tests/test-json-client.c b/tests/test-json-client.c index 62eb87c..73d64b0 100644 --- a/tests/test-json-client.c +++ b/tests/test-json-client.c @@ -1,3 +1,24 @@ +/* +Test to check the json-loader and dbusmenu-dumper + +Copyright 2010 Canonical Ltd. + +Authors: + Ted Gould + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, as published +by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see . +*/ + #include #include #include diff --git a/tests/test-json-server.c b/tests/test-json-server.c index cf6b605..fe9507a 100644 --- a/tests/test-json-server.c +++ b/tests/test-json-server.c @@ -1,3 +1,24 @@ +/* +Test to check the json-loader and dbusmenu-dumper + +Copyright 2010 Canonical Ltd. + +Authors: + Ted Gould + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, as published +by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see . +*/ + #include #include -- cgit v1.2.3 From 4df378827e9db26d9fad707224d25c0455e9d312 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 22:44:06 -0500 Subject: Getting the depends in order. --- tests/dbusmenu-jsonloader.pc.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/dbusmenu-jsonloader.pc.in b/tests/dbusmenu-jsonloader.pc.in index 6c48f7e..d042132 100644 --- a/tests/dbusmenu-jsonloader.pc.in +++ b/tests/dbusmenu-jsonloader.pc.in @@ -5,7 +5,7 @@ bindir=@bindir@ includedir=@includedir@ Cflags: -I${includedir}/libdbusmenu-0.1 -Requires: dbus-glib-1 +Requires: dbus-glib-1,dbusmenu-glib,json-glib-1.0 Libs: -L${libdir} -ldbusmenu-jsonloader Name: libdbusmenu-jsonloader -- cgit v1.2.3 From 50b6f428911e3683e66cd2dd352e431815e24eb7 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 23:17:13 -0500 Subject: Adding the need libraries for making the library. --- tests/Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/Makefile.am b/tests/Makefile.am index 521cfbb..0fa15fc 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -70,7 +70,8 @@ libdbusmenu_jsonloader_la_CFLAGS = \ -DG_LOG_DOMAIN="\"LIBDBUSMENU-JSONLOADER\"" libdbusmenu_jsonloader_la_LIBADD = \ - $(DBUSMENUGLIB_LIBS) + $(DBUSMENUGLIB_LIBS) \ + $(DBUSMENUTEST_LIBS) pkgconfig_DATA = dbusmenu-jsonloader.pc pkgconfigdir = $(libdir)/pkgconfig -- cgit v1.2.3 From dea48a947149ecc92c99bd084c9c7ea2e32d4577 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 23:20:11 -0500 Subject: Typo --- tests/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Makefile.am b/tests/Makefile.am index 0fa15fc..d57a578 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -71,7 +71,7 @@ libdbusmenu_jsonloader_la_CFLAGS = \ libdbusmenu_jsonloader_la_LIBADD = \ $(DBUSMENUGLIB_LIBS) \ - $(DBUSMENUTEST_LIBS) + $(DBUSMENUTESTS_LIBS) pkgconfig_DATA = dbusmenu-jsonloader.pc pkgconfigdir = $(libdir)/pkgconfig -- cgit v1.2.3 From 3b991803b808c158edb3062d2b962cdf9d8ed2d2 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 28 Jun 2010 23:22:58 -0500 Subject: Adding in the glib lib too. --- tests/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/Makefile.am b/tests/Makefile.am index d57a578..63857a2 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -70,6 +70,7 @@ libdbusmenu_jsonloader_la_CFLAGS = \ -DG_LOG_DOMAIN="\"LIBDBUSMENU-JSONLOADER\"" libdbusmenu_jsonloader_la_LIBADD = \ + ../libdbusmenu-glib/libdbusmenu-glib.la \ $(DBUSMENUGLIB_LIBS) \ $(DBUSMENUTESTS_LIBS) -- cgit v1.2.3 From fa0aae428c6859bb4aab12368ad92cf9d8274d3f Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 30 Jun 2010 11:13:47 -0500 Subject: Flipping argv/c from review --- tests/test-json-client.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test-json-client.c b/tests/test-json-client.c index 73d64b0..f9da55e 100644 --- a/tests/test-json-client.c +++ b/tests/test-json-client.c @@ -28,7 +28,7 @@ with this program. If not, see . GMainLoop * mainloop = NULL; int -main (int argv, char ** argc) +main (int argc, char ** argv) { g_type_init(); g_debug("Wait for friends"); @@ -58,13 +58,13 @@ main (int argv, char ** argc) g_debug("Initing"); - gchar * command = g_strdup_printf("%s --dbus-name=org.dbusmenu.test --dbus-object=/org/test", argc[1]); + gchar * command = g_strdup_printf("%s --dbus-name=org.dbusmenu.test --dbus-object=/org/test", argv[1]); g_debug("Executing: %s", command); gchar * output; g_spawn_command_line_sync(command, &output, NULL, NULL, NULL); - GFile * ofile = g_file_new_for_commandline_arg(argc[2]); + GFile * ofile = g_file_new_for_commandline_arg(argv[2]); if (ofile != NULL) { g_file_replace_contents(ofile, output, g_utf8_strlen(output, -1), NULL, FALSE, 0, NULL, NULL, NULL); } -- cgit v1.2.3