[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