aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog16
-rw-r--r--libempathy-gtk/empathy-contact-dialogs.c2
-rw-r--r--libempathy-gtk/empathy-contact-widget.c3
-rw-r--r--libempathy-gtk/empathy-contact-widget.glade2
-rw-r--r--libempathy-gtk/empathy-new-chatroom-dialog.c187
-rw-r--r--libempathy-gtk/empathy-new-chatroom-dialog.glade307
-rw-r--r--libempathy/empathy-tp-contact-list.c8
7 files changed, 192 insertions, 333 deletions
diff --git a/ChangeLog b/ChangeLog
index 86aa13750..dc19cc31b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2007-07-13 Xavier Claessens <xclaesse@gmail.com>
+
+ * libempathy-gtk/empathy-new-chatroom-dialog.c:
+ * libempathy-gtk/empathy-new-chatroom-dialog.glade: Remove unused
+ nickname entry and use a GtkTable for room information. More work is
+ needed here.
+
+ * libempathy-gtk/empathy-contact-widget.glade: Change padding to 6.
+
+ * libempathy-gtk/empathy-contact-dialogs.c: Set a window title.
+
+ * libempathy-gtk/empathy-contact-widget.c: Fix alignment of widgets.
+
+ * libempathy/empathy-tp-contact-list.c: Add more debug msg for avatar
+ handling.
+
2007-07-12 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/Makefile.am: Fix missing header for
diff --git a/libempathy-gtk/empathy-contact-dialogs.c b/libempathy-gtk/empathy-contact-dialogs.c
index 659d91769..b0d24decc 100644
--- a/libempathy-gtk/empathy-contact-dialogs.c
+++ b/libempathy-gtk/empathy-contact-dialogs.c
@@ -166,6 +166,7 @@ empathy_contact_information_dialog_show (EmpathyContact *contact,
dialog = gtk_dialog_new ();
gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
+ gtk_window_set_title (GTK_WINDOW (dialog), _("Contact information"));
/* Close button */
button = gtk_button_new_with_label (GTK_STOCK_CLOSE);
@@ -237,6 +238,7 @@ empathy_new_contact_dialog_show (GtkWindow *parent)
dialog = gtk_dialog_new ();
gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
+ gtk_window_set_title (GTK_WINDOW (dialog), _("New contact"));
/* Cancel button */
button = gtk_button_new_with_label (GTK_STOCK_CANCEL);
diff --git a/libempathy-gtk/empathy-contact-widget.c b/libempathy-gtk/empathy-contact-widget.c
index 2f56a6e50..617a7d62d 100644
--- a/libempathy-gtk/empathy-contact-widget.c
+++ b/libempathy-gtk/empathy-contact-widget.c
@@ -290,6 +290,7 @@ contact_widget_contact_setup (EmpathyContactWidget *information)
information->widget_account,
1, 2, 0, 1);
gtk_widget_show (information->widget_account);
+ gtk_misc_set_alignment (GTK_MISC (information->widget_account), 0, 0.5);
/* Setup id label/entry */
if (information->can_change_contact) {
@@ -305,6 +306,7 @@ contact_widget_contact_setup (EmpathyContactWidget *information)
information->widget_id,
1, 2, 1, 2);
gtk_widget_show (information->widget_id);
+ gtk_misc_set_alignment (GTK_MISC (information->widget_id), 0, 0.5);
/* Setup alias label/entry */
if (information->editable) {
@@ -320,6 +322,7 @@ contact_widget_contact_setup (EmpathyContactWidget *information)
information->widget_alias,
1, 2, 2, 3);
gtk_widget_show (information->widget_alias);
+ gtk_misc_set_alignment (GTK_MISC (information->widget_alias), 0, 0.5);
}
static void
diff --git a/libempathy-gtk/empathy-contact-widget.glade b/libempathy-gtk/empathy-contact-widget.glade
index 74347a06b..6eb601987 100644
--- a/libempathy-gtk/empathy-contact-widget.glade
+++ b/libempathy-gtk/empathy-contact-widget.glade
@@ -86,7 +86,7 @@
<property name="n_columns">2</property>
<property name="homogeneous">False</property>
<property name="row_spacing">6</property>
- <property name="column_spacing">12</property>
+ <property name="column_spacing">6</property>
<child>
<widget class="GtkLabel" id="label_alias">
diff --git a/libempathy-gtk/empathy-new-chatroom-dialog.c b/libempathy-gtk/empathy-new-chatroom-dialog.c
index 31f610789..5df2a1f44 100644
--- a/libempathy-gtk/empathy-new-chatroom-dialog.c
+++ b/libempathy-gtk/empathy-new-chatroom-dialog.c
@@ -41,45 +41,38 @@
#include "empathy-new-chatroom-dialog.h"
#include "empathy-account-chooser.h"
-//#include "empathy-chatrooms-window.h"
#include "empathy-ui-utils.h"
#include "ephy-spinner.h"
#define DEBUG_DOMAIN "NewChatroomDialog"
typedef struct {
- GtkWidget *window;
+ GtkWidget *window;
- GtkWidget *vbox_widgets;
+ GtkWidget *vbox_widgets;
+ GtkWidget *table_info;
- GtkWidget *hbox_account;
- GtkWidget *label_account;
- GtkWidget *account_chooser;
+ GtkWidget *label_account;
+ GtkWidget *account_chooser;
- GtkWidget *hbox_server;
- GtkWidget *label_server;
- GtkWidget *entry_server;
- GtkWidget *togglebutton_refresh;
+ GtkWidget *label_server;
+ GtkWidget *entry_server;
+ GtkWidget *togglebutton_refresh;
- GtkWidget *hbox_room;
- GtkWidget *label_room;
- GtkWidget *entry_room;
-
- GtkWidget *hbox_nick;
- GtkWidget *label_nick;
- GtkWidget *entry_nick;
-
- GtkWidget *vbox_browse;
- GtkWidget *image_status;
- GtkWidget *label_status;
- GtkWidget *hbox_status;
- GtkWidget *throbber;
- GtkWidget *treeview;
- GtkTreeModel *model;
- GtkTreeModel *filter;
-
- GtkWidget *button_join;
- GtkWidget *button_close;
+ GtkWidget *label_room;
+ GtkWidget *entry_room;
+
+ GtkWidget *vbox_browse;
+ GtkWidget *image_status;
+ GtkWidget *label_status;
+ GtkWidget *hbox_status;
+ GtkWidget *throbber;
+ GtkWidget *treeview;
+ GtkTreeModel *model;
+ GtkTreeModel *filter;
+
+ GtkWidget *button_join;
+ GtkWidget *button_close;
} EmpathyNewChatroomDialog;
typedef struct {
@@ -103,7 +96,6 @@ static void new_chatroom_dialog_destroy_cb (GtkWidget
EmpathyNewChatroomDialog *dialog);
static void new_chatroom_dialog_model_setup (EmpathyNewChatroomDialog *dialog);
static void new_chatroom_dialog_model_add_columns (EmpathyNewChatroomDialog *dialog);
-static void new_chatroom_dialog_update_buttons (EmpathyNewChatroomDialog *dialog);
static void new_chatroom_dialog_update_widgets (EmpathyNewChatroomDialog *dialog);
static void new_chatroom_dialog_account_changed_cb (GtkComboBox *combobox,
EmpathyNewChatroomDialog *dialog);
@@ -143,10 +135,8 @@ void
empathy_new_chatroom_dialog_show (GtkWindow *parent)
{
EmpathyNewChatroomDialog *dialog;
- GladeXML *glade;
- GList *accounts;
- gint account_num;
- GtkSizeGroup *size_group;
+ GladeXML *glade;
+ GtkSizeGroup *size_group;
if (dialog_p) {
gtk_window_present (GTK_WINDOW (dialog_p->window));
@@ -159,18 +149,12 @@ empathy_new_chatroom_dialog_show (GtkWindow *parent)
"new_chatroom_dialog",
NULL,
"new_chatroom_dialog", &dialog->window,
- "hbox_account", &dialog->hbox_account,
+ "table_info", &dialog->table_info,
"label_account", &dialog->label_account,
- "vbox_widgets", &dialog->vbox_widgets,
"label_server", &dialog->label_server,
"label_room", &dialog->label_room,
- "label_nick", &dialog->label_nick,
- "hbox_server", &dialog->hbox_server,
- "hbox_room", &dialog->hbox_room,
- "hbox_nick", &dialog->hbox_nick,
"entry_server", &dialog->entry_server,
"entry_room", &dialog->entry_room,
- "entry_nick", &dialog->entry_nick,
"togglebutton_refresh", &dialog->togglebutton_refresh,
"vbox_browse", &dialog->vbox_browse,
"image_status", &dialog->image_status,
@@ -184,7 +168,6 @@ empathy_new_chatroom_dialog_show (GtkWindow *parent)
dialog,
"new_chatroom_dialog", "response", new_chatroom_dialog_response_cb,
"new_chatroom_dialog", "destroy", new_chatroom_dialog_destroy_cb,
- "entry_nick", "changed", new_chatroom_dialog_entry_changed_cb,
"entry_server", "changed", new_chatroom_dialog_entry_changed_cb,
"entry_server", "activate", new_chatroom_dialog_entry_server_activate_cb,
"entry_room", "changed", new_chatroom_dialog_entry_changed_cb,
@@ -201,35 +184,20 @@ empathy_new_chatroom_dialog_show (GtkWindow *parent)
gtk_size_group_add_widget (size_group, dialog->label_account);
gtk_size_group_add_widget (size_group, dialog->label_server);
gtk_size_group_add_widget (size_group, dialog->label_room);
- gtk_size_group_add_widget (size_group, dialog->label_nick);
g_object_unref (size_group);
/* Account chooser for custom */
dialog->account_chooser = empathy_account_chooser_new ();
- gtk_box_pack_start (GTK_BOX (dialog->hbox_account),
- dialog->account_chooser,
- TRUE, TRUE, 0);
+ gtk_table_attach_defaults (GTK_TABLE (dialog->table_info),
+ dialog->account_chooser,
+ 1, 3, 0, 1);
gtk_widget_show (dialog->account_chooser);
g_signal_connect (GTK_COMBO_BOX (dialog->account_chooser), "changed",
G_CALLBACK (new_chatroom_dialog_account_changed_cb),
dialog);
- /* Populate */
- accounts = mc_accounts_list ();
- account_num = g_list_length (accounts);
-
- g_list_foreach (accounts, (GFunc) g_object_unref, NULL);
- g_list_free (accounts);
-
- if (account_num > 1) {
- gtk_widget_show (dialog->hbox_account);
- } else {
- /* Show no accounts combo box */
- gtk_widget_hide (dialog->hbox_account);
- }
-
/* Add throbber */
dialog->throbber = ephy_spinner_new ();
ephy_spinner_set_size (EPHY_SPINNER (dialog->throbber), GTK_ICON_SIZE_LARGE_TOOLBAR);
@@ -358,96 +326,41 @@ new_chatroom_dialog_model_add_columns (EmpathyNewChatroomDialog *dialog)
}
static void
-new_chatroom_dialog_update_buttons (EmpathyNewChatroomDialog *dialog)
-{
- GtkButton *button;
- GtkWidget *image;
- GtkTreeView *view;
- GtkTreeModel *model;
- guint items;
- const gchar *room;
-
- /* Sort out Join button. */
- button = GTK_BUTTON (dialog->button_join);
-
- image = gtk_button_get_image (button);
- if (!image) {
- image = gtk_image_new ();
- gtk_button_set_image (button, image);
- }
- //gtk_button_set_use_stock (button, FALSE);
-
- room = gtk_entry_get_text (GTK_ENTRY (dialog->entry_room));
-
- /* Collect necessary information first. */
- view = GTK_TREE_VIEW (dialog->treeview);
- model = gtk_tree_view_get_model (view);
- items = gtk_tree_model_iter_n_children (model, NULL);
-
- if (items < 1 && !G_STR_EMPTY (room)) {
- gtk_button_set_label (button, _("Create"));
- gtk_image_set_from_stock (GTK_IMAGE (image),
- GTK_STOCK_NEW,
- GTK_ICON_SIZE_BUTTON);
- } else {
- gtk_button_set_label (button, _("Join"));
- gtk_image_set_from_stock (GTK_IMAGE (image),
- GTK_STOCK_EXECUTE,
- GTK_ICON_SIZE_BUTTON);
- }
-
- gtk_widget_set_sensitive (dialog->button_join, !G_STR_EMPTY (room));
-}
-
-static void
new_chatroom_dialog_update_widgets (EmpathyNewChatroomDialog *dialog)
{
EmpathyAccountChooser *account_chooser;
- McAccount *account;
- McProfile *profile;
- const gchar *protocol;
+ McAccount *account;
+ McProfile *profile;
+ const gchar *protocol;
+ const gchar *room;
account_chooser = EMPATHY_ACCOUNT_CHOOSER (dialog->account_chooser);
account = empathy_account_chooser_get_account (account_chooser);
profile = mc_account_get_profile (account);
protocol = mc_profile_get_protocol_name (profile);
+ gtk_entry_set_text (GTK_ENTRY (dialog->entry_server), "");
+
/* hardcode here known protocols */
if (strcmp (protocol, "jabber") == 0) {
- const gchar *server;
-
- server = mc_profile_get_default_account_domain (profile);
- if (server) {
- gchar *conference_server;
-
- conference_server = g_strconcat ("conference.",
- server, NULL);
- gtk_entry_set_text (GTK_ENTRY (dialog->entry_server),
- conference_server);
- g_free (conference_server);
- }
-
- gtk_widget_show (dialog->hbox_server);
- gtk_widget_show (dialog->hbox_nick);
+ gtk_widget_set_sensitive (dialog->entry_server, TRUE);
gtk_widget_show (dialog->vbox_browse);
}
else if (strcmp (protocol, "salut") == 0) {
- gtk_widget_hide (dialog->hbox_server);
- gtk_widget_show (dialog->hbox_nick);
+ gtk_widget_set_sensitive (dialog->entry_server, FALSE);
gtk_widget_show (dialog->vbox_browse);
}
else if (strcmp (protocol, "irc") == 0) {
- gtk_widget_hide (dialog->hbox_server);
- gtk_widget_hide (dialog->hbox_nick);
+ gtk_widget_set_sensitive (dialog->entry_server, FALSE);
gtk_widget_show (dialog->vbox_browse);
} else {
- gtk_widget_hide (dialog->hbox_server);
- gtk_widget_hide (dialog->hbox_nick);
- gtk_widget_hide (dialog->vbox_browse);
+ gtk_widget_set_sensitive (dialog->entry_server, TRUE);
+ gtk_widget_show (dialog->vbox_browse);
}
- new_chatroom_dialog_update_buttons (dialog);
+ room = gtk_entry_get_text (GTK_ENTRY (dialog->entry_room));
+ gtk_widget_set_sensitive (dialog->button_join, !G_STR_EMPTY (room));
/* Final set up of the dialog */
gtk_widget_grab_focus (dialog->entry_room);
@@ -576,7 +489,6 @@ new_chatroom_dialog_model_row_inserted_cb (GtkTreeModel *model,
GtkTreeIter *iter,
EmpathyNewChatroomDialog *dialog)
{
- new_chatroom_dialog_update_buttons (dialog);
}
static void
@@ -584,14 +496,12 @@ new_chatroom_dialog_model_row_deleted_cb (GtkTreeModel *model,
GtkTreePath *path,
EmpathyNewChatroomDialog *dialog)
{
- new_chatroom_dialog_update_buttons (dialog);
}
static void
new_chatroom_dialog_model_selection_changed (GtkTreeSelection *selection,
EmpathyNewChatroomDialog *dialog)
{
- new_chatroom_dialog_update_buttons (dialog);
}
static void
@@ -615,9 +525,8 @@ new_chatroom_dialog_join (EmpathyNewChatroomDialog *dialog)
}
room = gtk_entry_get_text (GTK_ENTRY (dialog->entry_room));
- if (GTK_WIDGET_VISIBLE (dialog->hbox_server)) {
- server = gtk_entry_get_text (GTK_ENTRY (dialog->entry_server));
- }
+ server = gtk_entry_get_text (GTK_ENTRY (dialog->entry_server));
+
account_chooser = EMPATHY_ACCOUNT_CHOOSER (dialog->account_chooser);
account = empathy_account_chooser_get_account (account_chooser);
@@ -641,14 +550,16 @@ new_chatroom_dialog_join (EmpathyNewChatroomDialog *dialog)
}
static void
-new_chatroom_dialog_entry_changed_cb (GtkWidget *entry,
+new_chatroom_dialog_entry_changed_cb (GtkWidget *entry,
EmpathyNewChatroomDialog *dialog)
{
if (entry == dialog->entry_room) {
- gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (dialog->filter));
- }
+ const gchar *room;
- new_chatroom_dialog_update_buttons (dialog);
+ room = gtk_entry_get_text (GTK_ENTRY (dialog->entry_room));
+ gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (dialog->filter));
+ gtk_widget_set_sensitive (dialog->button_join, !G_STR_EMPTY (room));
+ }
}
static void
diff --git a/libempathy-gtk/empathy-new-chatroom-dialog.glade b/libempathy-gtk/empathy-new-chatroom-dialog.glade
index 49bdadb64..d08b3edca 100644
--- a/libempathy-gtk/empathy-new-chatroom-dialog.glade
+++ b/libempathy-gtk/empathy-new-chatroom-dialog.glade
@@ -140,10 +140,13 @@
<property name="spacing">18</property>
<child>
- <widget class="GtkHBox" id="hbox_account">
+ <widget class="GtkTable" id="table_info">
<property name="visible">True</property>
+ <property name="n_rows">3</property>
+ <property name="n_columns">3</property>
<property name="homogeneous">False</property>
- <property name="spacing">12</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
<child>
<widget class="GtkLabel" id="label_account">
@@ -164,228 +167,144 @@
<property name="angle">0</property>
</widget>
<packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <placeholder/>
+ <widget class="GtkLabel" id="label80">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Server:</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="mnemonic_widget">entry_server</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
</child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox_browse">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
<child>
- <widget class="GtkHBox" id="hbox_server">
+ <widget class="GtkLabel" id="label_room">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkLabel" id="label_server">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Server:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">entry_server</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkEntry" id="entry_server">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="editable">True</property>
- <property name="visibility">True</property>
- <property name="max_length">0</property>
- <property name="text" translatable="yes"></property>
- <property name="has_frame">True</property>
- <property name="invisible_char">*</property>
- <property name="activates_default">False</property>
- <property name="width_chars">25</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkToggleButton" id="togglebutton_refresh">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Re_fresh</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <property name="label" translatable="yes">_Room:</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="mnemonic_widget">entry_room</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
</widget>
<packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox_room">
+ <widget class="GtkEntry" id="entry_server">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkLabel" id="label_room">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Room:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">entry_room</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkEntry" id="entry_room">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Enter the room name to join here or click on one or more rooms in the list.</property>
- <property name="can_focus">True</property>
- <property name="editable">True</property>
- <property name="visibility">True</property>
- <property name="max_length">0</property>
- <property name="text" translatable="yes"></property>
- <property name="has_frame">True</property>
- <property name="invisible_char">*</property>
- <property name="activates_default">True</property>
- <property name="width_chars">32</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
+ <property name="tooltip" translatable="yes">Enter the server which hosts the room, or leave it empty if the room is on the current account's server</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ <property name="width_chars">25</property>
</widget>
<packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
+ <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="GtkHBox" id="hbox_nick">
+ <widget class="GtkToggleButton" id="togglebutton_refresh">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkLabel" id="label_nick">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Nickname:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">entry_nick</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Re_fresh</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ </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">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkEntry" id="entry_nick">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="editable">True</property>
- <property name="visibility">True</property>
- <property name="max_length">0</property>
- <property name="text" translatable="yes"></property>
- <property name="has_frame">True</property>
- <property name="invisible_char">*</property>
- <property name="activates_default">False</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkEntry" id="entry_room">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Enter the room name to join here or click on one or more rooms in the list.</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">True</property>
+ <property name="width_chars">32</property>
</widget>
<packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options"></property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
</packing>
</child>
diff --git a/libempathy/empathy-tp-contact-list.c b/libempathy/empathy-tp-contact-list.c
index 213e5c6ba..17e2fcb51 100644
--- a/libempathy/empathy-tp-contact-list.c
+++ b/libempathy/empathy-tp-contact-list.c
@@ -1654,6 +1654,9 @@ tp_contact_list_start_avatar_requests (EmpathyTpContactList *list)
priv = GET_PRIV (list);
+ empathy_debug (DEBUG_DOMAIN, "Start avatar requests, queue size: %d",
+ n_avatar_requests);
+
while (n_avatar_requests < MAX_AVATAR_REQUESTS &&
priv->avatar_requests_queue) {
data = g_slice_new (TpContactListAvatarRequestData);
@@ -1664,6 +1667,7 @@ tp_contact_list_start_avatar_requests (EmpathyTpContactList *list)
priv->avatar_requests_queue = g_list_remove (priv->avatar_requests_queue,
priv->avatar_requests_queue->data);
+ empathy_debug (DEBUG_DOMAIN, "Calling RequestAvatar async");
tp_conn_iface_avatars_request_avatar_async (priv->avatars_iface,
data->handle,
(tp_conn_iface_avatars_request_avatar_reply)
@@ -1711,6 +1715,10 @@ tp_contact_list_request_avatar_cb (DBusGProxy *proxy,
} else {
EmpathyAvatar *avatar;
+ empathy_debug (DEBUG_DOMAIN, "Avatar received for %s (%d)",
+ empathy_contact_get_id (contact),
+ data->handle);
+
avatar = empathy_avatar_new (avatar_data->data,
avatar_data->len,
mime_type);