* Author:
* Martin Kretzschmar <Martin.Kretzschmar@inf.tu-dresden.de>
*
- * GPdf is free software; you can redistribute it and/or modify it
+ * Evince is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
- * GPdf is distributed in the hope that it will be useful, but WITHOUT
+ * Evince is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
{ EV_STOCK_VISIBLE, "eye"}
};
+static gchar *ev_icons_path;
+
/**
* ev_stock_icons_init:
*
GtkIconSource *source;
gint i;
+ ev_icons_path = g_build_filename (DATADIR, "icons", NULL);
+
factory = gtk_icon_factory_new ();
gtk_icon_factory_add_default (factory);
gtk_icon_source_free (source);
g_object_unref (G_OBJECT (factory));
+
+ ev_stock_icons_add_icons_path ();
+}
+
+void
+ev_stock_icons_shutdown (void)
+{
+ g_free (ev_icons_path);
+}
+
+void
+ev_stock_icons_add_icons_path_for_screen (GdkScreen *screen)
+{
+ GtkIconTheme *icon_theme;
+
+ g_return_if_fail (ev_icons_path != NULL);
+
+ icon_theme = screen ? gtk_icon_theme_get_for_screen (screen) : gtk_icon_theme_get_default ();
+ if (icon_theme) {
+ gchar **path = NULL;
+ gint n_paths;
+ gint i;
+
+ /* GtkIconTheme will then look in Evince custom hicolor dir
+ * for icons as well as the standard search paths
+ */
+ gtk_icon_theme_get_search_path (icon_theme, &path, &n_paths);
+ for (i = n_paths - 1; i >= 0; i--) {
+ if (g_ascii_strcasecmp (ev_icons_path, path[i]) == 0)
+ break;
+ }
+
+ if (i < 0)
+ gtk_icon_theme_append_search_path (icon_theme,
+ ev_icons_path);
+
+ g_strfreev (path);
+ }
+}
+
+void
+ev_stock_icons_add_icons_path (void)
+{
+ ev_stock_icons_add_icons_path_for_screen (gdk_screen_get_default ());
}