--- data/desktop_gnome_file_sharing.schemas.in.orig	2009-12-11 07:05:50.000000000 -0600
+++ data/desktop_gnome_file_sharing.schemas.in	2010-03-10 00:50:29.805363857 -0600
@@ -89,6 +89,17 @@
         <long>Whether to notify about newly received files.</long>
       </locale>
     </schema>
+    <schema>
+      <key>/schemas/desktop/gnome/file_sharing/downloads_share_bar</key>
+      <applyto>/desktop/gnome/file_sharing/downloads_share_bar</applyto>
+      <owner>gnome-user-share</owner>
+      <type>bool</type>
+      <default>true</default>
+      <locale name="C">
+        <short>Whether to display helper bar in nautilus.</short>
+        <long>Whether to display helper bar in nautilus for Downloads folder.</long>
+      </locale>
+    </schema>
   </schemalist>
 </gconfschemafile>

--- data/file-share-properties.ui.orig	2009-06-29 04:41:06.000000000 -0500
+++ data/file-share-properties.ui	2010-03-10 00:45:38.663545004 -0600
@@ -236,7 +236,7 @@
                     <child>
                       <object class="GtkTable" id="table3">
                         <property name="visible">True</property>
-                        <property name="n_rows">3</property>
+                        <property name="n_rows">4</property>
                         <property name="n_columns">2</property>
                         <property name="column_spacing">12</property>
                         <property name="row_spacing">6</property>
@@ -298,6 +298,23 @@
                             <property name="y_options"></property>
                           </packing>
                         </child>
+                        <child>
+                          <object class="GtkCheckButton" id="downloads_share_bar_check">
+                            <property name="label" translatable="yes">Display share bar in Downloads _folder</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="draw_indicator">True</property>
+                          </object>
+                          <packing>
+                            <property name="right_attach">2</property>
+                            <property name="top_attach">3</property>
+                            <property name="bottom_attach">4</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
+                          </packing>
+                        </child>
                       </object>
                     </child>
                   </object>
--- src/file-share-properties.c.orig	2009-12-11 07:05:50.000000000 -0600
+++ src/file-share-properties.c	2010-03-10 01:55:44.815363818 -0600
@@ -88,6 +88,7 @@
     GConfClient *client;
     gboolean enabled, bluetooth_enabled, bluetooth_write_enabled, require_pairing_enabled;
     gboolean bluetooth_obexpush_enabled, bluetooth_obexpush_notify;
+    gboolean downloads_share_bar_enabled;
     char *str;
     PasswordSetting password_setting;
     AcceptSetting accept_setting;
@@ -100,6 +101,7 @@
     GtkWidget *enable_obexpush_check;
     GtkWidget *accept_obexpush_combo;
     GtkWidget *notify_received_obexpush_check;
+    GtkWidget *downloads_share_bar_check;

     client = gconf_client_get_default ();

@@ -121,6 +123,9 @@
     bluetooth_obexpush_notify = gconf_client_get_bool (client,
     						       FILE_SHARING_BLUETOOTH_OBEXPUSH_NOTIFY,
     						       NULL);
+    downloads_share_bar_enabled = gconf_client_get_bool (client,
+    						       FILE_SHARING_BLUETOOTH_DOWNLOADS_SHARE_BAR_ENABLED,
+    						       NULL);

     str = gconf_client_get_string (client, FILE_SHARING_REQUIRE_PASSWORD, NULL);
     password_setting = password_setting_from_string (str);
@@ -139,6 +144,7 @@
     enable_obexpush_check = GTK_WIDGET (gtk_builder_get_object (builder, "enable_obexpush_check"));
     accept_obexpush_combo = GTK_WIDGET (gtk_builder_get_object (builder, "accept_obexpush_combo"));
     notify_received_obexpush_check = GTK_WIDGET (gtk_builder_get_object (builder, "notify_received_obexpush_check"));
+    downloads_share_bar_check = GTK_WIDGET (gtk_builder_get_object (builder, "downloads_share_bar_check"));

     /* Network */
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), enabled);
@@ -166,6 +172,12 @@
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (notify_received_obexpush_check),
     				  bluetooth_obexpush_notify);

+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (downloads_share_bar_check),
+    				  downloads_share_bar_enabled);
+
+    gtk_combo_box_set_active (GTK_COMBO_BOX (accept_obexpush_combo),
+    			      accept_setting);
+
     gtk_combo_box_set_active (GTK_COMBO_BOX (accept_obexpush_combo),
     			      accept_setting);

@@ -245,6 +257,15 @@
 }

 static void
+file_sharing_bluetooth_downloads_share_bar_changed (GConfClient* client,
+						guint cnxn_id,
+						GConfEntry *entry,
+						gpointer data)
+{
+	update_ui ();
+}
+
+static void
 password_combo_changed (GtkComboBox *combo_box)
 {
     GConfClient *client;
@@ -425,6 +446,24 @@
 	g_object_unref (client);
 }

+static void
+downloads_share_bar_check_toggled (GtkWidget *check)
+{
+	GConfClient *client;
+	gboolean enabled;
+
+	enabled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check));
+
+	client = gconf_client_get_default ();
+
+	gconf_client_set_bool (client,
+			       FILE_SHARING_BLUETOOTH_DOWNLOADS_SHARE_BAR_ENABLED,
+			       enabled,
+			       NULL);
+
+	g_object_unref (client);
+}
+
 static GtkWidget *
 error_dialog (const char *title,
 	      const char *reason,
@@ -496,16 +535,17 @@
     GtkWidget *enable_obexpush_check;
     GtkWidget *accept_obexpush_combo;
     GtkWidget *notify_received_obexpush_check;
+    GtkWidget *downloads_share_bar_check;
     GtkWidget *window;
     GtkListStore *store;
     GtkCellRenderer *cell;
     GtkTreeIter iter;
     UniqueApp *app;
     
     bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
     bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
     textdomain (GETTEXT_PACKAGE);
     
     gtk_init (&argc, &argv);

     app = unique_app_new ("org.gnome.user-share.properties", NULL);
@@ -550,6 +590,7 @@
     enable_obexpush_check = GTK_WIDGET (gtk_builder_get_object (builder, "enable_obexpush_check"));
     accept_obexpush_combo = GTK_WIDGET (gtk_builder_get_object (builder, "accept_obexpush_combo"));
     notify_received_obexpush_check = GTK_WIDGET (gtk_builder_get_object (builder, "notify_received_obexpush_check"));
+    downloads_share_bar_check = GTK_WIDGET (gtk_builder_get_object (builder, "downloads_share_bar_check"));

     store = gtk_list_store_new (1, G_TYPE_STRING);
     gtk_combo_box_set_model (GTK_COMBO_BOX (password_combo),
@@ -625,6 +666,8 @@
     		      "changed", G_CALLBACK (accept_obexpush_combo_changed), NULL);
     g_signal_connect (notify_received_obexpush_check,
     		      "toggled", G_CALLBACK (notify_received_obexpush_check_toggled), NULL);
+    g_signal_connect (downloads_share_bar_check,
+    		      "toggled", G_CALLBACK (downloads_share_bar_check_toggled), NULL);

     g_signal_connect (GTK_WIDGET (gtk_builder_get_object (builder, "close_button")),
 		      "clicked", G_CALLBACK (gtk_main_quit), NULL);
@@ -680,11 +723,17 @@
 			     NULL,
 			     NULL,
 			     NULL);
+    gconf_client_notify_add (client,
+    			     FILE_SHARING_BLUETOOTH_DOWNLOADS_SHARE_BAR_ENABLED,
+			     file_sharing_bluetooth_downloads_share_bar_changed,
+			     NULL,
+			     NULL,
+			     NULL);

     g_object_unref (client);

     gtk_widget_show (GTK_WIDGET (gtk_builder_get_object (builder, "user_share_dialog")));
     
     gtk_main ();

     return 0;

--- src/user_share-private.h.orig	2009-12-11 07:05:50.000000000 -0600
+++ src/user_share-private.h	2010-03-10 00:49:24.955424998 -0600
@@ -35,6 +35,7 @@
 #define FILE_SHARING_BLUETOOTH_REQUIRE_PAIRING FILE_SHARING_DIR "/bluetooth_require_pairing"
 #define FILE_SHARING_BLUETOOTH_OBEXPUSH_ACCEPT_FILES FILE_SHARING_DIR "/bluetooth_accept_files"
 #define FILE_SHARING_BLUETOOTH_OBEXPUSH_NOTIFY FILE_SHARING_DIR "/bluetooth_notify"
+#define FILE_SHARING_BLUETOOTH_DOWNLOADS_SHARE_BAR_ENABLED FILE_SHARING_DIR "/downloads_share_bar"

 typedef enum {
     PASSWORD_NEVER,
