diff --git a/libnemo-private/nemo-global-preferences.h b/libnemo-private/nemo-global-preferences.h
index 0b0d1dd94..de67c0093 100644
--- a/libnemo-private/nemo-global-preferences.h
+++ b/libnemo-private/nemo-global-preferences.h
@@ -78,6 +78,13 @@ typedef enum
#define NEMO_PREFERENCES_NEW_TAB_POSITION "tabs-open-position"
#define NEMO_PREFERENCES_SHOW_LOCATION_ENTRY "show-location-entry"
+#define NEMO_PREFERENCES_SHOW_UP_ICON_TOOLBAR "show-up-icon-toolbar"
+#define NEMO_PREFERENCES_SHOW_EDIT_ICON_TOOLBAR "show-edit-icon-toolbar"
+#define NEMO_PREFERENCES_SHOW_RELOAD_ICON_TOOLBAR "show-reload-icon-toolbar"
+#define NEMO_PREFERENCES_SHOW_HOME_ICON_TOOLBAR "show-home-icon-toolbar"
+#define NEMO_PREFERENCES_SHOW_COMPUTER_ICON_TOOLBAR "show-computer-icon-toolbar"
+#define NEMO_PREFERENCES_SHOW_SEARCH_ICON_TOOLBAR "show-search-icon-toolbar"
+#define NEMO_PREFERENCES_SHOW_LABEL_SEARCH_ICON_TOOLBAR "show-label-search-icon-toolbar"
/* Which views should be displayed for new windows */
#define NEMO_WINDOW_STATE_START_WITH_STATUS_BAR "start-with-status-bar"
diff --git a/libnemo-private/nemo-icon-names.h b/libnemo-private/nemo-icon-names.h
index b5dfdbede..ab34861a4 100644
--- a/libnemo-private/nemo-icon-names.h
+++ b/libnemo-private/nemo-icon-names.h
@@ -4,7 +4,7 @@
/* Icons for places */
#define NEMO_ICON_COMPUTER "computer"
#define NEMO_ICON_DESKTOP "user-desktop"
-#define NEMO_ICON_FILESYSTEM "drive-harddisk-system"
+#define NEMO_ICON_FILESYSTEM "drive-harddisk"
#define NEMO_ICON_FOLDER "folder"
#define NEMO_ICON_FOLDER_REMOTE "folder-remote"
#define NEMO_ICON_HOME "user-home"
diff --git a/libnemo-private/nemo.convert b/libnemo-private/nemo.convert
index e4a2ac83c..39b542b10 100644
--- a/libnemo-private/nemo.convert
+++ b/libnemo-private/nemo.convert
@@ -2,6 +2,13 @@
tabs-open-position = /desktop/gnome/file_views/tabs_open_position
always-use-browser = /apps/nemo/preferences/always_use_browser
always-use-location-entry = /apps/nemo/preferences/always_use_location_entry
+show-up-icon-toolbar = /apps/nemo/preferences/show-up-icon-toolbar
+show-edit-icon-toolbar = /apps/nemo/preferences/show-edit-icon-toolbar
+show-reload-icon-toolbar = /apps/nemo/preferences/show-reload-icon-toolbar
+show-home-icon-toolbar = /apps/nemo/preferences/show-home-icon-toolbar
+show-computer-icon-toolbar = /apps/nemo/preferences/show-computer-icon-toolbar
+show-search-icon-toolbar = /apps/nemo/preferences/show-search-icon-toolbar
+show-label-search-icon-toolbar = /apps/nemo/preferences/show-label-search-icon-toolbar
confirm-trash = /apps/nemo/preferences/confirm_trash
enable-delete = /apps/nemo/preferences/enable_delete
show-icon-text = /apps/nemo/preferences/show_icon_text
diff --git a/libnemo-private/org.gnome.nemo.gschema.xml.in b/libnemo-private/org.gnome.nemo.gschema.xml.in
index 4118c927f..6aa0bf43d 100644
--- a/libnemo-private/org.gnome.nemo.gschema.xml.in
+++ b/libnemo-private/org.gnome.nemo.gschema.xml.in
@@ -82,6 +82,41 @@
<_summary>Show the location entry by default
<_description>If set to true, then Nemo browser windows will show a textual input entry for the location toolbar.
+
+ false
+ Show Up button in nemo toolbar
+ If set to true, then Nemo browser windows will show the button.
+
+
+ false
+ Show refresh button in nemo toolbar
+ If set to true, then Nemo browser windows will show the button.
+
+
+ false
+ Show toggle button location entry/pathbar
+ If set to true, then Nemo browser windows will show the button.
+
+
+ false
+ Show Home button in nemo toolbar
+ If set to true, then Nemo browser windows will show the button.
+
+
+ false
+ Show Computer button in nemo toolbar
+ If set to true, then Nemo browser windows will show the button.
+
+
+ true
+ Show Search button in nemo toolbar
+ If set to true, then Nemo browser windows will show the button.
+
+
+ true
+ Show the Search button label in nemo toolbar
+ If set to true, then Nemo browser windows will show the Search label button.
+
true
<_summary>Whether to ask for confirmation when deleting files, or emptying Trash
diff --git a/src/nemo-actions.h b/src/nemo-actions.h
index e9deec4d7..9c9bdef4a 100644
--- a/src/nemo-actions.h
+++ b/src/nemo-actions.h
@@ -29,6 +29,7 @@
#define NEMO_ACTION_STOP "Stop"
#define NEMO_ACTION_RELOAD "Reload"
#define NEMO_ACTION_BACK "Back"
+#define NEMO_ACTION_COMPUTER "Computer"
#define NEMO_ACTION_UP "Up"
#define NEMO_ACTION_UP_ACCEL "UpAccel"
#define NEMO_ACTION_UP_ACCEL "UpAccel"
@@ -44,6 +45,7 @@
#define NEMO_ACTION_GO_HOME "Home"
#define NEMO_ACTION_ADD_BOOKMARK "Add Bookmark"
#define NEMO_ACTION_EDIT_BOOKMARKS "Edit Bookmarks"
+#define NEMO_ACTION_EDIT "Edit"
#define NEMO_ACTION_HOME "Home"
#define NEMO_ACTION_ZOOM_IN "Zoom In"
#define NEMO_ACTION_ZOOM_OUT "Zoom Out"
@@ -115,6 +117,8 @@
#define NEMO_ACTION_LOCATION_STOP_VOLUME "Location Stop Volume"
#define NEMO_ACTION_LOCATION_POLL "Location Poll"
#define NEMO_ACTION_SCRIPTS "Scripts"
+#define NEMO_ACTION_NEW_LAUNCHER "New Launcher"
+#define NEMO_ACTION_NEW_LAUNCHER_DESKTOP "New Launcher"
#define NEMO_ACTION_NEW_DOCUMENTS "New Documents"
#define NEMO_ACTION_NEW_EMPTY_DOCUMENT "New Empty Document"
#define NEMO_ACTION_EMPTY_TRASH_CONDITIONAL "Empty Trash Conditional"
diff --git a/src/nemo-desktop-icon-view-ui.xml b/src/nemo-desktop-icon-view-ui.xml
index 9735b0c01..d437801de 100644
--- a/src/nemo-desktop-icon-view-ui.xml
+++ b/src/nemo-desktop-icon-view-ui.xml
@@ -4,6 +4,7 @@
+
diff --git a/src/nemo-desktop-icon-view.c b/src/nemo-desktop-icon-view.c
index e4d220f0c..947fd81b0 100644
--- a/src/nemo-desktop-icon-view.c
+++ b/src/nemo-desktop-icon-view.c
@@ -666,6 +666,23 @@ action_empty_trash_conditional_callback (GtkAction *action,
nemo_file_operations_empty_trash (GTK_WIDGET (data));
}
+static void
+action_new_launcher_callback (GtkAction *action, gpointer data)
+{
+ char *desktop_directory;
+
+ g_assert (NEMO_IS_VIEW (data));
+
+ desktop_directory = nemo_get_desktop_directory ();
+
+ nemo_launch_application_from_command (gtk_widget_get_screen (GTK_WIDGET (data)),
+ "gnome-desktop-item-edit",
+ FALSE,
+ "--create-new", desktop_directory, NULL);
+ g_free (desktop_directory);
+
+}
+
static gboolean
trash_link_is_selection (NemoView *view)
{
@@ -709,6 +726,13 @@ real_update_menus (NemoView *view)
desktop_view = NEMO_DESKTOP_ICON_VIEW (view);
+
+ /* New Launcher */
+ action = gtk_action_group_get_action (desktop_view->details->desktop_action_group,
+ NEMO_ACTION_NEW_LAUNCHER_DESKTOP);
+ gtk_action_set_visible (action,
+ TRUE);
+
/* Empty Trash */
include_empty_trash = trash_link_is_selection (view);
action = gtk_action_group_get_action (desktop_view->details->desktop_action_group,
@@ -726,6 +750,13 @@ real_update_menus (NemoView *view)
static const GtkActionEntry desktop_view_entries[] = {
/* name, stock id */
+ { "New Launcher Desktop", NULL,
+ /* label, accelerator */
+ N_("Create L_auncher..."), NULL,
+ /* tooltip */
+ N_("Create a new launcher"),
+ G_CALLBACK (action_new_launcher_callback) },
+ /* name, stock id */
{ "Change Background", NULL,
/* label, accelerator */
N_("Change Desktop _Background"), NULL,
diff --git a/src/nemo-directory-view-ui.xml b/src/nemo-directory-view-ui.xml
index 30dc7e200..e477dd8c4 100644
--- a/src/nemo-directory-view-ui.xml
+++ b/src/nemo-directory-view-ui.xml
@@ -98,6 +98,7 @@
+