static void set_icons () { static gchar const *icon_infos[] = { "gitg16x16.png", "gitg22x22.png", "gitg24x24.png", "gitg32x32.png", "gitg48x48.png", "gitg64x64.png", "gitg128x128.png", NULL }; int i; GList *icons = NULL; for (i = 0; icon_infos[i]; ++i) { gchar *filename = gitg_dirs_get_data_filename ("icons", icon_infos[i], NULL); GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file (filename, NULL); g_free (filename); if (pixbuf) { icons = g_list_prepend (icons, pixbuf); } } gtk_window_set_default_icon_list (icons); g_list_foreach (icons, (GFunc)g_object_unref, NULL); g_list_free (icons); }
static void set_style_scheme_search_path () { GtkSourceStyleSchemeManager *manager = gtk_source_style_scheme_manager_get_default (); gchar *path = gitg_dirs_get_data_filename ("styles", NULL); gtk_source_style_scheme_manager_prepend_search_path (manager, path); g_free (path); }
GtkBuilder * gitg_utils_new_builder(gchar const *filename) { GtkBuilder *b = gtk_builder_new(); GError *error = NULL; gchar *path = gitg_dirs_get_data_filename("ui", filename, NULL); if (!gtk_builder_add_from_file(b, path, &error)) { g_critical("Could not open UI file: %s (%s)", path, error->message); g_error_free(error); g_free(path); exit(1); } g_free(path); return b; }
static void set_language_search_path () { GtkSourceLanguageManager *manager = gtk_source_language_manager_get_default (); gchar const * const *orig = gtk_source_language_manager_get_search_path (manager); gchar const **dirs = g_new0 (gchar const *, g_strv_length ((gchar **)orig) + 2); guint i = 0; while (orig[i]) { dirs[i + 1] = orig[i]; ++i; } gchar *path = gitg_dirs_get_data_filename ("language-specs", NULL); dirs[0] = path; gtk_source_language_manager_set_search_path (manager, (gchar **)dirs); g_free (path); g_free (dirs); }