Changeset 538
- Timestamp:
- 03/01/08 10:52:31 (6 months ago)
- Files:
-
- sweep/trunk/src/callbacks.c (modified) (1 diff)
- sweep/trunk/src/callbacks.h (modified) (1 diff)
- sweep/trunk/src/schemes.c (modified) (3 diffs)
- sweep/trunk/src/schemes.h (modified) (1 diff)
- sweep/trunk/src/sweep-scheme.c (modified) (9 diffs)
- sweep/trunk/src/sweep-scheme.h (modified) (3 diffs)
- sweep/trunk/src/sweep_sample.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
sweep/trunk/src/callbacks.c
r536 r538 1182 1182 } 1183 1183 1184 1184 void 1185 scheme_ed_update_default_button_cb (GtkComboBox *widget, gpointer user_data) 1186 { 1187 GtkToggleButton * default_check_button; 1188 gint index; 1189 SweepScheme *scheme; 1190 1191 default_check_button = GTK_TOGGLE_BUTTON (user_data); 1192 1193 if ((index = gtk_combo_box_get_active (GTK_COMBO_BOX (widget))) != -1) { 1194 scheme = schemes_get_nth (index); 1195 if (scheme != NULL) 1196 g_signal_handlers_block_by_func (default_check_button, 1197 scheme_ed_default_button_toggled_cb, 1198 widget); 1199 1200 gtk_toggle_button_set_active (default_check_button, scheme->is_default); 1201 1202 g_signal_handlers_unblock_by_func (default_check_button, 1203 scheme_ed_default_button_toggled_cb, 1204 widget); 1205 } 1206 } 1207 1208 void 1209 scheme_ed_default_button_toggled_cb (GtkToggleButton *togglebutton, 1210 gpointer user_data) 1211 { 1212 gint index; 1213 gboolean toggled; 1214 SweepScheme *scheme, *old_default_scheme; 1215 1216 toggled = gtk_toggle_button_get_active (togglebutton); 1217 index = gtk_combo_box_get_active (GTK_COMBO_BOX (user_data)); 1218 1219 if (index != -1) { 1220 scheme = schemes_get_nth (index); 1221 1222 if (scheme != NULL) { 1223 old_default_scheme = schemes_get_scheme_user_default (); 1224 old_default_scheme->is_default = FALSE; 1225 scheme->is_default = toggled; 1226 prefs_set_string ("user-default-scheme", scheme->name); 1227 } 1228 } 1229 } sweep/trunk/src/callbacks.h
r536 r538 329 329 schemes_ed_treeview_selection_changed_cb (GtkTreeSelection *treeselection, 330 330 gpointer user_data); 331 void 332 scheme_ed_update_default_button_cb (GtkComboBox *widget, gpointer user_data); 333 334 void 335 scheme_ed_default_button_toggled_cb (GtkToggleButton *togglebutton, 336 gpointer user_data); 331 337 332 338 sweep/trunk/src/schemes.c
r537 r538 361 361 gsize num_strings; 362 362 gint element; 363 gchar * default_name; 363 364 364 365 if (length != SCHEME_ELEMENT_LAST) … … 368 369 scheme->name = g_strdup(group); 369 370 370 FOR_EACH_ELEMENT { 371 372 string_list = g_key_file_get_string_list (key_file, 373 group, 374 keys[element], 375 &num_strings, 376 &error); 377 if (string_list == NULL) 378 return NULL; 379 380 if ((gint)num_strings != 3) { /* color, style-type and toggle */ 381 g_strfreev (string_list); 382 return NULL; 371 FOR_EACH_ELEMENT { 372 373 string_list = g_key_file_get_string_list (key_file, 374 group, 375 keys[element], 376 &num_strings, 377 &error); 378 if ((string_list != NULL) && 379 ((gint)num_strings == 3) && /* color, style-type and toggle */ 380 (gdk_color_parse (string_list[0], scheme->scheme_colors[element]))) { 381 382 scheme->element_enabled[element] = 383 (g_ascii_strncasecmp (string_list[2], "ENABLED", 7) == 0) ? TRUE : FALSE; 384 385 scheme->element_style[element] = element_get_style_type (string_list[1]); 386 387 default_name = prefs_get_string ("user-default-scheme"); 388 389 if (default_name != NULL) { 390 if (g_utf8_collate (default_name, scheme->name) == 0) 391 scheme->is_default = TRUE; 383 392 } 384 385 if (!gdk_color_parse (string_list[0], scheme->scheme_colors[element])) 386 return NULL; 387 388 scheme->element_enabled[element] = 389 (g_ascii_strncasecmp (string_list[2], "ENABLED", 7) == 0) ? TRUE : FALSE; 390 391 scheme->element_style[element] = element_get_style_type (string_list[1]); 392 393 g_strfreev (string_list); 394 } else { 395 //unref scheme 396 return NULL; 397 } 393 398 } 394 399 return scheme; 395 400 } 401 396 402 void 397 403 schemes_add_scheme (SweepScheme * scheme, gboolean prepend) … … 1084 1090 _("Toggle whether the selected scheme is the default")); 1085 1091 1092 g_signal_connect ((gpointer) checkbutton, "toggled", 1093 G_CALLBACK (scheme_ed_default_button_toggled_cb), 1094 schemes_combo); 1095 /* sync with selected scheme */ 1096 g_signal_connect ((gpointer) schemes_combo, "changed", 1097 G_CALLBACK (scheme_ed_update_default_button_cb), 1098 checkbutton); 1099 1086 1100 1087 1101 /** color swatches and color selection **/ sweep/trunk/src/schemes.h
r532 r538 74 74 schemes_get_scheme_system_default (void); 75 75 76 SweepScheme * 77 schemes_get_scheme_user_default (void); 78 76 79 void 77 80 schemes_remove_scheme (SweepScheme *scheme); sweep/trunk/src/sweep-scheme.c
r536 r538 77 77 78 78 static void 79 sweep_scheme_finalize (GObject * object)79 sweep_scheme_finalize (GObject * object) 80 80 { 81 81 82 82 gint element; 83 SweepScheme * scheme = SWEEP_SCHEME (object);83 SweepScheme * scheme = SWEEP_SCHEME (object); 84 84 85 85 g_free (scheme->name); … … 93 93 } 94 94 static void 95 sweep_scheme_init (SweepScheme * scheme)95 sweep_scheme_init (SweepScheme * scheme) 96 96 { 97 97 … … 99 99 100 100 scheme->modified = FALSE; 101 scheme->is_default = FALSE; 101 102 scheme->preview_icon = NULL; 102 103 … … 109 110 110 111 static void 111 sweep_scheme_class_init (SweepSchemeClass * klass)112 sweep_scheme_class_init (SweepSchemeClass * klass) 112 113 { 113 114 … … 154 155 155 156 gint element; 156 SweepScheme * scheme_copy;157 SweepScheme * scheme_copy; 157 158 158 159 if (!SWEEP_IS_SCHEME (scheme)) … … 161 162 scheme_copy = sweep_scheme_new (); 162 163 163 scheme_copy->name = g_strdup (scheme->name); 164 scheme_copy->modified = scheme->modified; 164 scheme_copy->name = g_strdup (scheme->name); 165 scheme_copy->modified = FALSE; //scheme->modified; 166 scheme_copy->is_default = FALSE; 165 167 166 168 for (element = 0; element < SCHEME_ELEMENT_LAST; element++) … … 178 180 179 181 void 180 sweep_scheme_set_element_color (SweepScheme * scheme,182 sweep_scheme_set_element_color (SweepScheme * scheme, 181 183 gint element, 182 GdkColor * color)183 { 184 GdkColor * old_color;184 GdkColor * color) 185 { 186 GdkColor * old_color; 185 187 186 188 if ((scheme != NULL) || … … 201 203 202 204 void 203 sweep_scheme_set_element_enabled (SweepScheme * scheme,205 sweep_scheme_set_element_enabled (SweepScheme * scheme, 204 206 gint element, 205 207 gboolean is_enabled) … … 220 222 221 223 void 222 sweep_scheme_set_element_style (SweepScheme * scheme,224 sweep_scheme_set_element_style (SweepScheme * scheme, 223 225 gint element, 224 226 gint style) sweep/trunk/src/sweep-scheme.h
r536 r538 82 82 struct _SweepScheme { 83 83 84 GObject parent; 85 GdkColor *scheme_colors[SCHEME_ELEMENT_LAST]; 86 gboolean element_enabled[SCHEME_ELEMENT_LAST]; /* always true for some elements */ 87 gint element_style[SCHEME_ELEMENT_LAST]; /* overrides custom colors if >0 */ 88 gchar *name; 89 gboolean modified; 90 GdkPixbuf *preview_icon; 84 GObject parent; 85 GdkColor * scheme_colors[SCHEME_ELEMENT_LAST]; 86 gboolean element_enabled[SCHEME_ELEMENT_LAST]; /* always true for some elements */ 87 gint element_style[SCHEME_ELEMENT_LAST]; /* overrides custom colors if >0 */ 88 gchar * name; 89 gboolean modified; 90 gboolean is_default; 91 GdkPixbuf * preview_icon; 91 92 92 93 … … 98 99 GObjectClass parent_class; 99 100 100 void (* destroy) (SweepScheme *object);101 void (* changed) (SweepScheme *object);101 void (* destroy) (SweepScheme * object); 102 void (* changed) (SweepScheme * object); 102 103 }; 103 104 104 SweepScheme 105 *sweep_scheme_new (void);105 SweepScheme * 106 sweep_scheme_new (void); 106 107 107 108 SweepScheme * … … 112 113 113 114 void 114 sweep_scheme_set_element_color (SweepScheme * scheme,115 sweep_scheme_set_element_color (SweepScheme * scheme, 115 116 gint element, 116 GdkColor * color);117 GdkColor * color); 117 118 void 118 sweep_scheme_set_element_enabled (SweepScheme * scheme,119 sweep_scheme_set_element_enabled (SweepScheme * scheme, 119 120 gint element, 120 121 gboolean is_enabled); 121 122 void 122 sweep_scheme_set_element_style (SweepScheme * scheme,123 sweep_scheme_set_element_style (SweepScheme * scheme, 123 124 gint element, 124 125 gint style); sweep/trunk/src/sweep_sample.c
r532 r538 1917 1917 /* OK */ 1918 1918 1919 ok_button = gtk_button_new_ with_label (_("OK"));1919 ok_button = gtk_button_new_from_stock ("gtk-ok"); 1920 1920 GTK_WIDGET_SET_FLAGS (GTK_WIDGET (ok_button), GTK_CAN_DEFAULT); 1921 1921 gtk_box_pack_start (GTK_BOX (GTK_DIALOG(dialog)->action_area), ok_button,
