Blob Blame History Raw
diff --git a/src/caja-places-sidebar.c b/src/caja-places-sidebar.c
index d176ad4..81ea95a 100644
--- a/src/caja-places-sidebar.c
+++ b/src/caja-places-sidebar.c
@@ -149,9 +149,9 @@ enum
 } PlaceType;
 
 typedef enum {
+    SECTION_COMPUTER,
     SECTION_DEVICES,
     SECTION_BOOKMARKS,
-    SECTION_COMPUTER,
     SECTION_NETWORK,
 } SectionType;
 
@@ -489,6 +489,120 @@ static GtkTreeModel *caja_shortcuts_model_filter_new (CajaPlacesSidebar *sidebar
 
     volume_monitor = sidebar->volume_monitor;
 
+    /* COMPUTER */
+    last_iter = add_heading (sidebar, SECTION_COMPUTER,
+                             _("Computer"));
+
+    /* add built in bookmarks */
+    desktop_path = caja_get_desktop_directory ();
+
+    /* home folder */
+    if (strcmp (g_get_home_dir(), desktop_path) != 0) {
+        char *display_name;
+
+        mount_uri = caja_get_home_directory_uri ();
+        display_name = g_filename_display_basename (g_get_home_dir ());
+        icon = g_themed_icon_new (CAJA_ICON_HOME);
+        last_iter = add_place (sidebar, PLACES_BUILT_IN,
+                               SECTION_COMPUTER,
+                               display_name, icon,
+                               mount_uri, NULL, NULL, NULL, 0,
+                               _("Open your personal folder"));
+        g_object_unref (icon);
+        g_free (display_name);
+        compare_for_selection (sidebar,
+                               location, mount_uri, last_uri,
+                               &last_iter, &select_path);
+        g_free (mount_uri);
+    }
+
+    /* desktop */
+    mount_uri = g_filename_to_uri (desktop_path, NULL, NULL);
+    icon = g_themed_icon_new (CAJA_ICON_DESKTOP);
+    last_iter = add_place (sidebar, PLACES_BUILT_IN,
+                           SECTION_COMPUTER,
+                           _("Desktop"), icon,
+                           mount_uri, NULL, NULL, NULL, 0,
+                           _("Open the contents of your desktop in a folder"));
+    g_object_unref (icon);
+    compare_for_selection (sidebar,
+                           location, mount_uri, last_uri,
+                           &last_iter, &select_path);
+    g_free (mount_uri);
+    g_free (desktop_path);
+
+    /* file system root */
+    mount_uri = "file:///"; /* No need to strdup */
+    icon = g_themed_icon_new (CAJA_ICON_FILESYSTEM);
+    last_iter = add_place (sidebar, PLACES_BUILT_IN,
+                           SECTION_COMPUTER,
+                           _("File System"), icon,
+                           mount_uri, NULL, NULL, NULL, 0,
+                           _("Open the contents of the File System"));
+    g_object_unref (icon);
+    compare_for_selection (sidebar,
+                           location, mount_uri, last_uri,
+                           &last_iter, &select_path);
+
+    
+    /* XDG directories */
+    xdg_dirs = NULL;
+    for (index = 0; index < G_USER_N_DIRECTORIES; index++) {
+
+        if (index == G_USER_DIRECTORY_DESKTOP ||
+            index == G_USER_DIRECTORY_TEMPLATES ||
+            index == G_USER_DIRECTORY_PUBLIC_SHARE) {
+            continue;
+        }
+
+        path = g_get_user_special_dir (index);
+
+        /* xdg resets special dirs to the home directory in case
+         * it's not finiding what it expects. We don't want the home
+         * to be added multiple times in that weird configuration.
+         */
+        if (path == NULL
+            || g_strcmp0 (path, g_get_home_dir ()) == 0
+            || g_list_find_custom (xdg_dirs, path, (GCompareFunc) g_strcmp0) != NULL) {
+            continue;
+        }
+
+        root = g_file_new_for_path (path);
+        name = g_file_get_basename (root);
+        icon = caja_user_special_directory_get_gicon (index);
+        mount_uri = g_file_get_uri (root);
+        tooltip = g_file_get_parse_name (root);
+
+        last_iter = add_place (sidebar, PLACES_BUILT_IN,
+                               SECTION_COMPUTER,
+                               name, icon, mount_uri,
+                               NULL, NULL, NULL, 0,
+                               tooltip);
+        compare_for_selection (sidebar,
+                               location, mount_uri, last_uri,
+                               &last_iter, &select_path);
+        g_free (name);
+        g_object_unref (root);
+        g_object_unref (icon);
+        g_free (mount_uri);
+        g_free (tooltip);
+
+        xdg_dirs = g_list_prepend (xdg_dirs, (char *)path);
+    }
+    g_list_free (xdg_dirs);
+
+    mount_uri = "trash:///"; /* No need to strdup */
+    icon = caja_trash_monitor_get_icon ();
+    last_iter = add_place (sidebar, PLACES_BUILT_IN,
+                           SECTION_COMPUTER,
+                           _("Trash"), icon, mount_uri,
+                           NULL, NULL, NULL, 0,
+                           _("Open the trash"));
+    compare_for_selection (sidebar,
+                           location, mount_uri, last_uri,
+                           &last_iter, &select_path);
+    g_object_unref (icon);
+
     /* first go through all connected drives */
     drives = g_volume_monitor_get_connected_drives (volume_monitor);
 
@@ -631,146 +745,6 @@ static GtkTreeModel *caja_shortcuts_model_filter_new (CajaPlacesSidebar *sidebar
     }
     g_list_free (volumes);
 
-    /* add bookmarks */
-    bookmark_count = caja_bookmark_list_length (sidebar->bookmarks);
-
-    for (index = 0; index < bookmark_count; ++index) {
-        bookmark = caja_bookmark_list_item_at (sidebar->bookmarks, index);
-
-        if (caja_bookmark_uri_known_not_to_exist (bookmark)) {
-            continue;
-        }
-
-        root = caja_bookmark_get_location (bookmark);
-        file = caja_file_get (root);
-
-        if (is_built_in_bookmark (file)) {
-            g_object_unref (root);
-            caja_file_unref (file);
-            continue;
-        }
-
-        name = caja_bookmark_get_name (bookmark);
-        icon = caja_bookmark_get_icon (bookmark);
-        mount_uri = caja_bookmark_get_uri (bookmark);
-        tooltip = g_file_get_parse_name (root);
-
-        last_iter = add_place (sidebar, PLACES_BOOKMARK,
-                               SECTION_BOOKMARKS,
-                               name, icon, mount_uri,
-                               NULL, NULL, NULL, index,
-                               tooltip);
-        compare_for_selection (sidebar,
-                               location, mount_uri, last_uri,
-                               &last_iter, &select_path);
-        g_free (name);
-        g_object_unref (root);
-        g_object_unref (icon);
-        g_free (mount_uri);
-        g_free (tooltip);
-    }
-
-    last_iter = add_heading (sidebar, SECTION_COMPUTER,
-                             _("Computer"));
-
-    /* add built in bookmarks */
-    desktop_path = caja_get_desktop_directory ();
-
-    /* home folder */
-    if (strcmp (g_get_home_dir(), desktop_path) != 0) {
-        char *display_name;
-
-        mount_uri = caja_get_home_directory_uri ();
-        display_name = g_filename_display_basename (g_get_home_dir ());
-        icon = g_themed_icon_new (CAJA_ICON_HOME);
-        last_iter = add_place (sidebar, PLACES_BUILT_IN,
-                               SECTION_COMPUTER,
-                               display_name, icon,
-                               mount_uri, NULL, NULL, NULL, 0,
-                               _("Open your personal folder"));
-        g_object_unref (icon);
-        g_free (display_name);
-        compare_for_selection (sidebar,
-                               location, mount_uri, last_uri,
-                               &last_iter, &select_path);
-        g_free (mount_uri);
-    }
-
-    /* desktop */
-    mount_uri = g_filename_to_uri (desktop_path, NULL, NULL);
-    icon = g_themed_icon_new (CAJA_ICON_DESKTOP);
-    last_iter = add_place (sidebar, PLACES_BUILT_IN,
-                           SECTION_COMPUTER,
-                           _("Desktop"), icon,
-                           mount_uri, NULL, NULL, NULL, 0,
-                           _("Open the contents of your desktop in a folder"));
-    g_object_unref (icon);
-    compare_for_selection (sidebar,
-                           location, mount_uri, last_uri,
-                           &last_iter, &select_path);
-    g_free (mount_uri);
-    g_free (desktop_path);
-
-    /* file system root */
-    mount_uri = "file:///"; /* No need to strdup */
-    icon = g_themed_icon_new (CAJA_ICON_FILESYSTEM);
-    last_iter = add_place (sidebar, PLACES_BUILT_IN,
-                           SECTION_COMPUTER,
-                           _("File System"), icon,
-                           mount_uri, NULL, NULL, NULL, 0,
-                           _("Open the contents of the File System"));
-    g_object_unref (icon);
-    compare_for_selection (sidebar,
-                           location, mount_uri, last_uri,
-                           &last_iter, &select_path);
-
-    
-    /* XDG directories */
-    xdg_dirs = NULL;
-    for (index = 0; index < G_USER_N_DIRECTORIES; index++) {
-
-        if (index == G_USER_DIRECTORY_DESKTOP ||
-            index == G_USER_DIRECTORY_TEMPLATES ||
-            index == G_USER_DIRECTORY_PUBLIC_SHARE) {
-            continue;
-        }
-
-        path = g_get_user_special_dir (index);
-
-        /* xdg resets special dirs to the home directory in case
-         * it's not finiding what it expects. We don't want the home
-         * to be added multiple times in that weird configuration.
-         */
-        if (path == NULL
-            || g_strcmp0 (path, g_get_home_dir ()) == 0
-            || g_list_find_custom (xdg_dirs, path, (GCompareFunc) g_strcmp0) != NULL) {
-            continue;
-        }
-
-        root = g_file_new_for_path (path);
-        name = g_file_get_basename (root);
-        icon = caja_user_special_directory_get_gicon (index);
-        mount_uri = g_file_get_uri (root);
-        tooltip = g_file_get_parse_name (root);
-
-        last_iter = add_place (sidebar, PLACES_BUILT_IN,
-                               SECTION_COMPUTER,
-                               name, icon, mount_uri,
-                               NULL, NULL, NULL, 0,
-                               tooltip);
-        compare_for_selection (sidebar,
-                               location, mount_uri, last_uri,
-                               &last_iter, &select_path);
-        g_free (name);
-        g_object_unref (root);
-        g_object_unref (icon);
-        g_free (mount_uri);
-        g_free (tooltip);
-
-        xdg_dirs = g_list_prepend (xdg_dirs, (char *)path);
-    }
-    g_list_free (xdg_dirs);
-
     /* add mounts that has no volume (/etc/mtab mounts, ftp, sftp,...) */
     network_mounts = NULL;
     mounts = g_volume_monitor_get_mounts (volume_monitor);
@@ -817,17 +791,45 @@ static GtkTreeModel *caja_shortcuts_model_filter_new (CajaPlacesSidebar *sidebar
     }
     g_list_free (mounts);
 
-    mount_uri = "trash:///"; /* No need to strdup */
-    icon = caja_trash_monitor_get_icon ();
-    last_iter = add_place (sidebar, PLACES_BUILT_IN,
-                           SECTION_COMPUTER,
-                           _("Trash"), icon, mount_uri,
-                           NULL, NULL, NULL, 0,
-                           _("Open the trash"));
-    compare_for_selection (sidebar,
-                           location, mount_uri, last_uri,
-                           &last_iter, &select_path);
-    g_object_unref (icon);
+
+    /* add bookmarks */
+    bookmark_count = caja_bookmark_list_length (sidebar->bookmarks);
+
+    for (index = 0; index < bookmark_count; ++index) {
+        bookmark = caja_bookmark_list_item_at (sidebar->bookmarks, index);
+
+        if (caja_bookmark_uri_known_not_to_exist (bookmark)) {
+            continue;
+        }
+
+        root = caja_bookmark_get_location (bookmark);
+        file = caja_file_get (root);
+
+        if (is_built_in_bookmark (file)) {
+            g_object_unref (root);
+            caja_file_unref (file);
+            continue;
+        }
+
+        name = caja_bookmark_get_name (bookmark);
+        icon = caja_bookmark_get_icon (bookmark);
+        mount_uri = caja_bookmark_get_uri (bookmark);
+        tooltip = g_file_get_parse_name (root);
+
+        last_iter = add_place (sidebar, PLACES_BOOKMARK,
+                               SECTION_BOOKMARKS,
+                               name, icon, mount_uri,
+                               NULL, NULL, NULL, index,
+                               tooltip);
+        compare_for_selection (sidebar,
+                               location, mount_uri, last_uri,
+                               &last_iter, &select_path);
+        g_free (name);
+        g_object_unref (root);
+        g_object_unref (icon);
+        g_free (mount_uri);
+        g_free (tooltip);
+    }
 
     /* network */
     last_iter = add_heading (sidebar, SECTION_NETWORK,
@@ -3095,7 +3097,7 @@ static GtkTreeModel *caja_shortcuts_model_filter_new (CajaPlacesSidebar *sidebar
         g_object_set (cell,
                       "visible", TRUE,
                       "xpad", 3,
-                      "ypad", 3,
+                      "ypad", 0,
                       NULL);
     }
 }
@@ -3164,7 +3166,7 @@ static GtkTreeModel *caja_shortcuts_model_filter_new (CajaPlacesSidebar *sidebar
     g_object_set (cell,
                   "weight", PANGO_WEIGHT_BOLD,
                   "weight-set", TRUE,
-                  "ypad", 6,
+                  "ypad", 1,
                   "xpad", 0,
                   NULL);
     gtk_tree_view_column_set_cell_data_func (col, cell,