Mercurial > geeqie
comparison src/image-overlay.c @ 263:c7fefb0a4b78
Display marks in overlay info only if at least one is set.
Fix a missing g_string_free().
author | zas_ |
---|---|
date | Mon, 07 Apr 2008 08:09:39 +0000 |
parents | 62f2f8f7cb2d |
children | 3f14da3c3b9a |
comparison
equal
deleted
inserted
replaced
262:343dd4ae2b2b | 263:c7fefb0a4b78 |
---|---|
154 gchar *size; | 154 gchar *size; |
155 gint n, t; | 155 gint n, t; |
156 CollectionData *cd; | 156 CollectionData *cd; |
157 CollectInfo *info; | 157 CollectInfo *info; |
158 gchar *ct; | 158 gchar *ct; |
159 int i; | 159 gint w, h; |
160 gint w, h; | |
161 GHashTable *vars; | 160 GHashTable *vars; |
162 | 161 |
163 vars = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, g_free); | 162 vars = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, g_free); |
164 | 163 |
165 name = image_get_name(imd); | 164 name = image_get_name(imd); |
258 g_free(ct); | 257 g_free(ct); |
259 g_free(name_escaped); | 258 g_free(name_escaped); |
260 g_hash_table_destroy(vars); | 259 g_hash_table_destroy(vars); |
261 | 260 |
262 { | 261 { |
263 GString *buf = g_string_sized_new(FILEDATA_MARKS_SIZE * 2); | |
264 FileData *fd = image_get_fd(imd); | 262 FileData *fd = image_get_fd(imd); |
265 | 263 gint active_marks = 0; |
266 for (i=0; i < FILEDATA_MARKS_SIZE; i++) | 264 gint mark; |
267 { | 265 |
268 | 266 for (mark = 0; mark < FILEDATA_MARKS_SIZE; mark++) |
269 g_string_append_printf(buf, fd->marks[i] ? " <span background='#FF00FF'>%c</span>" : " %c", '1' + i); | 267 { |
270 } | 268 active_marks += fd->marks[mark]; |
271 text2 = g_strdup_printf("%s\n%s", text, buf->str); | 269 } |
270 | |
271 if (active_marks > 0) | |
272 { | |
273 GString *buf = g_string_sized_new(FILEDATA_MARKS_SIZE * 2); | |
274 | |
275 for (mark = 0; mark < FILEDATA_MARKS_SIZE; mark++) | |
276 { | |
277 g_string_append_printf(buf, fd->marks[mark] ? " <span background='#FF00FF'>%c</span>" : " %c", '1' + mark); | |
278 } | |
279 | |
280 text2 = g_strdup_printf("%s\n%s", text, buf->str); | |
281 g_string_free(buf, TRUE); | |
282 g_free(text); | |
283 } | |
284 else | |
285 { | |
286 text2 = text; | |
287 } | |
272 } | 288 } |
273 | 289 |
274 layout = gtk_widget_create_pango_layout(imd->pr, NULL); | 290 layout = gtk_widget_create_pango_layout(imd->pr, NULL); |
275 pango_layout_set_markup(layout, text2, -1); | 291 pango_layout_set_markup(layout, text2, -1); |
276 g_free(text2); | 292 g_free(text2); |
277 g_free(text); | |
278 | 293 |
279 pango_layout_get_pixel_size(layout, &width, &height); | 294 pango_layout_get_pixel_size(layout, &width, &height); |
280 | 295 |
281 width += 10; | 296 width += 10; |
282 height += 10; | 297 height += 10; |