aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk
diff options
context:
space:
mode:
authorJonny Lamb <jonnylamb@gnome.org>2010-12-08 20:58:54 +0800
committerJonny Lamb <jonnylamb@gnome.org>2011-01-26 21:33:12 +0800
commitaa549c4790e7d7cdeb7f858008759faa5369b4df (patch)
treeb7c71165fee249910b258e92733954cc5afb1023 /libempathy-gtk
parent95bf4742dea9bdb83dd1bc4cec9730ca6a091c24 (diff)
downloadgsoc2013-empathy-aa549c4790e7d7cdeb7f858008759faa5369b4df.tar
gsoc2013-empathy-aa549c4790e7d7cdeb7f858008759faa5369b4df.tar.gz
gsoc2013-empathy-aa549c4790e7d7cdeb7f858008759faa5369b4df.tar.bz2
gsoc2013-empathy-aa549c4790e7d7cdeb7f858008759faa5369b4df.tar.lz
gsoc2013-empathy-aa549c4790e7d7cdeb7f858008759faa5369b4df.tar.xz
gsoc2013-empathy-aa549c4790e7d7cdeb7f858008759faa5369b4df.tar.zst
gsoc2013-empathy-aa549c4790e7d7cdeb7f858008759faa5369b4df.zip
account-widget: handle the remember password widget with the simple widget
Signed-off-by: Jonny Lamb <jonnylamb@gnome.org>
Diffstat (limited to 'libempathy-gtk')
-rw-r--r--libempathy-gtk/empathy-account-widget-yahoo.ui34
-rw-r--r--libempathy-gtk/empathy-account-widget.c36
2 files changed, 57 insertions, 13 deletions
diff --git a/libempathy-gtk/empathy-account-widget-yahoo.ui b/libempathy-gtk/empathy-account-widget-yahoo.ui
index acc60de74..16044f3c8 100644
--- a/libempathy-gtk/empathy-account-widget-yahoo.ui
+++ b/libempathy-gtk/empathy-account-widget-yahoo.ui
@@ -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>
@@ -92,6 +92,25 @@
</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>
</object>
@@ -357,5 +376,18 @@
<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>
diff --git a/libempathy-gtk/empathy-account-widget.c b/libempathy-gtk/empathy-account-widget.c
index 28bedd324..1cc0f9f82 100644
--- a/libempathy-gtk/empathy-account-widget.c
+++ b/libempathy-gtk/empathy-account-widget.c
@@ -88,6 +88,8 @@ typedef struct {
GtkWidget *param_account_widget;
GtkWidget *param_password_widget;
+ GtkWidget *remember_password_widget;
+
/* Used only for IRC accounts */
EmpathyIrcNetworkChooser *irc_network_chooser;
@@ -1318,6 +1320,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
{
@@ -1337,6 +1342,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"));
}
}
@@ -1789,23 +1797,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 */