[mate-file-manager] add mate-file-manager_rearranged-caja-sidebar-to-1.4-style.patch

Wolfgang Ulbrich raveit65 at fedoraproject.org
Tue Oct 8 17:09:03 UTC 2013


commit 52a70cd0e33ac094e842a48a779e8876235db649
Author: raveit65 <chat-to-me at raveit.de>
Date:   Tue Oct 8 19:08:46 2013 +0200

    add mate-file-manager_rearranged-caja-sidebar-to-1.4-style.patch

 ...ager_rearranged-caja-sidebar-to-1.4-style.patch |  359 ++++++++++++++++++++
 1 files changed, 359 insertions(+), 0 deletions(-)
---
diff --git a/mate-file-manager_rearranged-caja-sidebar-to-1.4-style.patch b/mate-file-manager_rearranged-caja-sidebar-to-1.4-style.patch
new file mode 100644
index 0000000..b915e31
--- /dev/null
+++ b/mate-file-manager_rearranged-caja-sidebar-to-1.4-style.patch
@@ -0,0 +1,359 @@
+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,
+


More information about the scm-commits mailing list