1. Fix sending files with bluetooth-sendto 2. remove filter from files browser 3. Implement file browser using obexfs and rox filer using helper. 4. Implement bluetooth receiver using obexd and rox filer helper. James 2015 diff -ur gnome-bluetooth-2.32.0-old/applet/main.c gnome-bluetooth-2.32.0/applet/main.c --- gnome-bluetooth-2.32.0-old/applet/main.c 2010-09-28 20:55:18.000000000 +0700 +++ gnome-bluetooth-2.32.0/applet/main.c 2015-04-15 13:37:24.000000000 +0700 @@ -136,10 +136,12 @@ void browse_callback(GObject *widget, gpointer user_data) { - GFile *file; - char *address, *uri; + char *address; + char *alias; address = g_strdup (g_object_get_data (widget, "address")); + alias = g_strdup (g_object_get_data (widget, "alias")); + if (alias==NULL) alias = g_strdup(""); if (address == NULL) { GtkWidget *dialog, *selector, *content_area; int response_id; @@ -164,8 +166,8 @@ "show-searching", FALSE, "show-device-category", FALSE, "show-device-type", TRUE, - "device-category-filter", BLUETOOTH_CATEGORY_PAIRED_OR_TRUSTED, - "device-service-filter", "OBEXFileTransfer", + //"device-category-filter", BLUETOOTH_CATEGORY_PAIRED_OR_TRUSTED, + //"device-service-filter", "OBEXFileTransfer", NULL); g_signal_connect(selector, "selected-device-changed", G_CALLBACK(select_device_changed), dialog); @@ -182,14 +184,33 @@ return; } - uri = g_strdup_printf ("obex://[%s]/", address); - g_free (address); + GPtrArray *a; + GError *err = NULL; + guint i; - file = g_file_new_for_uri (uri); - g_free (uri); + a = g_ptr_array_new (); + g_ptr_array_add (a, "bluetooth-browser"); + if (address != NULL) { + char *s; + s = g_strdup_printf ("%s", address); + g_ptr_array_add (a, s); + s = g_strdup_printf ("%s", alias); + g_ptr_array_add (a, s); + } + g_ptr_array_add (a, NULL); - g_file_mount_enclosing_volume (file, G_MOUNT_MOUNT_NONE, NULL, NULL, mount_finish_cb, NULL); - g_object_unref (file); + if (g_spawn_async(NULL, (char **) a->pdata, NULL, + G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &err) == FALSE) { + g_printerr("Couldn't execute command: %s\n", err->message); + g_error_free (err); + } + + for (i = 1; a->pdata[i] != NULL; i++) + g_free (a->pdata[i]); + + g_ptr_array_free (a, TRUE); + g_free (address); + g_free (alias); } void sendto_callback(GObject *widget, gpointer user_data) @@ -207,13 +228,13 @@ if (address != NULL) { char *s; - s = g_strdup_printf ("--device=\"%s\"", address); + s = g_strdup_printf ("--device=%s", address); g_ptr_array_add (a, s); } if (address != NULL && alias != NULL) { char *s; - s = g_strdup_printf ("--name=\"%s\"", alias); + s = g_strdup_printf ("--name=%s", alias); g_ptr_array_add (a, s); } g_ptr_array_add (a, NULL); diff -ur gnome-bluetooth-2.32.0-old/properties/main.c gnome-bluetooth-2.32.0/properties/main.c --- gnome-bluetooth-2.32.0-old/properties/main.c 2010-09-28 20:55:20.000000000 +0700 +++ gnome-bluetooth-2.32.0/properties/main.c 2015-04-15 13:32:17.000000000 +0700 @@ -78,7 +78,7 @@ receive_callback (GtkWidget *item, GtkWindow *window) { GtkWidget *dialog; - const char *command = "gnome-file-share-properties"; + const char *command = "bluetooth-receiver"; if (!g_spawn_command_line_async(command, NULL)) { /* translators: @@ -87,12 +87,12 @@ GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, - _("Cannot start \"Personal File Sharing\" Preferences")); + _("Cannot start bluetooth-receiver")); /* translators: * This is the name of the preferences dialogue for gnome-user-share */ gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), - _("Please verify that the \"Personal File Sharing\" program is correctly installed.")); + _("Please verify that the bluetooth-receiver and obexd is correctly installed.")); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog);