[gtk+/bgo141154-filechooser-icon-view: 3/23] GtkFileChooserDefault: Setting selection multiple mode also for icon view
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/bgo141154-filechooser-icon-view: 3/23] GtkFileChooserDefault: Setting selection multiple mode also for icon view
- Date: Wed, 17 Oct 2012 19:58:26 +0000 (UTC)
commit df98df6ceaff7b6a088897bfd836fb00b203ef0f
Author: Simo KivimÃki <simo kivimaki fi>
Date: Mon Mar 21 21:32:25 2011 +0200
GtkFileChooserDefault: Setting selection multiple mode also for icon view
relates to https://bugzilla.gnome.org/show_bug.cgi?id=141154
gtk/gtkfilechooserdefault.c | 32 +++++++++++++++++++++++---------
1 files changed, 23 insertions(+), 9 deletions(-)
---
diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c
index 6bba6e9..1b47f8d 100644
--- a/gtk/gtkfilechooserdefault.c
+++ b/gtk/gtkfilechooserdefault.c
@@ -459,6 +459,8 @@ static void current_view_set_file_model (GtkFileChooserDefault *im
GtkTreeModel *model);
static void current_view_set_cursor (GtkFileChooserDefault *impl,
GtkTreePath *path);
+static void current_view_set_select_multiple (GtkFileChooserDefault *impl,
+ gboolean select_multiple);
@@ -5259,18 +5261,10 @@ set_select_multiple (GtkFileChooserDefault *impl,
gboolean select_multiple,
gboolean property_notify)
{
- GtkTreeSelection *selection;
- GtkSelectionMode mode;
-
if (select_multiple == impl->select_multiple)
return;
- mode = select_multiple ? GTK_SELECTION_MULTIPLE : GTK_SELECTION_SINGLE;
-
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
- gtk_tree_selection_set_mode (selection, mode);
-
- gtk_tree_view_set_rubber_banding (GTK_TREE_VIEW (impl->browse_files_tree_view), select_multiple);
+ current_view_set_select_multiple (impl, select_multiple);
impl->select_multiple = select_multiple;
g_object_notify (G_OBJECT (impl), "select-multiple");
@@ -10736,3 +10730,23 @@ current_view_set_cursor (GtkFileChooserDefault *impl, GtkTreePath *path)
else
g_assert_not_reached ();
}
+
+static void
+current_view_set_select_multiple (GtkFileChooserDefault *impl, gboolean select_multiple)
+{
+ GtkTreeSelection *selection;
+ GtkSelectionMode mode;
+
+ mode = select_multiple ? GTK_SELECTION_MULTIPLE : GTK_SELECTION_BROWSE;
+
+ if (impl->view_mode == VIEW_MODE_LIST)
+ {
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ gtk_tree_selection_set_mode (selection, mode);
+ gtk_tree_view_set_rubber_banding (GTK_TREE_VIEW (impl->browse_files_tree_view), select_multiple);
+ }
+ else if (impl->view_mode == VIEW_MODE_ICON)
+ gtk_icon_view_set_selection_mode (GTK_ICON_VIEW (impl->browse_files_icon_view), mode);
+ else
+ g_assert_not_reached ();
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]