]> git.0d.be Git - empathy.git/commitdiff
Add GUI to configure ICQ accounts. Fixes bug #513673 (Andreas Henriksson).
authorXavier Claessens <xclaesse@src.gnome.org>
Wed, 20 Feb 2008 15:44:18 +0000 (15:44 +0000)
committerXavier Claessens <xclaesse@src.gnome.org>
Wed, 20 Feb 2008 15:44:18 +0000 (15:44 +0000)
svn path=/trunk/; revision=656

data/icq.profile
libempathy-gtk/empathy-account-widget-icq.glade [new file with mode: 0644]
libempathy-gtk/empathy-account-widget.c
libempathy-gtk/empathy-account-widget.h
libempathy-gtk/empathy-accounts-dialog.c

index c8776b52078f527f3816bffe88652f6969c6ceea..0f4622e75e18e0d4155384e4c7a18fe0b3941944 100644 (file)
@@ -3,7 +3,7 @@ Manager=haze
 Protocol=icq
 IconName = im-icq
 DisplayName=ICQ
 Protocol=icq
 IconName = im-icq
 DisplayName=ICQ
-ConfigurationUI = haze
+ConfigurationUI = icq
 Capabilities = chat-p2p, supports-alias, supports-avatars, supports-roster
 VCardDefault = 1
 VCardField = X-ICQ
 Capabilities = chat-p2p, supports-alias, supports-avatars, supports-roster
 VCardDefault = 1
 VCardField = X-ICQ
diff --git a/libempathy-gtk/empathy-account-widget-icq.glade b/libempathy-gtk/empathy-account-widget-icq.glade
new file mode 100644 (file)
index 0000000..0c0c114
--- /dev/null
@@ -0,0 +1,258 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
+<glade-interface>
+  <widget class="GtkWindow" id="account_icq_settings">
+    <property name="visible">True</property>
+    <property name="title" translatable="yes">ICQ account settings</property>
+    <property name="resizable">False</property>
+    <child>
+      <widget class="GtkVBox" id="vbox_icq_settings">
+        <property name="visible">True</property>
+        <property name="spacing">6</property>
+        <child>
+          <widget class="GtkTable" id="table_common_settings">
+            <property name="visible">True</property>
+            <property name="n_rows">2</property>
+            <property name="n_columns">3</property>
+            <property name="column_spacing">12</property>
+            <property name="row_spacing">6</property>
+            <child>
+              <widget class="GtkEntry" id="entry_password">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="visibility">False</property>
+                <property name="invisible_char">*</property>
+              </widget>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkEntry" id="entry_uin">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">*</property>
+              </widget>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">3</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label_uin">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">ICQ _UIN:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">entry_uin</property>
+              </widget>
+              <packing>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="button_forget">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="tooltip" translatable="yes">Forget password and clear the entry.</property>
+                <property name="response_id">0</property>
+                <child>
+                  <widget class="GtkImage" id="image834">
+                    <property name="visible">True</property>
+                    <property name="stock">gtk-clear</property>
+                    <property name="icon_size">1</property>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="right_attach">3</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label_password">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Pass_word:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">entry_password</property>
+              </widget>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkExpander" id="expander1">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <child>
+              <widget class="GtkVBox" id="vbox1">
+                <property name="visible">True</property>
+                <child>
+                  <widget class="GtkTable" id="table_advanced_settings">
+                    <property name="visible">True</property>
+                    <property name="n_rows">1</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">12</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <widget class="GtkEntry" id="entry_charset">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="invisible_char">*</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label_charset">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Charset:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">entry_charset</property>
+                      </widget>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+                <child>
+                  <widget class="GtkFrame" id="frame1">
+                    <property name="visible">True</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment1">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkTable" id="table1">
+                            <property name="visible">True</property>
+                            <property name="n_rows">2</property>
+                            <property name="n_columns">2</property>
+                            <property name="column_spacing">6</property>
+                            <property name="row_spacing">6</property>
+                            <child>
+                              <widget class="GtkSpinButton" id="spinbutton_port">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="adjustment">5222 0 65556 1 10 10</property>
+                                <property name="climb_rate">1</property>
+                                <property name="numeric">True</property>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="y_options"></property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkEntry" id="entry_server">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="invisible_char">*</property>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="y_options"></property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label_port">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">_Port:</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">spinbutton_port</property>
+                              </widget>
+                              <packing>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"></property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label_server">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">_Server:</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">entry_server</property>
+                              </widget>
+                              <packing>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"></property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label2">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Override  server settings&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label1">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">&lt;b&gt;Advanced&lt;/b&gt;</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <property name="type">label_item</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+</glade-interface>
index f161a678899715647c95b4f934eb3e4a0e95952a..b65219775a1b0f4de01b0364e8f779517714594f 100644 (file)
@@ -557,3 +557,36 @@ empathy_account_widget_jabber_new (McAccount *account)
        return widget;
 }
 
        return widget;
 }
 
+GtkWidget *
+empathy_account_widget_icq_new (McAccount *account)
+{
+       GladeXML  *glade;
+       GtkWidget *widget;
+       GtkWidget *spinbutton_port;
+
+       glade = empathy_glade_get_file ("empathy-account-widget-icq.glade",
+                                       "vbox_icq_settings",
+                                       NULL,
+                                       "vbox_icq_settings", &widget,
+                                       "spinbutton_port", &spinbutton_port,
+                                       NULL);
+
+       empathy_account_widget_handle_params (account, glade,
+                       "entry_uin", "account",
+                       "entry_password", "password",
+                       "entry_server", "server",
+                       "spinbutton_port", "port",
+                       "entry_charset", "charset",
+                       NULL);
+
+       emapthy_account_widget_add_forget_button (account, glade,
+                                                 "button_forget",
+                                                 "entry_password");
+
+       g_object_unref (glade);
+
+       gtk_widget_show (widget);
+
+       return widget;
+}
+
index 25a65c183145eb4aaa05bc1f11039594949e4d88..8ba36c854cecd20e132e0df01e118b2acca26899 100644 (file)
@@ -44,6 +44,7 @@ GtkWidget *empathy_account_widget_generic_new       (McAccount   *account);
 GtkWidget *empathy_account_widget_salut_new         (McAccount   *account);
 GtkWidget *empathy_account_widget_msn_new           (McAccount   *account);
 GtkWidget *empathy_account_widget_jabber_new        (McAccount   *account);
 GtkWidget *empathy_account_widget_salut_new         (McAccount   *account);
 GtkWidget *empathy_account_widget_msn_new           (McAccount   *account);
 GtkWidget *empathy_account_widget_jabber_new        (McAccount   *account);
+GtkWidget *empathy_account_widget_icq_new           (McAccount   *account);
 
 G_END_DECLS
 
 
 G_END_DECLS
 
index 832063371eb9572aaf7285461c9535b9594ec350..2131c9f181a89d87b7144bb5fea9b2a18b33ef3a 100644 (file)
@@ -274,6 +274,10 @@ accounts_dialog_update_account (EmpathyAccountsDialog *dialog,
                        dialog->settings_widget =
                                empathy_account_widget_irc_new (account);
                }
                        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 {
                        dialog->settings_widget = 
                                empathy_account_widget_generic_new (account);
                else {
                        dialog->settings_widget = 
                                empathy_account_widget_generic_new (account);