bd = g_object_get_data(G_OBJECT(bar), "bar_data");
if (!bd) return;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "<bar>\n");
+ WRITE_STRING("<bar>\n");
list = gtk_container_get_children(GTK_CONTAINER(bd->vbox));
work = list;
}
g_list_free(list);
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "</bar>\n");
+ WRITE_STRING("</bar>\n");
}
pcd = g_object_get_data(G_OBJECT(pane), "pane_data");
if (!pcd) return;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "<pane_comment\n");
+ WRITE_STRING("<pane_comment\n");
indent++;
WRITE_CHAR(*pcd, pane.title);
WRITE_BOOL(*pcd, pane.expanded);
WRITE_CHAR(*pcd, key);
WRITE_INT(*pcd, height);
indent--;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "/>\n");
+ WRITE_STRING("/>\n");
}
static void bar_pane_comment_notify_cb(FileData *fd, NotifyType type, gpointer data)
ped = g_object_get_data(G_OBJECT(pane), "pane_data");
if (!ped) return;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "<pane_exif\n");
+ WRITE_STRING("<pane_exif\n");
indent++;
WRITE_CHAR(*ped, pane.title);
WRITE_BOOL(*ped, pane.expanded);
indent--;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "/>\n");
+ WRITE_STRING("/>\n");
}
phd = g_object_get_data(G_OBJECT(pane), "pane_data");
if (!phd) return;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "<pane_histogram\n");
+ WRITE_STRING("<pane_histogram\n");
indent++;
WRITE_CHAR(*phd, pane.title);
WRITE_BOOL(*phd, pane.expanded);
indent--;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "/>\n");
+ WRITE_STRING("/>\n");
}
pkd = g_object_get_data(G_OBJECT(pane), "pane_data");
if (!pkd) return;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "<pane_keywords\n");
+ WRITE_STRING("<pane_keywords\n");
indent++;
WRITE_CHAR(*pkd, pane.title);
WRITE_BOOL(*pkd, pane.expanded);
WRITE_CHAR(*pkd, key);
indent--;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "/>\n");
+ WRITE_STRING("/>\n");
}
gint bar_pane_keywords_event(GtkWidget *bar, GdkEvent *event)
{
GList *work;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "<filter>\n");
+ WRITE_STRING("<filter>\n");
indent++;
work = filter_list;
FilterEntry *fe = work->data;
work = work->next;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "<file_type\n");
+ WRITE_STRING("<file_type\n");
indent++;
WRITE_CHAR(*fe, key);
WRITE_BOOL(*fe, enabled);
WRITE_BOOL(*fe, writable);
WRITE_BOOL(*fe, allow_sidecar);
indent--;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "/>\n");
+ WRITE_STRING("/>\n");
}
indent--;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "</filter>\n");
+ WRITE_STRING("</filter>\n");
}
void filter_load_file_type(const gchar **attribute_names, const gchar **attribute_values)
void layout_write_config(LayoutWindow *lw, GString *outstr, gint indent)
{
layout_sync_options_with_current_state(lw);
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "<layout\n");
+ WRITE_STRING("<layout\n");
layout_write_attributes(&lw->options, outstr, indent + 1);
- write_indent(outstr, indent);
- g_string_append_printf(outstr, ">\n");
+ WRITE_STRING(">\n");
bar_write_config(lw->bar, outstr, indent + 1);
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "</layout>\n");
+ WRITE_STRING("</layout>\n");
}
void layout_load_attributes(LayoutOptions *layout, const gchar **attribute_names, const gchar **attribute_values)
" color profile options will have no effect.\n-->\n", GQ_APPNAME);
#endif
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "<color_profiles\n");
+ WRITE_STRING("<color_profiles\n");
indent++;
WRITE_INT(options->color_profile, screen_type);
WRITE_CHAR(options->color_profile, screen_file);
WRITE_BOOL(options->color_profile, use_image);
WRITE_INT(options->color_profile, input_type);
indent--;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, ">\n");
+ WRITE_STRING(">\n");
indent++;
for (i = 0; i < COLOR_PROFILE_INPUTS; i++)
{
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "<profile\n");
+ WRITE_STRING("<profile\n");
indent++;
write_char_option(outstr, indent, "input_file", options->color_profile.input_file[i]);
write_char_option(outstr, indent, "input_name", options->color_profile.input_name[i]);
indent--;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "/>\n");
+ WRITE_STRING("/>\n");
}
indent--;
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "</color_profiles>\n");
+ WRITE_STRING("</color_profiles>\n");
}
g_string_append_printf(outstr, "######################################################################\n");
WRITE_SEPARATOR();
- g_string_append_printf(outstr, "# Note: This file is autogenerated. Options can be changed here,\n");
- g_string_append_printf(outstr, "# but user comments and formatting will be lost.\n");
+ WRITE_STRING("# Note: This file is autogenerated. Options can be changed here,\n");
+ WRITE_STRING("# but user comments and formatting will be lost.\n");
WRITE_SEPARATOR();
- g_string_append_printf(outstr, "-->\n");
+ WRITE_STRING("-->\n");
WRITE_SEPARATOR();
- g_string_append_printf(outstr, "<global\n");
+ WRITE_STRING("<global\n");
+ write_global_attributes(outstr, indent + 1);
+ WRITE_STRING(">\n");
+
indent++;
- write_global_attributes(outstr, indent);
- write_indent(outstr, indent);
- g_string_append_printf(outstr, ">\n");
write_color_profile(outstr, indent);
WRITE_SEPARATOR();
WRITE_SUBTITLE("Layout Options - defaults");
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "<layout\n");
+ WRITE_STRING("<layout\n");
layout_write_attributes(&options->layout, outstr, indent + 1);
- write_indent(outstr, indent);
- g_string_append_printf(outstr, "/>\n");
+ WRITE_STRING("/>\n");
indent--;
- g_string_append_printf(outstr, "</global>\n");
+ WRITE_STRING("</global>\n");
WRITE_SEPARATOR();
WRITE_SUBTITLE("Layout Options");
#define WRITE_SEPARATOR() g_string_append(outstr, "\n")
#define WRITE_SUBTITLE(_title_) g_string_append_printf(outstr, "\n\n<!-- "_title_" -->\n\n")
-
+#define WRITE_STRING(_str_) {write_indent(outstr, indent);g_string_append_printf(outstr, _str_);}
#define READ_BOOL(target, _name_) if (read_bool_option(option, #_name_, value, &(target)._name_)) continue;
#define READ_INT(target, _name_) if (read_int_option(option, #_name_, value, &(target)._name_)) continue;