]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-accounts-dialog.c
Add a GUI to configure yahoo accounts. Fixes bug #513674 (Susana).
[empathy.git] / libempathy-gtk / empathy-accounts-dialog.c
index efc5ccc80eab7c519ec7c586b52a89d221bd60ef..e8f8efd804631dd2b4f747cca709bde3169b3943 100644 (file)
 
 #include "empathy-accounts-dialog.h"
 #include "empathy-profile-chooser.h"
-#include "empathy-account-widget-generic.h"
-#include "empathy-account-widget-jabber.h"
-#include "empathy-account-widget-msn.h"
-#include "empathy-account-widget-salut.h"
+#include "empathy-account-widget.h"
+#include "empathy-account-widget-irc.h"
 
 #define DEBUG_DOMAIN "AccountDialog"
 
@@ -272,6 +270,18 @@ accounts_dialog_update_account (EmpathyAccountsDialog *dialog,
                        dialog->settings_widget =
                                empathy_account_widget_salut_new (account);
                }
+               else if (!tp_strdiff (config_ui, "irc")) {
+                       dialog->settings_widget =
+                               empathy_account_widget_irc_new (account);
+               }
+               else if (!tp_strdiff(config_ui, "icq")) {
+                       dialog->settings_widget =
+                               empathy_account_widget_icq_new (account);
+               }
+               else if (!tp_strdiff (config_ui, "yahoo")) {
+                       dialog->settings_widget =
+                               empathy_account_widget_yahoo_new (account);
+               }
                else {
                        dialog->settings_widget = 
                                empathy_account_widget_generic_new (account);
@@ -395,18 +405,24 @@ accounts_dialog_model_add_columns (EmpathyAccountsDialog *dialog)
        view = GTK_TREE_VIEW (dialog->treeview);
        gtk_tree_view_set_headers_visible (view, TRUE);
 
-       column = gtk_tree_view_column_new ();
-       gtk_tree_view_column_set_title (column, _("Accounts"));
-
-       /* Enabled */
+       /* Enabled column */
        cell = gtk_cell_renderer_toggle_new ();
-       gtk_tree_view_column_pack_start (column, cell, FALSE);
-       gtk_tree_view_column_add_attribute (column, cell, "active", COL_ENABLED);
+       gtk_tree_view_insert_column_with_attributes (view, -1,
+                                                    _("Enabled"),
+                                                    cell,
+                                                    "active", COL_ENABLED,
+                                                    NULL);
        g_signal_connect (cell, "toggled",
                          G_CALLBACK (accounts_dialog_enable_toggled_cb),
                          dialog);
+       
+       /* Account column */
+       column = gtk_tree_view_column_new ();
+       gtk_tree_view_column_set_title (column, _("Accounts"));
+       gtk_tree_view_column_set_expand (column, TRUE);
+       gtk_tree_view_append_column (view, column);
 
-       /* Icon */
+       /* Icon renderer */
        cell = gtk_cell_renderer_pixbuf_new ();
        gtk_tree_view_column_pack_start (column, cell, FALSE);
        gtk_tree_view_column_set_cell_data_func (column, cell,
@@ -415,7 +431,7 @@ accounts_dialog_model_add_columns (EmpathyAccountsDialog *dialog)
                                                 dialog,
                                                 NULL);
 
-       /* Name */
+       /* Name renderer */
        cell = gtk_cell_renderer_text_new ();
        g_object_set (cell,
                      "ellipsize", PANGO_ELLIPSIZE_END,
@@ -426,9 +442,6 @@ accounts_dialog_model_add_columns (EmpathyAccountsDialog *dialog)
        g_signal_connect (cell, "edited",
                          G_CALLBACK (accounts_dialog_name_edited_cb),
                          dialog);
-
-       gtk_tree_view_column_set_expand (column, TRUE);
-       gtk_tree_view_append_column (view, column);
 }
 
 static void