[evolution/triple-click-source-selector] Bug 611873 - Make triple-clicking a shortcut for "Show Only This ..."



commit 1d88f36d7fd0a5225c3438adb4782618407f320d
Author: Matthew Barnes <mbarnes redhat com>
Date:   Fri Mar 5 11:39:34 2010 -0500

    Bug 611873 - Make triple-clicking a shortcut for "Show Only This ..."
    
    Requires e_source_selector_select_exclusive() from libedataserverui.

 modules/calendar/e-cal-shell-view-actions.c  |   17 ++---------------
 modules/calendar/e-memo-shell-view-actions.c |   17 ++---------------
 modules/calendar/e-task-shell-view-actions.c |   17 ++---------------
 3 files changed, 6 insertions(+), 45 deletions(-)
---
diff --git a/modules/calendar/e-cal-shell-view-actions.c b/modules/calendar/e-cal-shell-view-actions.c
index 4e80a99..552e0f9 100644
--- a/modules/calendar/e-cal-shell-view-actions.c
+++ b/modules/calendar/e-cal-shell-view-actions.c
@@ -411,27 +411,14 @@ action_calendar_select_one_cb (GtkAction *action,
 	ECalShellSidebar *cal_shell_sidebar;
 	ESourceSelector *selector;
 	ESource *primary;
-	GSList *list, *iter;
-
-	/* XXX ESourceSelector should provide a function for this. */
 
 	cal_shell_sidebar = cal_shell_view->priv->cal_shell_sidebar;
 	selector = e_cal_shell_sidebar_get_selector (cal_shell_sidebar);
+
 	primary = e_source_selector_peek_primary_selection (selector);
 	g_return_if_fail (primary != NULL);
 
-	list = e_source_selector_get_selection (selector);
-	for (iter = list; iter != NULL; iter = iter->next) {
-		ESource *source = iter->data;
-
-		if (source == primary)
-			continue;
-
-		e_source_selector_unselect_source (selector, source);
-	}
-	e_source_selector_free_selection (list);
-
-	e_source_selector_select_source (selector, primary);
+	e_source_selector_select_exclusive (selector, primary);
 }
 
 static void
diff --git a/modules/calendar/e-memo-shell-view-actions.c b/modules/calendar/e-memo-shell-view-actions.c
index f53b8ff..515118f 100644
--- a/modules/calendar/e-memo-shell-view-actions.c
+++ b/modules/calendar/e-memo-shell-view-actions.c
@@ -315,27 +315,14 @@ action_memo_list_select_one_cb (GtkAction *action,
 	EMemoShellSidebar *memo_shell_sidebar;
 	ESourceSelector *selector;
 	ESource *primary;
-	GSList *list, *iter;
-
-	/* XXX ESourceSelector should provide a function for this. */
 
 	memo_shell_sidebar = memo_shell_view->priv->memo_shell_sidebar;
 	selector = e_memo_shell_sidebar_get_selector (memo_shell_sidebar);
+
 	primary = e_source_selector_peek_primary_selection (selector);
 	g_return_if_fail (primary != NULL);
 
-	list = e_source_selector_get_selection (selector);
-	for (iter = list; iter != NULL; iter = iter->next) {
-		ESource *source = iter->data;
-
-		if (source == primary)
-			continue;
-
-		e_source_selector_unselect_source (selector, source);
-	}
-	e_source_selector_free_selection (list);
-
-	e_source_selector_select_source (selector, primary);
+	e_source_selector_select_exclusive (selector, primary);
 }
 
 static void
diff --git a/modules/calendar/e-task-shell-view-actions.c b/modules/calendar/e-task-shell-view-actions.c
index 55873dd..6452e57 100644
--- a/modules/calendar/e-task-shell-view-actions.c
+++ b/modules/calendar/e-task-shell-view-actions.c
@@ -338,27 +338,14 @@ action_task_list_select_one_cb (GtkAction *action,
 	ETaskShellSidebar *task_shell_sidebar;
 	ESourceSelector *selector;
 	ESource *primary;
-	GSList *list, *iter;
-
-	/* XXX ESourceSelector should provide a function for this. */
 
 	task_shell_sidebar = task_shell_view->priv->task_shell_sidebar;
 	selector = e_task_shell_sidebar_get_selector (task_shell_sidebar);
+
 	primary = e_source_selector_peek_primary_selection (selector);
 	g_return_if_fail (primary != NULL);
 
-	list = e_source_selector_get_selection (selector);
-	for (iter = list; iter != NULL; iter = iter->next) {
-		ESource *source = iter->data;
-
-		if (source == primary)
-			continue;
-
-		e_source_selector_unselect_source (selector, source);
-	}
-	e_source_selector_free_selection (list);
-
-	e_source_selector_select_source (selector, primary);
+	e_source_selector_select_exclusive (selector, primary);
 }
 
 static void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]