@@ -68,35 +68,27 @@ imageheader_add_item( IMAGE *im,
68
68
char txt [256 ];
69
69
VipsBuf buf = VIPS_BUF_STATIC ( txt );
70
70
GtkTreeIter iter ;
71
- char * value_str ;
72
- const char * extra ;
73
71
74
- value_str = g_strdup_value_contents ( value );
75
- vips_buf_appendf ( & buf , "%s" , value_str );
76
-
77
- /* Look for enums and decode them.
72
+ /* Show the nicks for enums.
78
73
*/
79
- extra = NULL ;
80
- if ( strcmp ( field , "coding" ) == 0 )
81
- extra = vips_enum_nick ( VIPS_TYPE_CODING ,
82
- g_value_get_int ( value ) );
83
- else if ( strcmp ( field , "format" ) == 0 )
84
- extra = vips_enum_nick ( VIPS_TYPE_BAND_FORMAT ,
85
- g_value_get_int ( value ) );
86
- else if ( strcmp ( field , "interpretation" ) == 0 )
87
- extra = vips_enum_nick ( VIPS_TYPE_INTERPRETATION ,
88
- g_value_get_int ( value ) );
89
- if ( extra )
90
- vips_buf_appendf ( & buf , " - %s" , extra );
74
+ if ( G_VALUE_HOLDS_ENUM ( value ) )
75
+ vips_buf_appendf ( & buf , "%s" ,
76
+ vips_enum_nick ( G_VALUE_TYPE ( value ),
77
+ g_value_get_enum ( value ) ) );
78
+ else {
79
+ char * value_str ;
80
+
81
+ value_str = g_strdup_value_contents ( value );
82
+ vips_buf_appendf ( & buf , "%s" , value_str );
83
+ g_free ( value_str );
84
+ }
91
85
92
86
gtk_list_store_append ( imageheader -> store , & iter );
93
87
gtk_list_store_set ( imageheader -> store , & iter ,
94
88
NAME_COLUMN , field ,
95
89
VALUE_COLUMN , vips_buf_all ( & buf ),
96
90
-1 );
97
91
98
- g_free ( value_str );
99
-
100
92
return ( NULL );
101
93
}
102
94
0 commit comments