Index: configure.in
===================================================================
RCS file: /cvsroot/bluez/gnome/configure.in,v
retrieving revision 1.30
diff -u -p -u -p -r1.30 configure.in
--- configure.in 9 Nov 2006 16:53:04 -0000 1.30
+++ configure.in 23 Dec 2006 22:07:13 -0000
@@ -57,6 +57,12 @@ PKG_CHECK_MODULES(NOTIFY, libnotify >= 0
AC_SUBST(NOTIFY_CFLAGS)
AC_SUBST(NOTIFY_LIBS)
+PKG_CHECK_MODULES(HAL, hal >= 0.5.8, [
+ AC_DEFINE(HAVE_HAL, 1, [Define to 1 if you have HAL support.])
+], AC_MSG_RESULT(no))
+AC_SUBST(HAL_CFLAGS)
+AC_SUBST(HAL_LIBS)
+
PKG_CHECK_MODULES(OPENOBEX, libopenobex-glib >= 1.4, dummy=yes, AC_MSG_RESULT(no))
AC_SUBST(OPENOBEX_CFLAGS)
AC_SUBST(OPENOBEX_LIBS)
Index: applet/main.c
===================================================================
RCS file: /cvsroot/bluez/gnome/applet/main.c,v
retrieving revision 1.49
diff -u -p -u -p -r1.49 main.c
--- applet/main.c 18 Nov 2006 20:01:35 -0000 1.49
+++ applet/main.c 23 Dec 2006 22:07:13 -0000
@@ -935,6 +935,15 @@ static int attached_adapters(void)
return count;
}
+#ifdef HAVE_HAL
+static void
+class_setup (struct adapter_data *adapter)
+{
+ //FIXME
+ g_message ("setup the class from the system.formfactor");
+}
+#endif
+
static void add_adapter(const char *path)
{
GList *list;
@@ -956,6 +965,10 @@ static void add_adapter(const char *path
adapter->path = g_strdup(path);
adapter->attached = 1;
+#ifdef HAVE_HAL
+ class_setup (adapter);
+#endif
+
adapter_list = g_list_append(adapter_list, adapter);
object = dbus_g_proxy_new_for_name(conn, "org.bluez",
Index: properties/main.c
===================================================================
RCS file: /cvsroot/bluez/gnome/properties/main.c,v
retrieving revision 1.24
diff -u -p -u -p -r1.24 main.c
--- properties/main.c 24 Nov 2006 20:26:39 -0000 1.24
+++ properties/main.c 23 Dec 2006 22:07:13 -0000
@@ -875,6 +875,7 @@ static gboolean focus_callback(GtkWidget
return FALSE;
}
+#ifndef HAVE_HAL
static void class_callback(GtkWidget *combobox, gpointer user_data)
{
struct adapter_data *adapter = user_data;
@@ -905,6 +906,53 @@ static void class_callback(GtkWidget *co
G_TYPE_STRING, minor, G_TYPE_INVALID, G_TYPE_INVALID);
}
+static void create_adapter_class(struct adapter_data *adapter,
+ GtkWidget *vbox, const char *minor, const char *major)
+{
+ GtkWidget *label;
+ GtkWidget *combobox;
+ gint index;
+
+ label = gtk_label_new(NULL);
+
+ gtk_label_set_markup(GTK_LABEL(label), _("\nClass of device"));
+
+ gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT);
+
+ gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
+
+ gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
+
+ combobox = gtk_combo_box_new_text();
+
+ gtk_combo_box_append_text(GTK_COMBO_BOX(combobox), _("Unspecified"));
+ gtk_combo_box_append_text(GTK_COMBO_BOX(combobox), _("Desktop workstation"));
+ gtk_combo_box_append_text(GTK_COMBO_BOX(combobox), _("Laptop computer"));
+
+ if (major && minor && !strcmp(major, "computer")) {
+ if (!strcmp(minor, "uncategorized"))
+ index = 0;
+ else if (!strcmp(minor, "desktop"))
+ index = 1;
+ else if (!strcmp(minor, "laptop"))
+ index = 2;
+ else
+ index = -1;
+
+ gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), index);
+ } else
+ gtk_widget_set_sensitive(GTK_WIDGET(combobox), FALSE);
+
+ gtk_box_pack_start(GTK_BOX(vbox), combobox, FALSE, FALSE, 0);
+
+ adapter->combo = combobox;
+
+ g_signal_connect(G_OBJECT(combobox), "changed",
+ G_CALLBACK(class_callback), adapter);
+}
+
+#endif /* !HAVE_HAL */
+
static void create_adapter(struct adapter_data *adapter)
{
DBusGProxy *object;
@@ -916,10 +964,8 @@ static void create_adapter(struct adapte
GtkWidget *button;
GtkWidget *scale;
GtkWidget *entry;
- GtkWidget *combobox;
GSList *group = NULL;
gdouble value;
- gint index;
object = dbus_g_proxy_new_for_name(conn, "org.bluez",
adapter->path, "org.bluez.Adapter");
@@ -1071,42 +1117,9 @@ static void create_adapter(struct adapte
g_signal_connect(G_OBJECT(entry), "focus-out-event",
G_CALLBACK(focus_callback), adapter);
- label = gtk_label_new(NULL);
-
- gtk_label_set_markup(GTK_LABEL(label), _("\nClass of device"));
-
- gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT);
-
- gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
-
- gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
-
- combobox = gtk_combo_box_new_text();
-
- gtk_combo_box_append_text(GTK_COMBO_BOX(combobox), _("Unspecified"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combobox), _("Desktop workstation"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combobox), _("Laptop computer"));
-
- if (major && minor && !strcmp(major, "computer")) {
- if (!strcmp(minor, "uncategorized"))
- index = 0;
- else if (!strcmp(minor, "desktop"))
- index = 1;
- else if (!strcmp(minor, "laptop"))
- index = 2;
- else
- index = -1;
-
- gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), index);
- } else
- gtk_widget_set_sensitive(GTK_WIDGET(combobox), FALSE);
-
- gtk_box_pack_start(GTK_BOX(vbox), combobox, FALSE, FALSE, 0);
-
- adapter->combo = combobox;
-
- g_signal_connect(G_OBJECT(combobox), "changed",
- G_CALLBACK(class_callback), adapter);
+#ifndef HAVE_HAL
+ create_adapter_class (adapter, vbox, minor, major);
+#endif /* !HAVE_HAL */
gtk_widget_show_all(vbox);
}