[empathy: 11/14] contact-selector-dialog: add a selected-account property



commit 73220cb660bf75ac0c57f46ca514146cfa091e4f
Author: Danielle Madeley <danielle madeley collabora co uk>
Date:   Wed Apr 13 16:23:41 2011 +1000

    contact-selector-dialog: add a selected-account property

 libempathy-gtk/empathy-contact-selector-dialog.c |   25 +++++++++++++++++++++-
 1 files changed, 24 insertions(+), 1 deletions(-)
---
diff --git a/libempathy-gtk/empathy-contact-selector-dialog.c b/libempathy-gtk/empathy-contact-selector-dialog.c
index d5e533a..a4747b4 100644
--- a/libempathy-gtk/empathy-contact-selector-dialog.c
+++ b/libempathy-gtk/empathy-contact-selector-dialog.c
@@ -66,7 +66,8 @@ struct _EmpathyContactSelectorDialogPriv {
 enum {
   PROP_0,
   PROP_SHOW_ACCOUNT_CHOOSER,
-  PROP_FILTER_ACCOUNT
+  PROP_FILTER_ACCOUNT,
+  PROP_SELECTED_ACCOUNT
 };
 
 enum {
@@ -151,6 +152,8 @@ contact_selector_dialog_account_changed_cb (GtkWidget *widget,
       g_object_unref (contact);
       members = g_list_delete_link (members, members);
   }
+
+  g_object_notify (G_OBJECT (dialog), "selected-account");
 }
 
 static gboolean
@@ -375,6 +378,7 @@ empathy_contact_selector_dialog_get_property (GObject *self,
     GParamSpec *pspec)
 {
   EmpathyContactSelectorDialog *dialog = EMPATHY_CONTACT_SELECTOR_DIALOG (self);
+  EmpathyContactSelectorDialogPriv *priv = GET_PRIV (dialog);
 
   switch (prop_id)
     {
@@ -388,6 +392,11 @@ empathy_contact_selector_dialog_get_property (GObject *self,
             empathy_contact_selector_dialog_get_filter_account (dialog));
         break;
 
+      case PROP_SELECTED_ACCOUNT:
+        g_value_set_object (value, empathy_account_chooser_get_account (
+              EMPATHY_ACCOUNT_CHOOSER (priv->account_chooser)));
+        break;
+
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (self, prop_id, pspec);
         break;
@@ -401,6 +410,7 @@ empathy_contact_selector_dialog_set_property (GObject *self,
     GParamSpec *pspec)
 {
   EmpathyContactSelectorDialog *dialog = EMPATHY_CONTACT_SELECTOR_DIALOG (self);
+  EmpathyContactSelectorDialogPriv *priv = GET_PRIV (dialog);
 
   switch (prop_id)
     {
@@ -414,6 +424,12 @@ empathy_contact_selector_dialog_set_property (GObject *self,
             g_value_get_object (value));
         break;
 
+      case PROP_SELECTED_ACCOUNT:
+        empathy_account_chooser_set_account (
+            EMPATHY_ACCOUNT_CHOOSER (priv->account_chooser),
+            g_value_get_object (value));
+        break;
+
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (self, prop_id, pspec);
         break;
@@ -490,6 +506,13 @@ empathy_contact_selector_dialog_class_init (
         "account are displayed",
         TP_TYPE_ACCOUNT,
         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (object_class, PROP_SELECTED_ACCOUNT,
+      g_param_spec_object ("selected-account",
+        "Selected Account",
+        "Current account selected in the account-chooser",
+        TP_TYPE_ACCOUNT,
+        G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 }
 
 const gchar *



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]