[evolution-patches] Re: [Evolution-hackers] source selector behavior
- From: William Jon McCann <mccannwj pha jhu edu>
- To: JP Rosevear <jpr ximian com>
- Cc: product-design ximian com, evolution-patches lists ximian com
- Subject: [evolution-patches] Re: [Evolution-hackers] source selector behavior
- Date: Tue, 30 Mar 2004 15:27:23 -0500
JP Rosevear wrote:
On Fri, 2004-03-26 at 13:44, William Jon McCann wrote:
For this approach you can't just return TRUE, you must handle clearing
saved selection farther down the selection, and you must make sure
groups are non-selectable and (if memory servers) you must process the
toggled_last stuff to prevent check a toggle box from highlight the
whole row.
Right. Updated patch attached.
Thanks,
Jon
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/widgets/misc/ChangeLog,v
retrieving revision 1.284
diff -p -u -r1.284 ChangeLog
--- ChangeLog 26 Mar 2004 17:12:05 -0000 1.284
+++ ChangeLog 30 Mar 2004 20:24:40 -0000
@@ -1,3 +1,8 @@
+2004-03-26 William Jon McCann <mccann jhu edu>
+
+ * e-source-selector.c (cell_toggled_callback, selection_func):
+ Decouple check box and highlight when checkbox is shown.
+
2004-03-26 Rodney Dawes <dobey ximian com>
* e-multi-config-dialog.c (init): Remove the dialog separator
Index: e-source-selector.c
===================================================================
RCS file: /cvs/gnome/evolution/widgets/misc/e-source-selector.c,v
retrieving revision 1.14
diff -p -u -r1.14 e-source-selector.c
--- e-source-selector.c 24 Jan 2004 05:36:53 -0000 1.14
+++ e-source-selector.c 30 Mar 2004 20:24:42 -0000
@@ -443,7 +443,8 @@ selection_func (GtkTreeSelection *select
return TRUE;
}
- e_source_selector_select_source (selector, E_SOURCE (data));
+ if (!selector->priv->checkboxes_shown)
+ e_source_selector_select_source (selector, E_SOURCE (data));
clear_saved_primary_selection (selector);
g_object_unref (data);
@@ -476,19 +477,17 @@ cell_toggled_callback (GtkCellRendererTo
} else {
source = E_SOURCE (data);
- if (e_source_selector_peek_primary_selection (selector) != source) {
- if (source_is_selected (selector, source))
- unselect_source (selector, source);
- else
- select_source (selector, source);
+ if (source_is_selected (selector, source))
+ unselect_source (selector, source);
+ else
+ select_source (selector, source);
- selector->priv->toggled_last = TRUE;
-
- gtk_tree_model_row_changed (model, path, &iter);
- g_signal_emit (selector, signals[SELECTION_CHANGED], 0);
+ selector->priv->toggled_last = TRUE;
+
+ gtk_tree_model_row_changed (model, path, &iter);
+ g_signal_emit (selector, signals[SELECTION_CHANGED], 0);
- gtk_tree_path_free (path);
- }
+ gtk_tree_path_free (path);
}
g_object_unref (data);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]