Re: [BlueZ-Announce] Release of bluez-gnome-0.26

Bastien Nocera <[email protected]>
Newsgroups gmane.linux.bluez.devel
Message-ID <[email protected]>
On Sun, 2008-04-06 at 03:47 +0200, Marcel Holtmann wrote:
> Hi Folks,
> 
> this is the twenty-sixth release of the gnome package for BlueZ. It
> contains a new version of the sendto application and translation
> updates.
> 
> The sources can be found at http://www.bluez.org/download.html

Another patch. This one gives you a better error message when you have a
Palm device, as well as changing the "ETA" message to match that of
Nautilus.

Cheers

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Register now and save $200. Hurry, offer ends at 11:59 p.m., 
Monday, April 7! Use priority code J8TLD2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone

_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
bluez-gnome-sendto-palm.patch (text/x-patch, 3 KB)
Index: sendto/dialog.h
===================================================================
RCS file: /cvsroot/bluez/gnome/sendto/dialog.h,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 dialog.h
--- sendto/dialog.h	5 Apr 2008 23:59:11 -0000	1.2
+++ sendto/dialog.h	8 Apr 2008 15:53:07 -0000
@@ -21,5 +21,7 @@
  *
  */
 
+#include <glib.h>
+
 gchar *show_browse_dialog(void);
 gchar **show_select_dialog(void);
Index: sendto/main.c
===================================================================
RCS file: /cvsroot/bluez/gnome/sendto/main.c,v
retrieving revision 1.27
diff -u -p -u -p -r1.27 main.c
--- sendto/main.c	6 Apr 2008 01:26:23 -0000	1.27
+++ sendto/main.c	8 Apr 2008 15:53:08 -0000
@@ -78,6 +78,13 @@ static void response_callback(GtkWidget 
 	gtk_main_quit();
 }
 
+static gboolean is_palm_device(const gchar *bdaddr)
+{
+	return (g_str_has_prefix(bdaddr, "00:04:6B")
+		|| g_str_has_prefix(bdaddr, "00:07:E0")
+		|| g_str_has_prefix(bdaddr, "00:0E:20"));
+}
+
 static void create_window(void)
 {
 	GtkWidget *vbox;
@@ -260,15 +267,15 @@ static void transfer_progress(DBusGProxy
 	remaining_time = (total_size - current_sent) / transfer_rate;
 
 	if (remaining_time >= 3600)
-		time = g_strdup_printf(_("ETA %d:%02d:%02d"),
+		time = g_strdup_printf(_("%d:%02d:%02d Remaining"),
 					remaining_time / 3600,
 					(remaining_time % 3600) / 60,
 					(remaining_time % 3600) % 60);
 	else
-		time = g_strdup_printf(_("ETA %d:%02d"),
+		time = g_strdup_printf(_("%d:%02d Remaining"),
 				remaining_time / 60, remaining_time % 60);
 
-	if (transfer_rate >= 1000)
+	if (transfer_rate >= 3000)
 		rate = g_strdup_printf(_("%d KB/s"), transfer_rate / 1000);
 	else
 		rate = g_strdup_printf(_("%d B/s"), transfer_rate);
@@ -312,6 +319,29 @@ static void session_connected(DBusGProxy
 	send_file(proxy);
 }
 
+static gchar *get_error_message(GError *error)
+{
+	char *message;
+
+	if (error != NULL) {
+		const gchar *error_name;
+
+		if (error && error->code == DBUS_GERROR_REMOTE_EXCEPTION)
+			error_name = dbus_g_error_get_name(error);
+		else
+			error_name = NULL;
+
+		if (error_name && !strcmp(error_name, "org.openobex.Error.ConnectionAttemptFailed") && is_palm_device(option_device)) {
+			message = g_strdup (_("Make sure that remote device is on and that it accepts Bluetooth connections."));
+		} else {
+			message = g_strdup(error->message);
+		}
+	} else
+		message = g_strdup(_("An unknown error occured"));
+
+	return message;
+}
+
 static void create_notify(DBusGProxy *proxy,
 				DBusGProxyCall *call, void *user_data)
 {
@@ -323,12 +353,9 @@ static void create_notify(DBusGProxy *pr
 						G_TYPE_INVALID) == FALSE) {
 		gchar *text, *message;
 
-		if (error != NULL) {
-			message = g_strdup(error->message);
+		message = get_error_message(error);
+		if (error != NULL)
 			g_error_free(error);
-		} else
-			message = g_strdup(_("An unknown error occured"));
-
 		text = g_strdup_printf("<span foreground=\"red\">%s</span>",
 								message);
 		gtk_label_set_markup(GTK_LABEL(label_status), text);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.