Changeset 545
- Timestamp:
- 03/07/08 14:52:50 (6 months ago)
- Files:
-
- sweep/trunk/src/sample-display.c (modified) (1 diff)
- sweep/trunk/src/schemes.c (modified) (11 diffs)
- sweep/trunk/src/sweep-scheme.c (modified) (9 diffs)
- sweep/trunk/src/sweep-scheme.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
sweep/trunk/src/sample-display.c
r532 r545 273 273 old_color = s->gc_colors[element]; 274 274 275 s->gc_colors[element] = copy_gdk_colour (scheme-> scheme_colors[element]);275 s->gc_colors[element] = copy_gdk_colour (scheme->colors[element]); 276 276 s->gcs[element] = gdk_gc_new (GTK_WIDGET (s)->window); 277 277 sweep/trunk/src/schemes.c
r542 r545 194 194 195 195 default_scheme = sweep_scheme_new (); 196 g_object_ref (default_scheme); 197 198 FOR_EACH_ELEMENT { 199 200 gdk_color_parse (default_colors[element], default_scheme->scheme_colors[element]); 201 default_scheme->element_enabled[element] = TRUE; 196 197 FOR_EACH_ELEMENT { 198 199 gdk_color_parse (default_colors[element], default_scheme->colors[element]); 200 default_scheme->enabled[element] = TRUE; 202 201 203 202 } … … 298 297 gtk_combo_box_append_text (GTK_COMBO_BOX (schemes_combo), 299 298 SWEEP_SCHEME (list->data)->name); 300 299 301 300 } 302 301 if ((gtk_combo_box_get_active (schemes_combo) == -1) && (index >= 0)) … … 385 384 sweep_scheme_set_element_color (scheme, element, color); 386 385 387 scheme->e lement_enabled[element] =386 scheme->enabled[element] = 388 387 (g_ascii_strncasecmp (string_list[2], "ENABLED", 7) == 0) ? TRUE : FALSE; 389 388 390 scheme-> element_style[element] = element_get_style_type (string_list[1]);389 scheme->styles[element] = element_get_style_type (string_list[1]); 391 390 392 391 default_name = prefs_get_string ("user-default-scheme"); … … 414 413 415 414 g_return_if_fail (scheme != NULL); 416 415 417 416 if (prepend) 418 417 schemes_list = g_list_prepend (schemes_list, scheme); 419 418 else 420 419 schemes_list = g_list_append (schemes_list, scheme); 421 420 422 421 schemes_refresh_combo ((prepend ? 0 : (g_list_length (schemes_list) - 1))); 423 422 424 423 if (gtk_main_level() > 0) { 425 424 /* trigger color schemes menu refresh */ … … 434 433 435 434 g_return_if_fail (scheme != NULL); 436 437 // unref scheme triggering signals etc438 435 schemes_list = g_list_remove (schemes_list, scheme); 439 g_object_unref ((gpointer) scheme);436 schemes_refresh_combo (0); 440 437 schemes_modified = TRUE; 441 schemes_refresh_combo (0);442 443 438 g_signal_emit_by_name ((gpointer)menu_item_proxy, "event", NULL, &ret, NULL); 444 439 gtk_combo_box_set_active (schemes_combo, 0); 440 g_object_unref ((gpointer) scheme); 445 441 } 446 442 … … 682 678 FOR_EACH_ELEMENT { 683 679 684 string_list[0] = gdk_color_to_string (scheme-> scheme_colors[element]);685 string_list[1] = style_types[scheme-> element_style[element]];680 string_list[0] = gdk_color_to_string (scheme->colors[element]); 681 string_list[1] = style_types[scheme->styles[element]]; 686 682 string_list[2] = 687 scheme->e lement_enabled ? g_strdup ("ENABLED") : g_strdup ("DISABLED");683 scheme->enabled ? g_strdup ("ENABLED") : g_strdup ("DISABLED"); 688 684 689 685 g_key_file_set_string_list (key_file, scheme->name, … … 870 866 if (scheme == NULL) 871 867 return; 872 868 873 869 FOR_EACH_ELEMENT { 874 870 875 fill_pixmap_from_scheme_color (scheme-> scheme_colors[element],871 fill_pixmap_from_scheme_color (scheme->colors[element], 876 872 &color_swatches[element]); 877 873 … … 884 880 SCHEME_OBJECT_COLUMN, scheme, 885 881 ELEMENT_NUMBER_COLUMN, element, 886 -1); 882 -1); 887 883 } 888 884 treeview_set_selected (GTK_TREE_VIEW (treeview), 0, 0); … … 903 899 904 900 gtk_color_selection_set_current_color (GTK_COLOR_SELECTION (colorselection), 905 scheme-> scheme_colors[element]);901 scheme->colors[element]); 906 902 gtk_color_selection_set_previous_color (GTK_COLOR_SELECTION (colorselection), 907 scheme-> scheme_colors[element]);903 scheme->colors[element]); 908 904 909 905 g_signal_handlers_unblock_by_func (colorselection, … … 919 915 920 916 921 elements_store = gtk_list_store_new (N_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_ OBJECT, G_TYPE_STRING, G_TYPE_INT);917 elements_store = gtk_list_store_new (N_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_POINTER, G_TYPE_STRING, G_TYPE_INT); 922 918 treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (elements_store)); 923 919 … … 969 965 sweep_scheme_set_element_color (scheme, element, color); 970 966 971 fill_pixmap_from_scheme_color (scheme-> scheme_colors[element],967 fill_pixmap_from_scheme_color (scheme->colors[element], 972 968 &color_swatches[element]); 973 969 sweep/trunk/src/sweep-scheme.c
r542 r545 77 77 78 78 static void 79 sweep_scheme_dispose (GObject * object) 80 { 81 g_object_unref ((gpointer) SWEEP_SCHEME (object)->preview_icon); 82 83 G_OBJECT_CLASS (sweep_scheme_parent_class)->dispose (object); 84 } 85 86 static void 79 87 sweep_scheme_finalize (GObject * object) 80 88 { 81 82 89 gint element; 83 90 SweepScheme * scheme = SWEEP_SCHEME (object); 84 g_object_unref ((gpointer) scheme->preview_icon); 85 91 86 92 g_free (scheme->name); 87 93 88 94 for (element = 0; element < SCHEME_ELEMENT_LAST; element++) 89 95 { 90 g_free (scheme-> scheme_colors[element]);96 g_free (scheme->colors[element]); 91 97 } 92 g_free (scheme); 93 94 if (G_OBJECT_CLASS (sweep_scheme_parent_class)->finalize) 95 G_OBJECT_CLASS (sweep_scheme_parent_class)->finalize (object); 96 98 G_OBJECT_CLASS (sweep_scheme_parent_class)->finalize (object); 97 99 } 98 100 static void 99 101 sweep_scheme_init (SweepScheme * scheme) 100 102 { 101 102 103 gint element; 103 104 GdkVisual *visual; … … 110 111 for (element = 0; element < SCHEME_ELEMENT_LAST; element++) 111 112 { 112 scheme->scheme_colors[element] = g_new0 (GdkColor, 1); 113 scheme->element_enabled[element] = TRUE; 113 scheme->colors[element] = g_new0 (GdkColor, 1); 114 scheme->enabled[element] = TRUE; 115 scheme->styles[element] = SCHEME_GTK_STYLE_NONE; 114 116 } 115 117 } … … 121 123 GObjectClass *gobject_class = G_OBJECT_CLASS (klass); 122 124 123 //gobject_class->dispose = gtk_object_dispose;125 gobject_class->dispose = sweep_scheme_dispose; 124 126 gobject_class->finalize = sweep_scheme_finalize; 125 126 //klass->destroy = gtk_object_real_destroy;127 127 128 128 object_signals[DESTROY] = … … 161 161 sweep_scheme_new (void) 162 162 { 163 164 163 return g_object_new (SWEEP_TYPE_SCHEME, NULL); 165 166 164 } 167 165 … … 172 170 GdkGC * gc = gdk_gc_new (preview_icon); 173 171 174 gdk_gc_set_rgb_fg_color (gc, scheme-> scheme_colors[SCHEME_ELEMENT_BG]);172 gdk_gc_set_rgb_fg_color (gc, scheme->colors[SCHEME_ELEMENT_BG]); 175 173 gdk_draw_rectangle (preview_icon, 176 174 gc, 177 175 TRUE, 0, 0, 16, 16); 178 176 179 gdk_gc_set_rgb_fg_color (gc, scheme-> scheme_colors[SCHEME_ELEMENT_FG]);177 gdk_gc_set_rgb_fg_color (gc, scheme->colors[SCHEME_ELEMENT_FG]); 180 178 gdk_draw_rectangle (preview_icon, 181 179 gc, … … 205 203 for (element = 0; element < SCHEME_ELEMENT_LAST; element++) 206 204 { 207 scheme_copy->scheme_colors[element]->red = scheme->scheme_colors[element]->red; 208 scheme_copy->scheme_colors[element]->green = scheme->scheme_colors[element]->green; 209 scheme_copy->scheme_colors[element]->blue = scheme->scheme_colors[element]->blue; 210 scheme_copy->element_enabled[element] = scheme->element_enabled[element]; 205 scheme_copy->colors[element]->red = scheme->colors[element]->red; 206 scheme_copy->colors[element]->green = scheme->colors[element]->green; 207 scheme_copy->colors[element]->blue = scheme->colors[element]->blue; 208 scheme_copy->enabled[element] = scheme->enabled[element]; 209 scheme_copy->styles[element] = scheme->styles[element]; 211 210 } 212 211 update_scheme_preview (scheme_copy); … … 224 223 GdkColor * old_color; 225 224 226 if ((scheme != NULL) || 227 (color != NULL)) { 228 229 if ((element < 0) || (element >= SCHEME_ELEMENT_LAST)) 230 return; 231 232 old_color = scheme->scheme_colors[element]; 233 scheme->scheme_colors[element] = copy_gdk_colour (color); 234 g_free (old_color); 225 g_return_if_fail (scheme != NULL); 226 g_return_if_fail (color != NULL); 227 g_return_if_fail ((element >= 0) || (element < SCHEME_ELEMENT_LAST)); 228 229 old_color = scheme->colors[element]; 230 scheme->colors[element] = copy_gdk_colour (color); 231 g_free (old_color); 235 232 236 g_signal_emit_by_name ((gpointer) scheme, "changed");233 g_signal_emit_by_name ((gpointer) scheme, "changed"); 237 234 238 235 if ((element == SCHEME_ELEMENT_FG) || (element == SCHEME_ELEMENT_BG)) 239 236 update_scheme_preview (scheme); 240 }241 242 237 } 243 238 … … 247 242 gboolean is_enabled) 248 243 { 249 if (scheme != NULL) { 250 251 if ((element < 0) || (element >= SCHEME_ELEMENT_LAST)) 244 g_return_if_fail (scheme != NULL); 245 g_return_if_fail ((element >= 0) || (element < SCHEME_ELEMENT_LAST)); 246 247 if (scheme->enabled[element] == is_enabled) /* no change */ 252 248 return; 253 if (scheme->element_enabled[element] == is_enabled) /* no change */ 254 return; 255 256 scheme->element_enabled[element] = is_enabled; 249 250 scheme->enabled[element] = is_enabled; 257 251 258 252 g_signal_emit_by_name ((gpointer) scheme, "changed"); 259 }260 253 } 261 254 … … 265 258 gint style) 266 259 { 267 if (scheme != NULL) { 260 g_return_if_fail (scheme != NULL); 261 g_return_if_fail ((element >= 0) || (element < SCHEME_ELEMENT_LAST)); 262 g_return_if_fail ((element >= 0) || (element < SCHEME_GTK_STYLE_LAST)); 268 263 269 if ((element < 0) || (element >= SCHEME_ELEMENT_LAST)) 270 return; 271 if ((style < 0) || (style >= SCHEME_GTK_STYLE_LAST)) 272 return; 273 if (scheme->element_style[element] == style) /* no change */ 274 return; 275 276 scheme->element_style[element] = style; 264 if (scheme->styles[element] == style) /* no change */ 265 return; 266 267 scheme->styles[element] = style; 277 268 278 g_signal_emit_by_name ((gpointer) scheme, "changed"); 279 280 if ((element == SCHEME_ELEMENT_FG) || (element == SCHEME_ELEMENT_BG)) 281 update_scheme_preview (scheme); 282 } 283 284 } 285 286 287 269 g_signal_emit_by_name ((gpointer) scheme, "changed"); 270 271 if ((element == SCHEME_ELEMENT_FG) || (element == SCHEME_ELEMENT_BG)) 272 update_scheme_preview (scheme); 273 } 274 275 276 sweep/trunk/src/sweep-scheme.h
r542 r545 83 83 84 84 GObject parent; 85 GdkColor * scheme_colors[SCHEME_ELEMENT_LAST];86 gboolean e lement_enabled[SCHEME_ELEMENT_LAST]; /* always true for some elements */87 gint element_style[SCHEME_ELEMENT_LAST]; /* overrides custom colors if > 0 */85 GdkColor * colors[SCHEME_ELEMENT_LAST]; 86 gboolean enabled[SCHEME_ELEMENT_LAST]; /* always true for some elements */ 87 gint styles[SCHEME_ELEMENT_LAST]; /* overrides custom colors if > 0 */ 88 88 gchar * name; 89 89 gboolean modified;
