Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
This commit is contained in:
Sebastian Ramacher 2014-10-29 00:06:22 +01:00
parent 2205156738
commit 6292b5c5c5

68
utils.c
View file

@ -70,31 +70,31 @@ void
document_index_build(GtkTreeModel* model, GtkTreeIter* parent, document_index_build(GtkTreeModel* model, GtkTreeIter* parent,
girara_tree_node_t* tree) girara_tree_node_t* tree)
{ {
girara_list_t* list = girara_node_get_children(tree); girara_list_t* list = girara_node_get_children(tree);
GIRARA_LIST_FOREACH(list, girara_tree_node_t*, iter, node)
zathura_index_element_t* index_element = (zathura_index_element_t*)girara_node_get_data(node);
zathura_link_type_t type = zathura_link_get_type(index_element->link); GIRARA_LIST_FOREACH(list, girara_tree_node_t*, iter, node) {
zathura_link_target_t target = zathura_link_get_target(index_element->link); zathura_index_element_t* index_element = (zathura_index_element_t*)girara_node_get_data(node);
gchar* description = NULL; zathura_link_type_t type = zathura_link_get_type(index_element->link);
if (type == ZATHURA_LINK_GOTO_DEST) { zathura_link_target_t target = zathura_link_get_target(index_element->link);
description = g_strdup_printf("Page %d", target.page_number + 1);
} else {
description = g_strdup(target.value);
}
GtkTreeIter tree_iter; gchar* description = NULL;
gtk_tree_store_append(GTK_TREE_STORE(model), &tree_iter, parent); if (type == ZATHURA_LINK_GOTO_DEST) {
gtk_tree_store_set(GTK_TREE_STORE(model), &tree_iter, 0, index_element->title, 1, description, 2, index_element, -1); description = g_strdup_printf("Page %d", target.page_number + 1);
g_object_weak_ref(G_OBJECT(model), (GWeakNotify) zathura_index_element_free, index_element); } else {
g_free(description); description = g_strdup(target.value);
}
if (girara_node_get_num_children(node) > 0) { GtkTreeIter tree_iter;
document_index_build(model, &tree_iter, node); gtk_tree_store_append(GTK_TREE_STORE(model), &tree_iter, parent);
} gtk_tree_store_set(GTK_TREE_STORE(model), &tree_iter, 0, index_element->title, 1, description, 2, index_element, -1);
g_object_weak_ref(G_OBJECT(model), (GWeakNotify) zathura_index_element_free, index_element);
g_free(description);
GIRARA_LIST_FOREACH_END(list, gchar*, iter, name); if (girara_node_get_num_children(node) > 0) {
document_index_build(model, &tree_iter, node);
}
} GIRARA_LIST_FOREACH_END(list, gchar*, iter, name);
} }
zathura_rectangle_t zathura_rectangle_t
@ -199,24 +199,24 @@ zathura_get_version_string(zathura_t* zathura, bool markup)
g_string_append(string, zathura_version); g_string_append(string, zathura_version);
g_free(zathura_version); g_free(zathura_version);
char* format = (markup == true) ? "\n<i>(plugin)</i> %s (%d.%d.%d) <i>(%s)</i>" : "\n(plugin) %s (%d.%d.%d) (%s)"; const char* format = (markup == true) ? "\n<i>(plugin)</i> %s (%d.%d.%d) <i>(%s)</i>" : "\n(plugin) %s (%d.%d.%d) (%s)";
/* plugin information */ /* plugin information */
girara_list_t* plugins = zathura_plugin_manager_get_plugins(zathura->plugins.manager); girara_list_t* plugins = zathura_plugin_manager_get_plugins(zathura->plugins.manager);
if (plugins != NULL) { if (plugins != NULL) {
GIRARA_LIST_FOREACH(plugins, zathura_plugin_t*, iter, plugin) GIRARA_LIST_FOREACH(plugins, zathura_plugin_t*, iter, plugin) {
char* name = zathura_plugin_get_name(plugin); char* name = zathura_plugin_get_name(plugin);
zathura_plugin_version_t version = zathura_plugin_get_version(plugin); zathura_plugin_version_t version = zathura_plugin_get_version(plugin);
char* text = g_strdup_printf(format, char* text = g_strdup_printf(format,
(name == NULL) ? "-" : name, (name == NULL) ? "-" : name,
version.major, version.major,
version.minor, version.minor,
version.rev, version.rev,
zathura_plugin_get_path(plugin) zathura_plugin_get_path(plugin)
); );
g_string_append(string, text); g_string_append(string, text);
g_free(text); g_free(text);
GIRARA_LIST_FOREACH_END(plugins, zathura_plugin_t*, iter, plugin); } GIRARA_LIST_FOREACH_END(plugins, zathura_plugin_t*, iter, plugin);
} }
char* version = string->str; char* version = string->str;