]> git.0d.be Git - empathy.git/commitdiff
Implement a generic simple widget
authorCosimo Cecchi <cosimoc@gnome.org>
Tue, 4 Aug 2009 13:22:29 +0000 (15:22 +0200)
committerSjoerd Simons <sjoerd.simons@collabora.co.uk>
Sat, 22 Aug 2009 13:19:10 +0000 (14:19 +0100)
libempathy-gtk/empathy-account-widget-generic.ui
libempathy-gtk/empathy-account-widget.c

index 649307e0608aab97e87de765f16dc506b2a4b2f2..ae97f3c98a2c4c30cb62e5a9c360001d7e2d147b 100644 (file)
@@ -29,7 +29,7 @@
       </packing>
     </child>
     <child>
-      <object class="GtkExpander" id="expander1">
+      <object class="GtkExpander" id="expander_advanced_settings">
         <property name="visible">True</property>
         <property name="can_focus">True</property>
         <child>
index 3bd8309fa57fb7ebb4a347c1c7bdb3a662d224a8..916de95025202b8b1bf64c85e3157110b8eff628 100644 (file)
@@ -377,6 +377,8 @@ accounts_widget_generic_setup (EmpathyAccountWidget *self,
 
       if (param->flags & TP_CONN_MGR_PARAM_FLAG_REQUIRED)
         table_settings = table_common_settings;
+      else if (priv->simple)
+        return;
       else
         table_settings = table_advanced_settings;
 
@@ -559,10 +561,16 @@ account_widget_build_generic (EmpathyAccountWidget *self,
     const char *filename)
 {
   EmpathyAccountWidgetPriv *priv = GET_PRIV (self);
+  GtkWidget *expander_advanced;
+
   self->ui_details->gui = empathy_builder_get_file (filename,
       "vbox_generic_settings", &self->ui_details->widget,
+      "expander_advanced_settings", &expander_advanced,
       NULL);
 
+  if (priv->simple)
+    gtk_widget_hide (expander_advanced);
+
   g_object_ref (self->ui_details->gui);
 
   if (empathy_account_settings_is_ready (priv->settings))
@@ -805,7 +813,7 @@ account_widget_build_groupwise (EmpathyAccountWidget *self,
     const char *filename)
 {
   EmpathyAccountWidgetPriv *priv = GET_PRIV (self);
-  
+
   if (priv->simple)
     {
       self->ui_details->gui = empathy_builder_get_file (filename,
@@ -886,6 +894,7 @@ do_get_property (GObject *object,
       break;
     case PROP_SIMPLE:
       g_value_set_boolean (value, priv->simple);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
     }
@@ -921,7 +930,13 @@ do_constructed (GObject *obj)
   else if (!tp_strdiff (priv->protocol, "sip"))
     empathy_account_widget_sip_build (self, filename);
   else
-    account_widget_build_generic (self, filename);
+    {
+      g_free (filename);
+
+      filename = empathy_file_lookup (
+          "empathy-account-widget-generic.ui", "libempathy-gtk");
+      account_widget_build_generic (self, filename);
+    }
 
   g_free (uiname);
   g_free (filename);