예제 #1
0
파일: gitg.c 프로젝트: epronk/gitg
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);
}
예제 #2
0
파일: gitg.c 프로젝트: epronk/gitg
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);
}
예제 #3
0
파일: gitg-utils.c 프로젝트: hb/gitg
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;
}
예제 #4
0
파일: gitg.c 프로젝트: epronk/gitg
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);
}