[nautilus/wip/csoriano/flow] f
- From: Carlos Soriano <csoriano src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus/wip/csoriano/flow] f
- Date: Tue, 3 Jan 2017 10:10:08 +0000 (UTC)
commit eaaa5cbda3f32c4d7eb702e81fb5d0d2847b6643
Author: Carlos Soriano <csoriano gnome org>
Date: Tue Jan 3 11:09:44 2017 +0100
f
src/nautilus-view-icon-controller.c | 5 ++---
src/nautilus-view-icon-ui.c | 17 ++++++++++++++---
src/nautilus-view-model.c | 6 ++++--
3 files changed, 20 insertions(+), 8 deletions(-)
---
diff --git a/src/nautilus-view-icon-controller.c b/src/nautilus-view-icon-controller.c
index b5f1393..d5d23ce 100644
--- a/src/nautilus-view-icon-controller.c
+++ b/src/nautilus-view-icon-controller.c
@@ -336,12 +336,11 @@ real_set_selection (NautilusFilesView *files_view,
NautilusViewIconController *self = NAUTILUS_VIEW_ICON_CONTROLLER (files_view);
g_autoptr (GQueue) selection_files;
g_autoptr (GQueue) selection_item_models;
- NautilusFile *file;
- GList *l;
- guint i = 0;
+ g_print ("TYPE %s\n", G_OBJECT_TYPE_NAME (selection->data));
selection_files = convert_glist_to_queue (selection);
selection_item_models = nautilus_view_model_get_item_models_from_files (self->model, selection_files);
+ nautilus_view_model_set_selected (self->model, NULL);
nautilus_view_model_set_selected (self->model, selection_item_models);
nautilus_files_view_notify_selection_changed (files_view);
}
diff --git a/src/nautilus-view-icon-ui.c b/src/nautilus-view-icon-ui.c
index fa4960b..5fff957 100644
--- a/src/nautilus-view-icon-ui.c
+++ b/src/nautilus-view-icon-ui.c
@@ -106,8 +106,6 @@ on_view_item_model_selected_changed (GObject *object,
NautilusViewItemModel *item_model;
GtkFlowBoxChild *item_ui;
- g_print ("selected changed\n", self->selected, !!selected);
-
item_model = NAUTILUS_VIEW_ITEM_MODEL (object);
item_ui = GTK_FLOW_BOX_CHILD (nautilus_view_item_model_get_item_ui (item_model));
gtk_flow_box_select_child (GTK_FLOW_BOX (self), item_ui);
@@ -123,7 +121,7 @@ create_widget_func (gpointer item,
NautilusViewIconItemUi *child;
child = nautilus_view_icon_item_ui_new (item_model);
- nautilus_view_item_model_set_item_ui (item_model, child);
+ nautilus_view_item_model_set_item_ui (item_model, GTK_WIDGET (child));
gtk_widget_show (GTK_WIDGET (child));
g_signal_connect (item_model, "notify::selected",
@@ -150,6 +148,18 @@ on_child_activated (GtkFlowBox *flow_box,
}
static void
+on_ui_selected_children_changed (GtkFlowBox *box,
+ gpointer user_data)
+{
+ NautilusViewIconUi *self;
+
+ self = NAUTILUS_VIEW_ICON_UI (user_data);
+
+ nautilus_view_set_selection (NAUTILUS_VIEW (self->controller),
+ gtk_flow_box_get_selected_children (GTK_FLOW_BOX (self)));
+}
+
+static void
finalize (GObject *object)
{
G_OBJECT_CLASS (nautilus_view_icon_ui_parent_class)->finalize (object);
@@ -181,6 +191,7 @@ constructed (GObject *object)
create_widget_func, self, NULL);
g_signal_connect (self, "child-activated", (GCallback) on_child_activated, self);
+ g_signal_connect (self, "selected-children-changed", (GCallback) on_ui_selected_children_changed, self);
}
static void
diff --git a/src/nautilus-view-model.c b/src/nautilus-view-model.c
index 7d7afd6..15a75ff 100644
--- a/src/nautilus-view-model.c
+++ b/src/nautilus-view-model.c
@@ -155,7 +155,6 @@ nautilus_view_model_get_item_models_from_files (NautilusViewModel *self,
GQueue *files)
{
GList *l;
- gint *i;
NautilusViewItemModel *item_model;
GQueue *item_models;
@@ -163,9 +162,10 @@ nautilus_view_model_get_item_models_from_files (NautilusViewModel *self,
for (l = g_queue_peek_head_link (files); l != NULL; l = l->next)
{
NautilusFile *file1;
+ gint i = 0;
file1 = NAUTILUS_FILE (l->data);
- while ((item_model = g_list_model_get_item (self->internal_model, i)))
+ while ((item_model = g_list_model_get_item (G_LIST_MODEL(self->internal_model), i)))
{
NautilusFile *file2;
g_autofree gchar *file1_uri;
@@ -179,6 +179,8 @@ nautilus_view_model_get_item_models_from_files (NautilusViewModel *self,
g_queue_push_tail (item_models, item_model);
break;
}
+
+ i++;
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]