forked from AuroraMiddleware/gtk
icon theme: Remove unused code
The deprecated api to add builtin icons was removed a year ago, so we don't need the code anymore that deals with looking up builtin icons.
This commit is contained in:
parent
0063145ed8
commit
c088d69f93
@ -275,12 +275,6 @@ typedef struct
|
||||
gboolean is_resource;
|
||||
} UnthemedIcon;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
gint size;
|
||||
GdkPixbuf *pixbuf;
|
||||
} BuiltinIcon;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
gchar *dir;
|
||||
@ -318,20 +312,13 @@ static IconSuffix theme_dir_get_icon_suffix (IconThemeDir *dir,
|
||||
static GtkIconInfo *icon_info_new (IconThemeDirType type,
|
||||
gint dir_size,
|
||||
gint dir_scale);
|
||||
static GtkIconInfo *icon_info_new_builtin (BuiltinIcon *icon);
|
||||
static IconSuffix suffix_from_name (const gchar *name);
|
||||
static BuiltinIcon *find_builtin_icon (const gchar *icon_name,
|
||||
gint size,
|
||||
gint scale,
|
||||
gint *min_difference_p);
|
||||
static void remove_from_lru_cache (GtkIconTheme *icon_theme,
|
||||
GtkIconInfo *icon_info);
|
||||
static gboolean icon_info_ensure_scale_and_pixbuf (GtkIconInfo* icon_info);
|
||||
|
||||
static guint signal_changed = 0;
|
||||
|
||||
static GHashTable *icon_theme_builtin_icons;
|
||||
|
||||
static guint
|
||||
icon_info_key_hash (gconstpointer _key)
|
||||
{
|
||||
@ -2414,11 +2401,6 @@ gtk_icon_theme_has_icon (GtkIconTheme *icon_theme,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (icon_theme_builtin_icons &&
|
||||
g_hash_table_lookup_extended (icon_theme_builtin_icons,
|
||||
icon_name, NULL, NULL))
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -2455,7 +2437,7 @@ gint *
|
||||
gtk_icon_theme_get_icon_sizes (GtkIconTheme *icon_theme,
|
||||
const gchar *icon_name)
|
||||
{
|
||||
GList *l, *d, *icons;
|
||||
GList *l, *d;
|
||||
GHashTable *sizes;
|
||||
gint *result, *r;
|
||||
guint suffix;
|
||||
@ -2490,19 +2472,6 @@ gtk_icon_theme_get_icon_sizes (GtkIconTheme *icon_theme,
|
||||
}
|
||||
}
|
||||
|
||||
if (icon_theme_builtin_icons)
|
||||
{
|
||||
icons = g_hash_table_lookup (icon_theme_builtin_icons, icon_name);
|
||||
|
||||
while (icons)
|
||||
{
|
||||
BuiltinIcon *icon = icons->data;
|
||||
|
||||
g_hash_table_insert (sizes, GINT_TO_POINTER (icon->size), NULL);
|
||||
icons = icons->next;
|
||||
}
|
||||
}
|
||||
|
||||
r = result = g_new0 (gint, g_hash_table_size (sizes) + 1);
|
||||
|
||||
g_hash_table_foreach (sizes, add_size, &r);
|
||||
@ -2990,25 +2959,11 @@ theme_lookup_icon (IconTheme *theme,
|
||||
IconThemeDir *dir, *min_dir;
|
||||
gchar *file;
|
||||
gint min_difference, difference;
|
||||
BuiltinIcon *closest_builtin = NULL;
|
||||
IconSuffix suffix;
|
||||
|
||||
min_difference = G_MAXINT;
|
||||
min_dir = NULL;
|
||||
|
||||
/* Builtin icons are logically part of the default theme and
|
||||
* are searched before other subdirectories of the default theme.
|
||||
*/
|
||||
if (use_builtin && strcmp (theme->name, FALLBACK_ICON_THEME) == 0)
|
||||
{
|
||||
closest_builtin = find_builtin_icon (icon_name,
|
||||
size, scale,
|
||||
&min_difference);
|
||||
|
||||
if (min_difference == 0)
|
||||
return icon_info_new_builtin (closest_builtin);
|
||||
}
|
||||
|
||||
dirs = theme->dirs;
|
||||
|
||||
l = dirs;
|
||||
@ -3081,9 +3036,6 @@ theme_lookup_icon (IconTheme *theme,
|
||||
return icon_info;
|
||||
}
|
||||
|
||||
if (closest_builtin)
|
||||
return icon_info_new_builtin (closest_builtin);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -3462,16 +3414,6 @@ icon_info_dup (GtkIconInfo *icon_info)
|
||||
return dup;
|
||||
}
|
||||
|
||||
static GtkIconInfo *
|
||||
icon_info_new_builtin (BuiltinIcon *icon)
|
||||
{
|
||||
GtkIconInfo *icon_info = icon_info_new (ICON_THEME_DIR_THRESHOLD, icon->size, 1);
|
||||
|
||||
icon_info->cache_pixbuf = g_object_ref (icon->pixbuf);
|
||||
|
||||
return icon_info;
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_icon_info_finalize (GObject *object)
|
||||
{
|
||||
@ -5055,79 +4997,6 @@ gtk_icon_info_load_symbolic_for_context_finish (GtkIconInfo *icon_info,
|
||||
return gtk_icon_info_load_symbolic_finish (icon_info, result, was_symbolic, error);
|
||||
}
|
||||
|
||||
/* Look up a builtin icon; the min_difference_p and
|
||||
* has_larger_p out parameters allow us to combine
|
||||
* this lookup with searching through the actual directories
|
||||
* of the “hicolor” icon theme. See theme_lookup_icon()
|
||||
* for how they are used.
|
||||
*/
|
||||
static BuiltinIcon *
|
||||
find_builtin_icon (const gchar *icon_name,
|
||||
gint size,
|
||||
gint scale,
|
||||
gint *min_difference_p)
|
||||
{
|
||||
GSList *icons = NULL;
|
||||
gint min_difference = G_MAXINT;
|
||||
gboolean has_larger = FALSE;
|
||||
BuiltinIcon *min_icon = NULL;
|
||||
|
||||
if (!icon_theme_builtin_icons)
|
||||
return NULL;
|
||||
|
||||
size *= scale;
|
||||
|
||||
icons = g_hash_table_lookup (icon_theme_builtin_icons, icon_name);
|
||||
|
||||
while (icons)
|
||||
{
|
||||
BuiltinIcon *default_icon = icons->data;
|
||||
int min, max, difference;
|
||||
gboolean smaller;
|
||||
|
||||
min = default_icon->size - 2;
|
||||
max = default_icon->size + 2;
|
||||
smaller = size < min;
|
||||
if (size < min)
|
||||
difference = min - size;
|
||||
else if (size > max)
|
||||
difference = size - max;
|
||||
else
|
||||
difference = 0;
|
||||
|
||||
if (difference == 0)
|
||||
{
|
||||
min_icon = default_icon;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!has_larger)
|
||||
{
|
||||
if (difference < min_difference || smaller)
|
||||
{
|
||||
min_difference = difference;
|
||||
min_icon = default_icon;
|
||||
has_larger = smaller;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (difference < min_difference && smaller)
|
||||
{
|
||||
min_difference = difference;
|
||||
min_icon = default_icon;
|
||||
}
|
||||
}
|
||||
|
||||
icons = icons->next;
|
||||
}
|
||||
|
||||
if (min_difference_p)
|
||||
*min_difference_p = min_difference;
|
||||
|
||||
return min_icon;
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_icon_theme_lookup_by_gicon:
|
||||
* @icon_theme: a #GtkIconTheme
|
||||
|
Loading…
Reference in New Issue
Block a user