diff options
author | Bastien Nocera <hadess@hadess.net> | 2009-07-16 00:02:59 +0100 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2009-07-16 00:06:47 +0100 |
commit | 0f1769174b36ca45bbe587c564c4595125cfb885 (patch) | |
tree | 3d7f1a20e336d32fcfe3ef66bffe16df580d4a84 | |
parent | 475f9dd140b069827ae4a22d2fc684ee83ba102e (diff) | |
download | gnome-bluetooth-0f1769174b36ca45bbe587c564c4595125cfb885.tar.gz |
Add a device-service-filter property
So we can filter for ObexFTP devices in the applet.
-rw-r--r-- | lib/bluetooth-chooser.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/lib/bluetooth-chooser.c b/lib/bluetooth-chooser.c index 5f641a8d..4a6c247b 100644 --- a/lib/bluetooth-chooser.c +++ b/lib/bluetooth-chooser.c @@ -935,8 +935,7 @@ bluetooth_chooser_init(BluetoothChooser *self) } /* The services filter */ - /* FIXME implement accessors */ - priv->device_service_filter = NULL; //g_strdup ("OBEXObjectPush"); + priv->device_service_filter = NULL; /* if filters are not visible hide the vbox */ if (!priv->show_device_type && !priv->show_device_category) @@ -984,7 +983,8 @@ enum { PROP_SHOW_DEVICE_TYPE, PROP_SHOW_DEVICE_CATEGORY, PROP_DEVICE_TYPE_FILTER, - PROP_DEVICE_CATEGORY_FILTER + PROP_DEVICE_CATEGORY_FILTER, + PROP_DEVICE_SERVICE_FILTER }; static void @@ -1037,6 +1037,12 @@ bluetooth_chooser_set_property (GObject *object, guint prop_id, priv->device_category_filter = g_value_get_enum (value); gtk_combo_box_set_active (GTK_COMBO_BOX(priv->device_category), priv->device_category_filter); break; + case PROP_DEVICE_SERVICE_FILTER: + g_free (priv->device_service_filter); + priv->device_service_filter = g_value_dup_string (value); + if (priv->filter) + gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (priv->filter)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; @@ -1075,6 +1081,9 @@ bluetooth_chooser_get_property (GObject *object, guint prop_id, case PROP_DEVICE_CATEGORY_FILTER: g_value_set_enum (value, priv->device_category_filter); break; + case PROP_DEVICE_SERVICE_FILTER: + g_value_set_string (value, priv->device_service_filter); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; @@ -1117,7 +1126,7 @@ bluetooth_chooser_class_init (BluetoothChooserClass *klass) g_object_class_install_property (G_OBJECT_CLASS(klass), PROP_TITLE, g_param_spec_string ("title", - "title", "The widget header title.", NULL, G_PARAM_WRITABLE)); + "title", "The widget header title", NULL, G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS(klass), PROP_DEVICE_SELECTED, g_param_spec_string ("device-selected", "device-selected", "the Bluetooth address for the currently selected device, or %NULL", NULL, G_PARAM_READABLE)); @@ -1146,6 +1155,9 @@ bluetooth_chooser_class_init (BluetoothChooserClass *klass) g_object_class_install_property (G_OBJECT_CLASS(klass), PROP_DEVICE_CATEGORY_FILTER, g_param_spec_enum ("device-category-filter", "device-category-filter", "The #BluetoothCategory to show", BLUETOOTH_TYPE_CATEGORY, BLUETOOTH_CATEGORY_ALL, G_PARAM_READWRITE)); + g_object_class_install_property (G_OBJECT_CLASS(klass), + PROP_DEVICE_SERVICE_FILTER, g_param_spec_string ("device-service-filter", + "device-service-filter", "A string representing the service to filter for", NULL, G_PARAM_WRITABLE)); } /** |