Updating branch refs/heads/jannis/new-shortcuts-pane to ea16d3831cea1458cb2a27157083f84eef73c4ba (commit) from 5a76213df5093a39199999e3ffb661a71dd20e42 (commit)
commit ea16d3831cea1458cb2a27157083f84eef73c4ba Author: Jannis Pohlmann <jan...@xfce.org> Date: Fri Jun 10 00:17:09 2011 +0200 Fix a typo in ThunarShortcutsModel; load model data after construction. This fixes a bug where shortcuts would not show up in new windows. thunar/thunar-shortcut-row.c | 2 -- thunar/thunar-shortcuts-model.c | 4 +--- thunar/thunar-shortcuts-view.c | 31 +++++++++++++++++++++---------- 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/thunar/thunar-shortcut-row.c b/thunar/thunar-shortcut-row.c index 8ae62ae..756fb79 100644 --- a/thunar/thunar-shortcut-row.c +++ b/thunar/thunar-shortcut-row.c @@ -1182,8 +1182,6 @@ thunar_shortcut_row_label_changed (ThunarShortcutRow *row) { _thunar_return_if_fail (THUNAR_IS_SHORTCUT_ROW (row)); - g_debug ("label changed: %s", row->label); - /* update the label widget */ gtk_label_set_markup (GTK_LABEL (row->label_widget), row->label); gtk_widget_set_visible (row->label_widget, row->label != NULL && *row->label != '\0'); diff --git a/thunar/thunar-shortcuts-model.c b/thunar/thunar-shortcuts-model.c index 6ddb5f7..cd7c91a 100644 --- a/thunar/thunar-shortcuts-model.c +++ b/thunar/thunar-shortcuts-model.c @@ -634,7 +634,7 @@ thunar_shortcuts_model_iter_children (GtkTreeModel *tree_model, (*iter).stamp = model->stamp; #endif (*iter).user_data = GINT_TO_POINTER (category_index); - (*iter).user_data = GINT_TO_POINTER (0); + (*iter).user_data2 = GINT_TO_POINTER (0); return TRUE; } } @@ -1631,8 +1631,6 @@ thunar_shortcuts_model_mount_added (ThunarShortcutsModel *model, location = g_mount_get_root (mount); eject_icon = g_themed_icon_new ("media-eject"); - g_debug ("mount added: %s", g_mount_get_name (mount)); - /* create a shortcut for the mount */ shortcut = g_object_new (THUNAR_TYPE_SHORTCUT, "shortcut-type", THUNAR_SHORTCUT_STANDALONE_MOUNT, diff --git a/thunar/thunar-shortcuts-view.c b/thunar/thunar-shortcuts-view.c index 3991c63..fcba86f 100644 --- a/thunar/thunar-shortcuts-view.c +++ b/thunar/thunar-shortcuts-view.c @@ -253,11 +253,14 @@ thunar_shortcuts_view_constructed (GObject *object) { ThunarShortcutsView *view = THUNAR_SHORTCUTS_VIEW (object); GtkTreeIter iter; + GtkTreeIter child_iter; + GtkTreePath *path; const gchar *markup_format = "<span size='medium' weight='bold' color='#353535'>%s</span>"; GtkWidget *box; GtkWidget *expander; gboolean category; gboolean valid_iter = FALSE; + gboolean valid_child = FALSE; gchar *markup; gchar *name; @@ -272,9 +275,7 @@ thunar_shortcuts_view_constructed (GObject *object) valid_iter = gtk_tree_model_get_iter_first (view->model, &iter); while (valid_iter) { - /* TODO read values from the row and create an expander, - * shortcut row or drop placeholder, depending on the - * row values */ + /* read category information from the model */ gtk_tree_model_get (view->model, &iter, THUNAR_SHORTCUTS_MODEL_COLUMN_CATEGORY, &category, THUNAR_SHORTCUTS_MODEL_COLUMN_NAME, &name, @@ -300,13 +301,23 @@ thunar_shortcuts_view_constructed (GObject *object) box = gtk_vbox_new (TRUE, 0); gtk_container_add (GTK_CONTAINER (expander), box); gtk_widget_show (box); - } - else - { - /* we will have to implement this at some point but right now, the - * model data is loaded in an idle handler, so there is no data other - * than categories during construction */ - _thunar_assert_not_reached (); + + /* check if the categories has any entries */ + valid_child = gtk_tree_model_iter_children (view->model, &child_iter, &iter); + while (valid_child) + { + /* create a tree path for the shortcut */ + path = gtk_tree_model_get_path (view->model, &child_iter); + + /* add the shortcut */ + thunar_shortcuts_view_row_inserted (view, path, &child_iter, view->model); + + /* release the path */ + gtk_tree_path_free (path); + + /* advance to the next child row */ + valid_child = gtk_tree_model_iter_next (view->model, &child_iter); + } } /* advance to the next row */ _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits