]> git.0d.be Git - empathy.git/commitdiff
account-widget: handle the remember password widget with the simple widget
authorJonny Lamb <jonnylamb@gnome.org>
Wed, 8 Dec 2010 12:58:54 +0000 (12:58 +0000)
committerJonny Lamb <jonnylamb@gnome.org>
Thu, 9 Dec 2010 16:35:24 +0000 (16:35 +0000)
Signed-off-by: Jonny Lamb <jonnylamb@gnome.org>
libempathy-gtk/empathy-account-widget-yahoo.ui
libempathy-gtk/empathy-account-widget.c

index acc60de7471533b4ee3b90d27a3ab9412ab3b03d..16044f3c8da2dcaf20a7db88429a8931366ec080 100644 (file)
@@ -16,7 +16,7 @@
     <child>
       <object class="GtkTable" id="table_common_settings">
         <property name="visible">True</property>
-        <property name="n_rows">3</property>
+        <property name="n_rows">4</property>
         <property name="n_columns">2</property>
         <property name="column_spacing">12</property>
         <property name="row_spacing">6</property>
             <property name="bottom_attach">2</property>
           </packing>
         </child>
+        <child>
+          <object class="GtkCheckButton" id="remember_password">
+            <property name="label" translatable="yes">Remember Password</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="active">True</property>
+            <property name="draw_indicator">True</property>
+          </object>
+          <packing>
+            <property name="left_attach">1</property>
+            <property name="right_attach">2</property>
+            <property name="top_attach">3</property>
+            <property name="bottom_attach">4</property>
+          </packing>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
         <child>
           <placeholder/>
         </child>
         <property name="position">3</property>
       </packing>
     </child>
+    <child>
+      <object class="GtkCheckButton" id="remember_password_simple">
+        <property name="label" translatable="yes">Remember password</property>
+        <property name="visible">True</property>
+        <property name="can_focus">True</property>
+        <property name="receives_default">False</property>
+        <property name="active">True</property>
+        <property name="draw_indicator">True</property>
+      </object>
+      <packing>
+        <property name="position">4</property>
+      </packing>
+    </child>
   </object>
 </interface>
index 5035ea7dd6495c488660903bdc806c8d65c03701..27cb882bb39b4fc8ea8d446262a0ad37783579e7 100644 (file)
@@ -109,6 +109,8 @@ typedef struct {
   GtkWidget *param_account_widget;
   GtkWidget *param_password_widget;
 
+  GtkWidget *remember_password_widget;
+
   /* Used only for IRC accounts */
   EmpathyIrcNetworkChooser *irc_network_chooser;
 
@@ -1603,6 +1605,9 @@ account_widget_build_yahoo (EmpathyAccountWidget *self,
           NULL);
 
       self->ui_details->default_focus = g_strdup ("entry_id_simple");
+
+      priv->remember_password_widget = GTK_WIDGET (gtk_builder_get_object (
+              self->ui_details->gui, "remember_password_simple"));
     }
   else
     {
@@ -1622,6 +1627,9 @@ account_widget_build_yahoo (EmpathyAccountWidget *self,
           NULL);
 
       self->ui_details->default_focus = g_strdup ("entry_id");
+
+      priv->remember_password_widget = GTK_WIDGET (gtk_builder_get_object (
+              self->ui_details->gui, "remember_password"));
     }
 }
 
@@ -2093,23 +2101,27 @@ do_constructed (GObject *obj)
     }
 
   /* remember password */
-  if (priv->param_password_widget != NULL)
+  if (priv->param_password_widget != NULL
+      && priv->remember_password_widget != NULL)
     {
-      GObject *button;
-
-      button = gtk_builder_get_object (
-          self->ui_details->gui, "remember_password");
-
-      if (button != NULL)
+      if (priv->simple)
         {
-          gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
+          gtk_toggle_button_set_active (
+              GTK_TOGGLE_BUTTON (priv->remember_password_widget), TRUE);
+        }
+      else
+        {
+          gtk_toggle_button_set_active (
+              GTK_TOGGLE_BUTTON (priv->remember_password_widget),
               !EMP_STR_EMPTY (empathy_account_settings_get_string (
                       priv->settings, "password")));
-
-          g_signal_connect (button, "toggled",
-              G_CALLBACK (remember_password_toggled_cb), self);
-          remember_password_toggled_cb (GTK_TOGGLE_BUTTON (button), self);
         }
+
+      g_signal_connect (priv->remember_password_widget, "toggled",
+          G_CALLBACK (remember_password_toggled_cb), self);
+
+      remember_password_toggled_cb (
+          GTK_TOGGLE_BUTTON (priv->remember_password_widget), self);
     }
 
   /* dup and init the account-manager */