GtkWidget *bar_pane_keywords_new_from_config(const gchar **attribute_names, const gchar **attribute_values) { gchar *id = g_strdup("keywords"); gchar *title = NULL; gchar *key = g_strdup(COMMENT_KEY); gboolean expanded = TRUE; GtkWidget *ret; while (*attribute_names) { const gchar *option = *attribute_names++; const gchar *value = *attribute_values++; if (READ_CHAR_FULL("id", id)) continue; if (READ_CHAR_FULL("title", title)) continue; if (READ_CHAR_FULL("key", key)) continue; if (READ_BOOL_FULL("expanded", expanded)) continue; log_printf("unknown attribute %s = %s\n", option, value); } bar_pane_translate_title(PANE_KEYWORDS, id, &title); ret = bar_pane_keywords_new(id, title, key, expanded); g_free(id); g_free(title); g_free(key); return ret; }
void bar_pane_keywords_update_from_config(GtkWidget *pane, const gchar **attribute_names, const gchar **attribute_values) { PaneKeywordsData *pkd; pkd = g_object_get_data(G_OBJECT(pane), "pane_data"); if (!pkd) return; gchar *title = NULL; while (*attribute_names) { const gchar *option = *attribute_names++; const gchar *value = *attribute_values++; if (READ_CHAR_FULL("title", title)) continue; if (READ_CHAR_FULL("key", pkd->key)) continue; if (READ_BOOL_FULL("expanded", pkd->pane.expanded)) continue; if (READ_CHAR_FULL("id", pkd->pane.id)) continue; log_printf("unknown attribute %s = %s\n", option, value); } if (title) { bar_pane_translate_title(PANE_KEYWORDS, pkd->pane.id, &title); gtk_label_set_text(GTK_LABEL(pkd->pane.title), title); g_free(title); } bar_update_expander(pane); bar_pane_keywords_update(pkd); }
void bar_pane_comment_update_from_config(GtkWidget *pane, const gchar **attribute_names, const gchar **attribute_values) { PaneCommentData *pcd; pcd = g_object_get_data(G_OBJECT(pane), "pane_data"); if (!pcd) return; gchar *title = NULL; while (*attribute_names) { const gchar *option = *attribute_names++; const gchar *value = *attribute_values++; if (READ_CHAR_FULL("title", title)) continue; if (READ_CHAR_FULL("key", pcd->key)) continue; if (READ_BOOL_FULL("expanded", pcd->pane.expanded)) continue; if (READ_INT_FULL("height", pcd->height)) continue; if (READ_CHAR_FULL("id", pcd->pane.id)) continue; log_printf("unknown attribute %s = %s\n", option, value); } if (title) { bar_pane_translate_title(PANE_COMMENT, pcd->pane.id, &title); gtk_label_set_text(GTK_LABEL(pcd->pane.title), title); g_free(title); } gtk_widget_set_size_request(pcd->widget, -1, pcd->height); bar_update_expander(pane); bar_pane_comment_update(pcd); }
void bar_pane_exif_entry_add_from_config(GtkWidget *pane, const gchar **attribute_names, const gchar **attribute_values) { PaneExifData *ped; gchar *key = NULL; gchar *title = NULL; gboolean if_set = TRUE; gboolean editable = FALSE; ped = g_object_get_data(G_OBJECT(pane), "pane_data"); if (!ped) return; while (*attribute_names) { const gchar *option = *attribute_names++; const gchar *value = *attribute_values++; if (READ_CHAR_FULL("key", key)) continue; if (READ_CHAR_FULL("title", title)) continue; if (READ_BOOL_FULL("if_set", if_set)) continue; if (READ_BOOL_FULL("editable", editable)) continue; log_printf("unknown attribute %s = %s\n", option, value); } if (key && key[0]) bar_pane_exif_add_entry(ped, key, title, if_set, editable); }
void bar_pane_exif_update_from_config(GtkWidget *pane, const gchar **attribute_names, const gchar **attribute_values) { PaneExifData *ped; gchar *title = NULL; ped = g_object_get_data(G_OBJECT(pane), "pane_data"); if (!ped) return; while (*attribute_names) { const gchar *option = *attribute_names++; const gchar *value = *attribute_values++; if (READ_CHAR_FULL("title", title)) continue; if (READ_BOOL_FULL("expanded", ped->pane.expanded)) continue; if (READ_BOOL_FULL("show_all", ped->show_all)) continue; if (READ_CHAR_FULL("id", ped->pane.id)) continue; log_printf("unknown attribute %s = %s\n", option, value); } if (title) { bar_pane_translate_title(PANE_EXIF, ped->pane.id, &title); gtk_label_set_text(GTK_LABEL(ped->pane.title), title); g_free(title); } bar_update_expander(pane); bar_pane_exif_update(ped); }
GtkWidget *bar_pane_exif_new_from_config(const gchar **attribute_names, const gchar **attribute_values) { gchar *title = NULL; gchar *id = g_strdup("exif"); gboolean expanded = TRUE; gboolean show_all = FALSE; GtkWidget *ret; while (*attribute_names) { const gchar *option = *attribute_names++; const gchar *value = *attribute_values++; if (READ_CHAR_FULL("id", id)) continue; if (READ_CHAR_FULL("title", title)) continue; if (READ_BOOL_FULL("expanded", expanded)) continue; if (READ_BOOL_FULL("show_all", show_all)) continue; log_printf("unknown attribute %s = %s\n", option, value); } bar_pane_translate_title(PANE_EXIF, id, &title); ret = bar_pane_exif_new(id, title, expanded, show_all); g_free(title); g_free(id); return ret; }
void bar_pane_gps_update_from_config(GtkWidget *pane, const gchar **attribute_names, const gchar **attribute_values) { PaneGPSData *pgd; gint zoom; gint int_longitude, int_latitude; gdouble longitude, latitude; pgd = g_object_get_data(G_OBJECT(pane), "pane_data"); if (!pgd) return; gchar *title = NULL; while (*attribute_names) { const gchar *option = *attribute_names++; const gchar *value = *attribute_values++; if (READ_CHAR_FULL("title", title)) continue; if (READ_CHAR_FULL("map-id", pgd->map_source)) continue; if (READ_BOOL_FULL("expanded", pgd->pane.expanded)) continue; if (READ_INT_FULL("height", pgd->height)) continue; if (READ_CHAR_FULL("id", pgd->pane.id)) continue; if (READ_INT_CLAMP_FULL("zoom-level", zoom, 1, 8)) { g_object_set(G_OBJECT(CHAMPLAIN_VIEW(pgd->gps_view)), "zoom-level", zoom, NULL); continue; } if (READ_INT_CLAMP_FULL("longitude", int_longitude, -90000000, +90000000)) { longitude = int_longitude / 1000000; g_object_set(G_OBJECT(CHAMPLAIN_VIEW(pgd->gps_view)), "longitude", longitude, NULL); continue; } if (READ_INT_CLAMP_FULL("latitude", int_latitude, -90000000, +90000000)) { latitude = int_latitude / 1000000; g_object_set(G_OBJECT(CHAMPLAIN_VIEW(pgd->gps_view)), "latitude", latitude, NULL); continue; } log_printf("unknown attribute %s = %s\n", option, value); } if (title) { bar_pane_translate_title(PANE_COMMENT, pgd->pane.id, &title); gtk_label_set_text(GTK_LABEL(pgd->pane.title), title); g_free(title); } gtk_widget_set_size_request(pgd->widget, -1, pgd->height); bar_update_expander(pane); }
GtkWidget *bar_pane_gps_new_from_config(const gchar **attribute_names, const gchar **attribute_values) { gchar *title = g_strdup(_("GPS Map")); gchar *map_id = NULL; gboolean expanded = TRUE; gint height = 350; gint zoom = 7; gdouble latitude; gdouble longitude; /* Latitude and longitude are stored in the config file as an integer of * (actual value * 1,000,000). There is no READ_DOUBLE utilty function. */ gint int_latitude = 54000000; gint int_longitude = -4000000; gchar *id = g_strdup("gps"); GtkWidget *ret; while (*attribute_names) { const gchar *option = *attribute_names++; const gchar *value = *attribute_values++; if (READ_CHAR_FULL("title", title)) continue; if (READ_CHAR_FULL("map-id", map_id)) continue; /* There is a bug in the libchamplain libraries which prevents correct * initialisation if the zoom level starts higher than 8 */ if (READ_INT_CLAMP_FULL("zoom-level", zoom, 1, 8)) continue; if (READ_INT_CLAMP_FULL("latitude", int_latitude, -90000000, +90000000)) continue; if (READ_INT_CLAMP_FULL("longitude", int_longitude, -90000000, +90000000)) continue; if (READ_BOOL_FULL("expanded", expanded)) continue; if (READ_INT_FULL("height", height)) continue; if (READ_CHAR_FULL("id", id)) continue; log_printf("unknown attribute %s = %s\n", option, value); } bar_pane_translate_title(PANE_COMMENT, id, &title); latitude = int_latitude / 1000000; longitude = int_longitude / 1000000; ret = bar_pane_gps_new(id, title, map_id, zoom, latitude, longitude, expanded, height); g_free(title); g_free(map_id); g_free(id); return ret; }
GtkTreeIter *keyword_add_from_config(GtkTreeStore *keyword_tree, GtkTreeIter *parent, const gchar **attribute_names, const gchar **attribute_values) { gchar *name = NULL; gboolean is_kw = TRUE; while (*attribute_names) { const gchar *option = *attribute_names++; const gchar *value = *attribute_values++; if (READ_CHAR_FULL("name", name)) continue; if (READ_BOOL_FULL("kw", is_kw)) continue; log_printf("unknown attribute %s = %s\n", option, value); } if (name && name[0]) { GtkTreeIter iter; /* re-use existing keyword if any */ if (!keyword_exists(GTK_TREE_MODEL(keyword_tree), parent, NULL, name, FALSE, &iter)) { gtk_tree_store_append(keyword_tree, &iter, parent); } keyword_set(keyword_tree, &iter, name, is_kw); g_free(name); return gtk_tree_iter_copy(&iter); } g_free(name); return NULL; }
static void options_load_profile(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer data, GError **error) { gint i = GPOINTER_TO_INT(data); if (i < 0 || i >= COLOR_PROFILE_INPUTS) return; while (*attribute_names) { const gchar *option = *attribute_names++; const gchar *value = *attribute_values++; if (READ_CHAR_FULL("input_file", options->color_profile.input_file[i])) continue; if (READ_CHAR_FULL("input_name", options->color_profile.input_name[i])) continue; log_printf("unknown attribute %s = %s\n", option, value); } i++; options_parse_func_set_data(parser_data, GINT_TO_POINTER(i)); }