[maemo-commits] [maemo-commits] r8516 - projects/haf/branches/hildon-fm/1.x/hildon-fm
From: www-data at stage.maemo.org www-data at stage.maemo.orgDate: Thu Nov 30 18:36:47 EET 2006
- Previous message: [maemo-commits] r8515 - projects/haf/branches/hildon-fm/1.x/hildon-fm
- Next message: [maemo-commits] r8517 - in projects/haf/trunk/maemo-af-desktop: . hildon-navigator
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: marivoll
Date: 2006-11-30 18:36:46 +0200 (Thu, 30 Nov 2006)
New Revision: 8516
Modified:
projects/haf/branches/hildon-fm/1.x/hildon-fm/hildon-file-system-model.c
Log:
* hildon-fm/hildon-file-system-model.c (location_rescan): New.
(setup_node_for_location): Connect it.
(hildon_file_system_model_destroy_model_node): Expect three
signals to be disconnected.
(hildon_file_system_model_queue_node_reload): Refactored out of
_hildon_file_system_model_queue_reload in order to be able to
reload nodes directly without having to construct a iter first.
Modified: projects/haf/branches/hildon-fm/1.x/hildon-fm/hildon-file-system-model.c
===================================================================
--- projects/haf/branches/hildon-fm/1.x/hildon-fm/hildon-file-system-model.c 2006-11-30 16:32:08 UTC (rev 8515)
+++ projects/haf/branches/hildon-fm/1.x/hildon-fm/hildon-file-system-model.c 2006-11-30 16:36:46 UTC (rev 8516)
@@ -176,7 +176,13 @@
static void
location_connection_state_changed(HildonFileSystemSpecialLocation *location,
GNode *node);
+static void
+location_rescan (HildonFileSystemSpecialLocation *location, GNode *node);
static void setup_node_for_location(GNode *node);
+static void
+hildon_file_system_model_queue_node_reload (HildonFileSystemModel *model,
+ GNode *node,
+ gboolean force);
static GtkTreePath *hildon_file_system_model_get_path(GtkTreeModel * model,
GtkTreeIter * iter);
@@ -1616,7 +1622,7 @@
Ensure that all expected handlers were disconnected. */
gint check = g_signal_handlers_disconnect_matched(
model_node->location, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, node);
- g_assert(check == 2);
+ g_assert(check == 3);
g_object_unref(model_node->location);
}
@@ -2325,6 +2331,24 @@
}
}
+static void
+location_rescan(HildonFileSystemSpecialLocation *location, GNode *node)
+{
+ HildonFileSystemModelNode *model_node;
+ HildonFileSystemModel *model;
+
+ g_assert(HILDON_IS_FILE_SYSTEM_SPECIAL_LOCATION(location));
+ g_assert(node != NULL && node->data != NULL);
+
+ ULOG_INFO("LOCATION RESCAN: %s", location->basepath);
+
+ model_node = node->data;
+ model = model_node->model;
+
+ hildon_file_system_model_queue_node_reload
+ (HILDON_FILE_SYSTEM_MODEL(model), node, TRUE);
+}
+
static HildonFileSystemModelNode *
create_model_node_for_location(HildonFileSystemModel *self,
HildonFileSystemSpecialLocation *location)
@@ -2385,6 +2409,8 @@
G_CALLBACK(location_changed), node);
g_signal_connect(location, "connection-state",
G_CALLBACK(location_connection_state_changed), node);
+ g_signal_connect(location, "rescan",
+ G_CALLBACK(location_rescan), node);
}
else
(void) link_file_folder(node, model_node->path, &error);
@@ -2789,17 +2815,13 @@
return FALSE;
}
-void _hildon_file_system_model_queue_reload(HildonFileSystemModel *model,
- GtkTreeIter *parent_iter, gboolean force)
+static void
+hildon_file_system_model_queue_node_reload (HildonFileSystemModel *model,
+ GNode *node,
+ gboolean force)
{
- GNode *node;
-
g_return_if_fail(HILDON_IS_FILE_SYSTEM_MODEL(model));
- g_return_if_fail(parent_iter != NULL);
- g_return_if_fail(parent_iter->stamp == model->priv->stamp);
- node = parent_iter->user_data;
-
if (!node_needs_reload (model, node, force))
return;
@@ -2810,6 +2832,20 @@
}
}
+void _hildon_file_system_model_queue_reload(HildonFileSystemModel *model,
+ GtkTreeIter *parent_iter, gboolean force)
+{
+ GNode *node;
+
+ g_return_if_fail(HILDON_IS_FILE_SYSTEM_MODEL(model));
+ g_return_if_fail(parent_iter != NULL);
+ g_return_if_fail(parent_iter->stamp == model->priv->stamp);
+
+ node = parent_iter->user_data;
+
+ hildon_file_system_model_queue_node_reload (model, node, force);
+}
+
static void
_hildon_file_system_model_load_children(HildonFileSystemModel *model,
GtkTreeIter *parent_iter)
- Previous message: [maemo-commits] r8515 - projects/haf/branches/hildon-fm/1.x/hildon-fm
- Next message: [maemo-commits] r8517 - in projects/haf/trunk/maemo-af-desktop: . hildon-navigator
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
