Index: common/bluetooth-device-selection.c =================================================================== RCS file: /cvsroot/bluez/gnome/common/bluetooth-device-selection.c,v retrieving revision 1.20 diff -u -p -r1.20 bluetooth-device-selection.c --- common/bluetooth-device-selection.c 12 Mar 2008 21:03:38 -0000 1.20 +++ common/bluetooth-device-selection.c 24 Jun 2008 11:50:01 -0000 @@ -62,6 +62,7 @@ struct _BluetoothDeviceSelectionPrivate GtkWidget *search_button; GtkWidget *device_type_label, *device_type; GtkWidget *device_category_label, *device_category; + GtkWidget *filters_vbox; /* Current filter */ int device_type_filter; @@ -517,7 +534,8 @@ bluetooth_device_selection_init(Bluetoot vbox = gtk_vbox_new (FALSE, 6); gtk_widget_show (vbox); gtk_box_pack_start (GTK_BOX (self), vbox, FALSE, TRUE, 0); - + priv->filters_vbox = vbox; + /* The filters */ str = g_strdup_printf ("%s", _("Show Only Bluetooth Devices With...")); label = gtk_label_new (str); @@ -596,7 +614,13 @@ bluetooth_device_selection_init(Bluetoot gtk_widget_show (priv->device_type_label); gtk_widget_show (priv->device_type); } - + + /* if filters are not visible hide the vbox */ + if (!priv->show_device_type && !priv->show_device_category) + { + gtk_widget_hide (priv->filters_vbox); + } + priv->default_adapter_changed_id = g_signal_connect (priv->client, "notify::default-adapter", G_CALLBACK (default_adapter_changed), self); } @@ -657,11 +682,19 @@ bluetooth_device_selection_set_property priv->show_device_type = g_value_get_boolean (value); g_object_set (G_OBJECT (priv->device_type_label), "visible", priv->show_device_type, NULL); g_object_set (G_OBJECT (priv->device_type), "visible", priv->show_device_type, NULL); + if (priv->show_device_type || priv->show_device_category) + g_object_set (G_OBJECT (priv->filters_vbox), "visible", TRUE, NULL); + else + g_object_set (G_OBJECT (priv->filters_vbox), "visible", FALSE, NULL); break; case PROP_SHOW_DEVICE_CATEGORY: priv->show_device_category = g_value_get_boolean (value); g_object_set (G_OBJECT (priv->device_category_label), "visible", priv->show_device_category, NULL); g_object_set (G_OBJECT (priv->device_category), "visible", priv->show_device_category, NULL); + if (priv->show_device_type || priv->show_device_category) + g_object_set (G_OBJECT (priv->filters_vbox), "visible", TRUE, NULL); + else + g_object_set (G_OBJECT (priv->filters_vbox), "visible", FALSE, NULL); break; case PROP_DEVICE_TYPE_FILTER: priv->device_type_filter = g_value_get_int (value);