Changeset 10657 for trunk/gtk/icons.c
- Timestamp:
- May 18, 2010, 8:55:14 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gtk/icons.c
r9890 r10657 80 80 81 81 static IconCache * 82 icon_cache_new (GtkWidget * for_widget, 83 int icon_size) 82 icon_cache_new (GtkWidget * for_widget, int icon_size) 84 83 { 85 84 IconCache * icon_cache; 86 85 87 86 g_return_val_if_fail( for_widget != NULL, NULL ); 88 87 89 88 icon_cache = g_new0( IconCache, 1 ); 90 89 icon_cache->icon_theme = gtk_icon_theme_get_for_screen( gtk_widget_get_screen( for_widget )); 91 90 icon_cache->icon_size = get_size_in_pixels( for_widget, icon_size ); 92 91 icon_cache->cache = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_object_unref); 93 92 94 93 g_hash_table_insert( icon_cache->cache, (void*)VOID_PIXBUF_KEY, create_void_pixbuf( icon_cache->icon_size, icon_cache->icon_size )); 95 94 96 95 return icon_cache; 97 96 } … … 102 101 { 103 102 const char * key = NULL; 104 103 105 104 if ( G_IS_THEMED_ICON( icon )) { 106 105 char ** icon_names; 107 106 char * name; 108 107 109 108 g_object_get( icon, "names", &icon_names, NULL ); 110 109 name = g_strjoinv( ",", icon_names ); 111 110 112 111 key = get_static_string( name ); 113 112 114 113 g_free( name ); 115 g_strfreev( icon_names ); 114 g_strfreev( icon_names ); 116 115 } 117 116 else if ( G_IS_FILE_ICON( icon )) { … … 121 120 file = g_file_icon_get_file( G_FILE_ICON( icon )); 122 121 filename = g_file_get_path( file ); 123 122 124 123 key = get_static_string( filename ); 125 124 126 125 g_free( filename ); 127 126 g_object_unref( file ); 128 127 } 129 128 130 129 return key; 131 130 } … … 133 132 134 133 static GdkPixbuf * 135 get_themed_icon_pixbuf( GThemedIcon *icon,136 intsize,137 GtkIconTheme *icon_theme )134 get_themed_icon_pixbuf( GThemedIcon * icon, 135 int size, 136 GtkIconTheme * icon_theme ) 138 137 { 139 138 char ** icon_names = NULL; … … 163 162 164 163 static GdkPixbuf * 165 get_file_icon_pixbuf( GFileIcon *icon, 166 int size ) 164 get_file_icon_pixbuf( GFileIcon * icon, int size ) 167 165 { 168 166 GFile * file; 169 167 char * filename; 170 168 GdkPixbuf * pixbuf; 171 169 172 170 file = g_file_icon_get_file( icon ); 173 171 filename = g_file_get_path( file ); … … 175 173 g_free( filename ); 176 174 g_object_unref( file ); 177 178 return pixbuf; 179 } 180 181 182 static GdkPixbuf * 183 _get_icon_pixbuf( GIcon *icon, 184 int size, 185 GtkIconTheme *theme ) 175 176 return pixbuf; 177 } 178 179 180 static GdkPixbuf * 181 _get_icon_pixbuf( GIcon * icon, int size, GtkIconTheme * theme ) 186 182 { 187 183 if ( icon == NULL ) … … 196 192 197 193 static GdkPixbuf * 198 icon_cache_get_mime_type_icon( IconCache * icon_cache, 199 const char * mime_type ) 194 icon_cache_get_mime_type_icon( IconCache * icon_cache, const char * mime_type ) 200 195 { 201 196 GIcon * icon; … … 205 200 icon = g_content_type_get_icon( mime_type ); 206 201 key = _icon_cache_get_icon_key( icon ); 207 202 208 203 if (key == NULL) 209 204 key = VOID_PIXBUF_KEY; … … 221 216 222 217 g_object_unref( G_OBJECT( icon ) ); 223 218 224 219 return pixbuf; 225 220 } … … 228 223 229 224 static GdkPixbuf * 230 icon_cache_get_mime_type_icon( IconCache * icon_cache, 231 const char * mime_type ) 225 icon_cache_get_mime_type_icon( IconCache * icon_cache, const char * mime_type ) 232 226 { 233 227 GdkPixbuf * pixbuf; … … 275 269 case GTK_ICON_SIZE_DIALOG: n = 6; break; 276 270 default /*GTK_ICON_SIZE_INVALID*/: n = 0; break; 277 } 271 } 278 272 279 273 if( icon_cache[n] == NULL )
Note: See TracChangeset
for help on using the changeset viewer.