aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac7
-rw-r--r--libempathy-gtk/empathy-contact-dialogs.c5
-rw-r--r--libempathy-gtk/empathy-contact-list-view.c25
-rw-r--r--libempathy-gtk/empathy-contact-widget.c401
-rw-r--r--libempathy-gtk/empathy-contact-widget.h2
-rw-r--r--libempathy-gtk/empathy-contact-widget.ui74
-rw-r--r--libempathy-gtk/empathy-live-search.c3
-rw-r--r--libempathy-gtk/empathy-live-search.h3
-rw-r--r--po/gl.po116
-rw-r--r--po/nb.po174
-rw-r--r--src/empathy-chat-window.c1
11 files changed, 584 insertions, 227 deletions
diff --git a/configure.ac b/configure.ac
index b6539c13d..8e09f4dea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -32,7 +32,7 @@ AC_COPYRIGHT([
GLIB_REQUIRED=2.22.0
GTK_REQUIRED=2.21.2
GCONF_REQUIRED=1.2.0
-TELEPATHY_GLIB_REQUIRED=0.11.6
+TELEPATHY_GLIB_REQUIRED=0.11.7
TELEPATHY_LOGGER=0.1.1
ENCHANT_REQUIRED=1.2.0
ISO_CODES_REQUIRED=0.35
@@ -46,6 +46,7 @@ WEBKIT_REQUIRED=1.1.15
KEYRING_REQUIRED=2.22
NETWORK_MANAGER_REQUIRED=0.7.0
NAUTILUS_SENDTO_REQUIRED=2.28.1
+UNIQUE_REQUIRED=1.1.2
# Use --enable-maintainer-mode to disable deprecated symbols,
# disable single include and enable GSEAL. If this is not a released empathy,
@@ -205,7 +206,7 @@ PKG_CHECK_MODULES(EMPATHY,
telepathy-farsight
farsight2-0.10
gstreamer-0.10
- unique-1.0
+ unique-1.0 >= $UNIQUE_REQUIRED
gnome-keyring-1 >= $KEYRING_REQUIRED
])
@@ -219,7 +220,7 @@ PKG_CHECK_MODULES(LIBEMPATHY_ACCOUNTS_PANEL,
libebook-1.2
dbus-glib-1
telepathy-glib >= $TELEPATHY_GLIB_REQUIRED
- unique-1.0
+ unique-1.0 >= $UNIQUE_REQUIRED
gnome-keyring-1 >= $KEYRING_REQUIRED
])
diff --git a/libempathy-gtk/empathy-contact-dialogs.c b/libempathy-gtk/empathy-contact-dialogs.c
index f83ac7a81..b359b86cd 100644
--- a/libempathy-gtk/empathy-contact-dialogs.c
+++ b/libempathy-gtk/empathy-contact-dialogs.c
@@ -196,7 +196,7 @@ empathy_contact_information_dialog_show (EmpathyContact *contact,
/* Contact info widget */
contact_widget = empathy_contact_widget_new (contact,
EMPATHY_CONTACT_WIDGET_SHOW_LOCATION |
- EMPATHY_CONTACT_WIDGET_EDIT_NONE);
+ EMPATHY_CONTACT_WIDGET_SHOW_DETAILS);
gtk_container_set_border_width (GTK_CONTAINER (contact_widget), 8);
gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
contact_widget,
@@ -308,7 +308,8 @@ empathy_contact_personal_dialog_show (GtkWindow *parent)
contact_widget = empathy_contact_widget_new (NULL,
EMPATHY_CONTACT_WIDGET_EDIT_ACCOUNT |
EMPATHY_CONTACT_WIDGET_EDIT_ALIAS |
- EMPATHY_CONTACT_WIDGET_EDIT_AVATAR);
+ EMPATHY_CONTACT_WIDGET_EDIT_AVATAR |
+ EMPATHY_CONTACT_WIDGET_EDIT_DETAILS);
gtk_container_set_border_width (GTK_CONTAINER (contact_widget), 8);
gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (personal_dialog))),
contact_widget,
diff --git a/libempathy-gtk/empathy-contact-list-view.c b/libempathy-gtk/empathy-contact-list-view.c
index 8d0cd784f..208306c3d 100644
--- a/libempathy-gtk/empathy-contact-list-view.c
+++ b/libempathy-gtk/empathy-contact-list-view.c
@@ -149,6 +149,8 @@ contact_list_view_is_visible_contact (EmpathyContactListView *self,
gchar *dup_str = NULL;
gboolean visible;
+ g_assert (live != NULL);
+
/* check alias name */
str = empathy_contact_get_name (contact);
if (empathy_live_search_match (live, str))
@@ -183,7 +185,8 @@ contact_list_view_filter_visible_func (GtkTreeModel *model,
GtkTreeIter child_iter;
gboolean visible;
- if (!gtk_widget_get_visible (priv->search_widget))
+ if (priv->search_widget == NULL ||
+ !gtk_widget_get_visible (priv->search_widget))
return TRUE;
gtk_tree_model_get (model, iter,
@@ -1291,7 +1294,7 @@ contact_list_view_search_show_cb (EmpathyLiveSearch *search,
typedef struct {
EmpathyContactListView *view;
- GtkTreePath *path;
+ GtkTreeRowReference *row_ref;
gboolean expand;
} ExpandData;
@@ -1299,25 +1302,31 @@ static gboolean
contact_list_view_expand_idle_cb (gpointer user_data)
{
ExpandData *data = user_data;
+ GtkTreePath *path;
+
+ path = gtk_tree_row_reference_get_path (data->row_ref);
+ if (path == NULL)
+ goto done;
g_signal_handlers_block_by_func (data->view,
contact_list_view_row_expand_or_collapse_cb,
GINT_TO_POINTER (data->expand));
if (data->expand) {
- gtk_tree_view_expand_row (GTK_TREE_VIEW (data->view),
- data->path, TRUE);
+ gtk_tree_view_expand_row (GTK_TREE_VIEW (data->view), path,
+ TRUE);
} else {
- gtk_tree_view_collapse_row (GTK_TREE_VIEW (data->view),
- data->path);
+ gtk_tree_view_collapse_row (GTK_TREE_VIEW (data->view), path);
}
+ gtk_tree_path_free (path);
g_signal_handlers_unblock_by_func (data->view,
contact_list_view_row_expand_or_collapse_cb,
GINT_TO_POINTER (data->expand));
+done:
g_object_unref (data->view);
- gtk_tree_path_free (data->path);
+ gtk_tree_row_reference_free (data->row_ref);
g_slice_free (ExpandData, data);
return FALSE;
@@ -1346,7 +1355,7 @@ contact_list_view_row_has_child_toggled_cb (GtkTreeModel *model,
data = g_slice_new0 (ExpandData);
data->view = g_object_ref (view);
- data->path = gtk_tree_path_copy (path);
+ data->row_ref = gtk_tree_row_reference_new (model, path);
data->expand =
(priv->list_features & EMPATHY_CONTACT_LIST_FEATURE_GROUPS_SAVE) == 0 ||
(priv->search_widget != NULL && gtk_widget_get_visible (priv->search_widget)) ||
diff --git a/libempathy-gtk/empathy-contact-widget.c b/libempathy-gtk/empathy-contact-widget.c
index 05dfb7a50..72fe321d7 100644
--- a/libempathy-gtk/empathy-contact-widget.c
+++ b/libempathy-gtk/empathy-contact-widget.c
@@ -34,6 +34,7 @@
#include <telepathy-glib/account.h>
#include <telepathy-glib/util.h>
+#include <telepathy-glib/interfaces.h>
#include <libempathy/empathy-tp-contact-factory.h>
#include <libempathy/empathy-contact-manager.h>
@@ -94,7 +95,6 @@ typedef struct
GtkWidget *widget_id;
GtkWidget *widget_alias;
GtkWidget *label_alias;
- GtkWidget *entry_alias;
GtkWidget *hbox_presence;
GtkWidget *image_state;
GtkWidget *label_status;
@@ -123,6 +123,9 @@ typedef struct
GtkWidget *vbox_details;
GtkWidget *table_details;
GtkWidget *hbox_details_requested;
+ GtkWidget *spinner_details;
+ GList *details_to_set;
+ GCancellable *details_cancellable;
/* Client */
GtkWidget *vbox_client;
@@ -147,16 +150,390 @@ enum
};
static void
+contact_widget_save (EmpathyContactWidget *information)
+{
+ TpConnection *connection;
+ GList *l, *next;
+
+ connection = empathy_contact_get_connection (information->contact);
+
+ /* Remove empty fields */
+ for (l = information->details_to_set; l != NULL; l = next)
+ {
+ TpContactInfoField *field = l->data;
+
+ next = l->next;
+ if (field->field_value == NULL || EMP_STR_EMPTY (field->field_value[0]))
+ {
+ DEBUG ("Drop empty field: %s", field->field_name);
+ tp_contact_info_field_free (field);
+ information->details_to_set =
+ g_list_delete_link (information->details_to_set, l);
+ }
+ }
+
+ if (information->details_to_set != NULL)
+ {
+ tp_connection_set_contact_info_async (connection,
+ information->details_to_set, NULL, NULL);
+ tp_contact_info_list_free (information->details_to_set);
+ information->details_to_set = NULL;
+ }
+}
+
+static void
contact_widget_details_setup (EmpathyContactWidget *information)
{
- /* FIXME: Needs new telepathy spec */
gtk_widget_hide (information->vbox_details);
+
+ information->spinner_details = gtk_spinner_new ();
+ gtk_box_pack_end (GTK_BOX (information->hbox_details_requested),
+ information->spinner_details, TRUE, TRUE, 0);
+ gtk_widget_show (information->spinner_details);
+}
+
+static void
+contact_widget_details_changed_cb (GtkEntry *entry,
+ TpContactInfoField *field)
+{
+ const gchar *strv[] = { NULL, NULL };
+
+ strv[0] = gtk_entry_get_text (entry);
+
+ if (field->field_value != NULL)
+ g_strfreev (field->field_value);
+ field->field_value = g_strdupv ((GStrv) strv);
+}
+
+static void contact_widget_details_notify_cb (EmpathyContactWidget *information);
+
+typedef struct
+{
+ const gchar *field_name;
+ const gchar *title;
+ gboolean linkify;
+} InfoFieldData;
+
+static InfoFieldData info_field_datas[] =
+{
+ { "fn", N_("Full name:"), FALSE },
+ { "tel", N_("Phone number:"), FALSE },
+ { "email", N_("E-mail address:"), TRUE },
+ { "url", N_("Website:"), TRUE },
+ { "bday", N_("Birthday:"), FALSE },
+ { NULL, NULL }
+};
+
+static InfoFieldData *
+find_info_field_data (const gchar *field_name)
+{
+ guint i;
+
+ for (i = 0; info_field_datas[i].field_name != NULL; i++)
+ {
+ if (!tp_strdiff (info_field_datas[i].field_name, field_name))
+ return info_field_datas + i;
+ }
+ return NULL;
+}
+
+static gint
+contact_info_field_name_cmp (const gchar *name1,
+ const gchar *name2)
+{
+ guint i;
+
+ if (!tp_strdiff (name1, name2))
+ return 0;
+
+ /* We use the order of info_field_datas */
+ for (i = 0; info_field_datas[i].field_name != NULL; i++)
+ {
+ if (!tp_strdiff (info_field_datas[i].field_name, name1))
+ return -1;
+ if (!tp_strdiff (info_field_datas[i].field_name, name2))
+ return +1;
+ }
+
+ return g_strcmp0 (name1, name2);
+}
+
+static gint
+contact_info_field_cmp (TpContactInfoField *field1,
+ TpContactInfoField *field2)
+{
+ return contact_info_field_name_cmp (field1->field_name, field2->field_name);
+}
+
+static gint
+contact_info_field_spec_cmp (TpContactInfoFieldSpec *spec1,
+ TpContactInfoFieldSpec *spec2)
+{
+ return contact_info_field_name_cmp (spec1->name, spec2->name);
+}
+
+static guint
+contact_widget_details_update_edit (EmpathyContactWidget *information)
+{
+ TpContact *contact;
+ TpConnection *connection;
+ GList *specs, *l;
+ guint n_rows = 0;
+
+ g_assert (information->details_to_set == NULL);
+
+ contact = empathy_contact_get_tp_contact (information->contact);
+ connection = tp_contact_get_connection (contact);
+
+ specs = tp_connection_get_contact_info_supported_fields (connection);
+ specs = g_list_sort (specs, (GCompareFunc) contact_info_field_spec_cmp);
+ for (l = specs; l != NULL; l = l->next)
+ {
+ TpContactInfoFieldSpec *spec = l->data;
+ TpContactInfoField *field;
+ InfoFieldData *field_data;
+ GList *info, *ll;
+ GStrv value = NULL;
+ GtkWidget *w;
+
+ field_data = find_info_field_data (spec->name);
+ if (field_data == NULL)
+ {
+ DEBUG ("Unhandled ContactInfo field spec: %s", spec->name);
+ continue;
+ }
+
+ /* Search initial value */
+ info = tp_contact_get_contact_info (contact);
+ for (ll = info; ll != NULL; ll = ll->next)
+ {
+ field = ll->data;
+ if (!tp_strdiff (field->field_name, spec->name))
+ {
+ value = field->field_value;
+ break;
+ }
+ }
+
+ field = tp_contact_info_field_new (spec->name, spec->parameters, value);
+ information->details_to_set = g_list_prepend (information->details_to_set,
+ field);
+
+ /* Add Title */
+ w = gtk_label_new (_(field_data->title));
+ gtk_table_attach (GTK_TABLE (information->table_details),
+ w, 0, 1, n_rows, n_rows + 1, GTK_FILL, 0, 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (w), 0, 0.5);
+ gtk_widget_show (w);
+
+ /* Add Value */
+ w = gtk_entry_new ();
+ gtk_entry_set_text (GTK_ENTRY (w),
+ field->field_value[0] ? field->field_value[0] : "");
+ gtk_table_attach_defaults (GTK_TABLE (information->table_details),
+ w, 1, 2, n_rows, n_rows + 1);
+ gtk_widget_show (w);
+
+ g_signal_connect (w, "changed",
+ G_CALLBACK (contact_widget_details_changed_cb), field);
+
+ n_rows++;
+ }
+ g_list_free (specs);
+
+ return n_rows;
+}
+
+static guint
+contact_widget_details_update_show (EmpathyContactWidget *information)
+{
+ TpContact *contact;
+ GList *info, *l;
+ guint n_rows = 0;
+
+ contact = empathy_contact_get_tp_contact (information->contact);
+ info = tp_contact_get_contact_info (contact);
+ info = g_list_sort (info, (GCompareFunc) contact_info_field_cmp);
+ for (l = info; l != NULL; l = l->next)
+ {
+ TpContactInfoField *field = l->data;
+ InfoFieldData *field_data;
+ const gchar *value;
+ GtkWidget *w;
+
+ if (field->field_value == NULL || field->field_value[0] == NULL)
+ continue;
+
+ value = field->field_value[0];
+
+ field_data = find_info_field_data (field->field_name);
+ if (field_data == NULL)
+ {
+ DEBUG ("Unhandled ContactInfo field: %s", field->field_name);
+ continue;
+ }
+
+ /* Add Title */
+ w = gtk_label_new (_(field_data->title));
+ gtk_table_attach (GTK_TABLE (information->table_details),
+ w, 0, 1, n_rows, n_rows + 1, GTK_FILL, 0, 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (w), 0, 0.5);
+ gtk_widget_show (w);
+
+ /* Add Value */
+ w = gtk_label_new (value);
+ if (field_data->linkify)
+ {
+ gchar *markup;
+
+ markup = empathy_add_link_markup (value);
+ gtk_label_set_markup (GTK_LABEL (w), markup);
+ g_free (markup);
+ }
+
+ if ((information->flags & EMPATHY_CONTACT_WIDGET_FOR_TOOLTIP) == 0)
+ gtk_label_set_selectable (GTK_LABEL (w), TRUE);
+
+ gtk_table_attach_defaults (GTK_TABLE (information->table_details),
+ w, 1, 2, n_rows, n_rows + 1);
+ gtk_misc_set_alignment (GTK_MISC (w), 0, 0.5);
+ gtk_widget_show (w);
+
+ n_rows++;
+ }
+ g_list_free (info);
+
+ return n_rows;
+}
+
+static void
+contact_widget_details_notify_cb (EmpathyContactWidget *information)
+{
+ guint n_rows;
+
+ gtk_container_foreach (GTK_CONTAINER (information->table_details),
+ (GtkCallback) gtk_widget_destroy, NULL);
+
+ if ((information->flags & EMPATHY_CONTACT_WIDGET_EDIT_DETAILS) != 0)
+ n_rows = contact_widget_details_update_edit (information);
+ else
+ n_rows = contact_widget_details_update_show (information);
+
+ if (n_rows > 0)
+ {
+ gtk_widget_show (information->vbox_details);
+ gtk_widget_show (information->table_details);
+ }
+ else
+ {
+ gtk_widget_hide (information->vbox_details);
+ }
+
+ gtk_widget_hide (information->hbox_details_requested);
+ gtk_spinner_stop (GTK_SPINNER (information->spinner_details));
+}
+
+static void
+contact_widget_details_request_cb (GObject *object,
+ GAsyncResult *res,
+ gpointer user_data)
+{
+ TpContact *contact = TP_CONTACT (object);
+ EmpathyContactWidget *information = user_data;
+ GError *error = NULL;
+
+ if (!tp_contact_request_contact_info_finish (contact, res, &error))
+ {
+ /* If the request got cancelled it could mean the contact widget is
+ * destroyed, so we should not dereference information */
+ if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+ {
+ g_clear_error (&error);
+ return;
+ }
+
+ gtk_widget_hide (information->vbox_details);
+ g_clear_error (&error);
+ }
+ else
+ {
+ contact_widget_details_notify_cb (information);
+ }
+
+ /* If we are going to edit ContactInfo, we don't want live updates */
+ if ((information->flags & EMPATHY_CONTACT_WIDGET_EDIT_DETAILS) == 0)
+ {
+ g_signal_connect_swapped (contact, "notify::contact-info",
+ G_CALLBACK (contact_widget_details_notify_cb), information);
+ }
+
+ g_object_unref (information->details_cancellable);
+ information->details_cancellable = NULL;
+}
+
+static void
+contact_widget_details_feature_prepared_cb (GObject *object,
+ GAsyncResult *res,
+ gpointer user_data)
+{
+ TpConnection *connection = TP_CONNECTION (object);
+ EmpathyContactWidget *information = user_data;
+ TpContact *contact;
+ TpContactInfoFlags flags;
+
+ if (!tp_proxy_prepare_finish (connection, res, NULL))
+ {
+ gtk_widget_hide (information->vbox_details);
+ return;
+ }
+
+ /* If we want to edit info, but connection does not support that, stop */
+ flags = tp_connection_get_contact_info_flags (connection);
+ if ((flags & TP_CONTACT_INFO_FLAG_CAN_SET) == 0 &&
+ (information->flags & EMPATHY_CONTACT_WIDGET_EDIT_DETAILS) != 0)
+ {
+ gtk_widget_hide (information->vbox_details);
+ return;
+ }
+
+ /* Request the contact's info */
+ gtk_widget_show (information->vbox_details);
+ gtk_widget_show (information->hbox_details_requested);
+ gtk_widget_hide (information->table_details);
+ gtk_spinner_start (GTK_SPINNER (information->spinner_details));
+
+ contact = empathy_contact_get_tp_contact (information->contact);
+ g_assert (information->details_cancellable == NULL);
+ information->details_cancellable = g_cancellable_new ();
+ tp_contact_request_contact_info_async (contact,
+ information->details_cancellable, contact_widget_details_request_cb,
+ information);
}
static void
contact_widget_details_update (EmpathyContactWidget *information)
{
- /* FIXME: Needs new telepathy spec */
+ TpContact *tp_contact = NULL;
+
+ if ((information->flags & EMPATHY_CONTACT_WIDGET_SHOW_DETAILS) == 0 &&
+ (information->flags & EMPATHY_CONTACT_WIDGET_EDIT_DETAILS) == 0)
+ return;
+
+ gtk_widget_hide (information->vbox_details);
+
+ if (information->contact != NULL)
+ tp_contact = empathy_contact_get_tp_contact (information->contact);
+
+ if (tp_contact != NULL)
+ {
+ GQuark features[] = { TP_CONNECTION_FEATURE_CONTACT_INFO, 0 };
+ TpConnection *connection;
+
+ /* First, make sure the CONTACT_INFO feature is ready on the connection */
+ connection = tp_contact_get_connection (tp_contact);
+ tp_proxy_prepare_async (connection, features,
+ contact_widget_details_feature_prepared_cb, information);
+ }
}
static void
@@ -1048,6 +1425,10 @@ contact_widget_remove_contact (EmpathyContactWidget *information)
{
if (information->contact)
{
+ TpContact *tp_contact;
+
+ contact_widget_save (information);
+
g_signal_handlers_disconnect_by_func (information->contact,
contact_widget_name_notify_cb, information);
g_signal_handlers_disconnect_by_func (information->contact,
@@ -1057,9 +1438,23 @@ contact_widget_remove_contact (EmpathyContactWidget *information)
g_signal_handlers_disconnect_by_func (information->contact,
contact_widget_groups_notify_cb, information);
+ tp_contact = empathy_contact_get_tp_contact (information->contact);
+ if (tp_contact != NULL)
+ {
+ g_signal_handlers_disconnect_by_func (tp_contact,
+ contact_widget_details_notify_cb, information);
+ }
+
g_object_unref (information->contact);
information->contact = NULL;
}
+
+ if (information->details_cancellable != NULL)
+ {
+ g_cancellable_cancel (information->details_cancellable);
+ g_object_unref (information->details_cancellable);
+ information->details_cancellable = NULL;
+ }
}
static void contact_widget_change_contact (EmpathyContactWidget *information);
diff --git a/libempathy-gtk/empathy-contact-widget.h b/libempathy-gtk/empathy-contact-widget.h
index af669477e..fb684a41b 100644
--- a/libempathy-gtk/empathy-contact-widget.h
+++ b/libempathy-gtk/empathy-contact-widget.h
@@ -62,6 +62,8 @@ typedef enum
EMPATHY_CONTACT_WIDGET_SHOW_LOCATION = 1 << 6,
EMPATHY_CONTACT_WIDGET_NO_SET_ALIAS = 1 << 7,
EMPATHY_CONTACT_WIDGET_EDIT_FAVOURITE = 1 << 8,
+ EMPATHY_CONTACT_WIDGET_SHOW_DETAILS = 1 << 9,
+ EMPATHY_CONTACT_WIDGET_EDIT_DETAILS = 1 << 10,
} EmpathyContactWidgetFlags;
GtkWidget * empathy_contact_widget_new (EmpathyContact *contact,
diff --git a/libempathy-gtk/empathy-contact-widget.ui b/libempathy-gtk/empathy-contact-widget.ui
index 438abf237..0792dcff9 100644
--- a/libempathy-gtk/empathy-contact-widget.ui
+++ b/libempathy-gtk/empathy-contact-widget.ui
@@ -3,7 +3,6 @@
<requires lib="gtk+" version="2.16"/>
<!-- interface-naming-policy toplevel-contextual -->
<object class="GtkVBox" id="vbox_contact_widget">
- <property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkHBox" id="hbox_contact">
@@ -12,7 +11,6 @@
<child>
<object class="GtkVBox" id="vbox225">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkTable" id="table_contact">
@@ -102,7 +100,6 @@
<child>
<object class="GtkVBox" id="vbox_avatar">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
@@ -120,7 +117,6 @@
</child>
<child>
<object class="GtkVBox" id="vbox_location">
- <property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label_location">
@@ -142,7 +138,6 @@
<child>
<object class="GtkVBox" id="subvbox_location">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<placeholder/>
@@ -178,7 +173,6 @@
</child>
<child>
<object class="GtkVBox" id="vbox_groups">
- <property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label672">
@@ -202,7 +196,6 @@
<child>
<object class="GtkVBox" id="vbox224">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label679">
@@ -288,7 +281,6 @@
</child>
<child>
<object class="GtkVBox" id="vbox_details">
- <property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label649">
@@ -312,67 +304,14 @@
<child>
<object class="GtkVBox" id="vbox218">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkTable" id="table_details">
- <property name="n_rows">4</property>
+ <property name="visible">True</property>
<property name="n_columns">2</property>
<property name="column_spacing">12</property>
<property name="row_spacing">6</property>
<child>
- <object class="GtkLabel" id="label670">
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Full name:</property>
- </object>
- <packing>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label650">
- <property name="xalign">0</property>
- <property name="label" translatable="yes">E-mail address:</property>
- </object>
- <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>
- <object class="GtkLabel" id="label651">
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Website:</property>
- </object>
- <packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label652">
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Birthday:</property>
- </object>
- <packing>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
<placeholder/>
</child>
<child>
@@ -385,7 +324,6 @@
</child>
<child>
<object class="GtkHBox" id="hbox_details_requested">
- <property name="visible">True</property>
<property name="spacing">6</property>
<child>
<object class="GtkImage" id="image885">
@@ -434,7 +372,6 @@
</child>
<child>
<object class="GtkVBox" id="vbox_client">
- <property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label662">
@@ -458,16 +395,17 @@
<child>
<object class="GtkVBox" id="vbox222">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkTable" id="table_client">
+ <property name="visible">True</property>
<property name="n_rows">3</property>
<property name="n_columns">2</property>
<property name="column_spacing">12</property>
<property name="row_spacing">6</property>
<child>
<object class="GtkLabel" id="label668">
+ <property name="visible">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="label" translatable="yes">OS:</property>
@@ -480,6 +418,7 @@
</child>
<child>
<object class="GtkLabel" id="label667">
+ <property name="visible">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="label" translatable="yes">Version:</property>
@@ -492,6 +431,7 @@
</child>
<child>
<object class="GtkLabel" id="label666">
+ <property name="visible">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="label" translatable="yes">Client:</property>
@@ -502,6 +442,7 @@
</child>
<child>
<object class="GtkLabel" id="label_client">
+ <property name="visible">True</property>
<property name="can_focus">True</property>
<property name="xalign">0</property>
<property name="xpad">2</property>
@@ -516,6 +457,7 @@
</child>
<child>
<object class="GtkLabel" id="label_version">
+ <property name="visible">True</property>
<property name="can_focus">True</property>
<property name="xalign">0</property>
<property name="xpad">2</property>
@@ -532,6 +474,7 @@
</child>
<child>
<object class="GtkLabel" id="label_os">
+ <property name="visible">True</property>
<property name="can_focus">True</property>
<property name="xalign">0</property>
<property name="xpad">2</property>
@@ -554,7 +497,6 @@
</child>
<child>
<object class="GtkHBox" id="hbox_client_requested">
- <property name="visible">True</property>
<property name="spacing">6</property>
<child>
<object class="GtkImage" id="image887">
diff --git a/libempathy-gtk/empathy-live-search.c b/libempathy-gtk/empathy-live-search.c
index b1215bfd3..97dac8791 100644
--- a/libempathy-gtk/empathy-live-search.c
+++ b/libempathy-gtk/empathy-live-search.c
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2010 Collabora Ltd.
+ * Copyright (C) 2007-2010 Nokia Corporation.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -16,6 +17,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* Authors: Felix Kaser <felix.kaser@collabora.co.uk>
+ * Xavier Claessens <xavier.claessens@collabora.co.uk>
+ * Claudio Saavedra <csaavedra@igalia.com>
*/
#include <config.h>
diff --git a/libempathy-gtk/empathy-live-search.h b/libempathy-gtk/empathy-live-search.h
index 108b42cdc..78dc236c0 100644
--- a/libempathy-gtk/empathy-live-search.h
+++ b/libempathy-gtk/empathy-live-search.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2010 Collabora Ltd.
+ * Copyright (C) 2007-2010 Nokia Corporation.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -16,6 +17,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* Authors: Felix Kaser <felix.kaser@collabora.co.uk>
+ * Xavier Claessens <xavier.claessens@collabora.co.uk>
+ * Claudio Saavedra <csaavedra@igalia.com>
*/
#ifndef __EMPATHY_LIVE_SEARCH_H__
diff --git a/po/gl.po b/po/gl.po
index c95256605..84d1d751c 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: empathy-master-po-gl-57278_.merged\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-06-03 21:40+0200\n"
-"PO-Revision-Date: 2010-06-03 21:39+0200\n"
+"POT-Creation-Date: 2010-06-13 01:47+0200\n"
+"PO-Revision-Date: 2010-06-13 01:49+0200\n"
"Last-Translator: Fran Diéguez <frandieguez@ubuntu.com>\n"
"Language-Team: Galician <gnome@g11.net>\n"
"MIME-Version: 1.0\n"
@@ -235,7 +235,7 @@ msgstr "Reproducir un son cando iniciamos a sesión"
# rever
#: ../data/empathy.schemas.in.h:39
msgid "Play a sound when we log out"
-msgstr "Reproducir un son cando terminamos a sesión"
+msgstr "Reproducir un son cando saímos da sesión"
# rever
#: ../data/empathy.schemas.in.h:40
@@ -558,14 +558,14 @@ msgstr ""
#: ../data/empathy-accounts.desktop.in.in.h:1
msgid "Manage Messaging and VoIP accounts"
-msgstr "Xestionar as contas de mensaxería e VoIP"
+msgstr "Xestionar as contas de mensaxaría e VoIP"
#. Tweak the dialog
#: ../data/empathy-accounts.desktop.in.in.h:2
#: ../src/empathy-accounts-dialog.c:2094 ../src/cc-empathy-accounts-page.c:244
#: ../src/cc-empathy-accounts-panel.c:91
msgid "Messaging and VoIP Accounts"
-msgstr "Contas de mensaxería e VoIP"
+msgstr "Contas de mensaxaría e VoIP"
#: ../libempathy/empathy-ft-handler.c:843
msgid "The hash of the received file and the sent one do not match"
@@ -1083,7 +1083,7 @@ msgstr "Requírese un c_ifrado (TLS/SSL)"
# rever
#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:23
msgid "_Ignore SSL certificate errors"
-msgstr "_Ignorar os erros de certificado SSL"
+msgstr "_Ignorar os erros do certificado SSL"
#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:1
msgid "<b>Example:</b> user@hotmail.com"
@@ -1466,7 +1466,7 @@ msgstr "%s uniuse á sala"
msgid "%s is now known as %s"
msgstr "%s agora é coñecido como %s"
-#: ../libempathy-gtk/empathy-chat.c:2365 ../src/empathy-call-window.c:1649
+#: ../libempathy-gtk/empathy-chat.c:2365 ../src/empathy-call-window.c:1653
msgid "Disconnected"
msgstr "Desconectado"
@@ -1536,30 +1536,30 @@ msgid "Subscription Request"
msgstr "Solicitude de subscrición"
# rever
-#: ../libempathy-gtk/empathy-contact-list-view.c:1628
+#: ../libempathy-gtk/empathy-contact-list-view.c:1869
#, c-format
msgid "Do you really want to remove the group '%s'?"
msgstr "Está seguro de que quere eliminar o grupo '%s'?"
# rever
-#: ../libempathy-gtk/empathy-contact-list-view.c:1630
+#: ../libempathy-gtk/empathy-contact-list-view.c:1871
msgid "Removing group"
msgstr "Eliminando o grupo"
#. Remove
-#: ../libempathy-gtk/empathy-contact-list-view.c:1679
-#: ../libempathy-gtk/empathy-contact-list-view.c:1756
+#: ../libempathy-gtk/empathy-contact-list-view.c:1920
+#: ../libempathy-gtk/empathy-contact-list-view.c:1997
#: ../src/empathy-accounts-dialog.ui.h:6
msgid "_Remove"
msgstr "_Eliminar"
# rever
-#: ../libempathy-gtk/empathy-contact-list-view.c:1709
+#: ../libempathy-gtk/empathy-contact-list-view.c:1950
#, c-format
msgid "Do you really want to remove the contact '%s'?"
msgstr "Está seguro de quere eliminar o contacto '%s'?"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1711
+#: ../libempathy-gtk/empathy-contact-list-view.c:1952
msgid "Removing contact"
msgstr "Eliminando o contacto"
@@ -1615,7 +1615,7 @@ msgstr "_Editar"
# rever
#: ../libempathy-gtk/empathy-contact-menu.c:566
-#: ../src/empathy-chat-window.c:899
+#: ../src/empathy-chat-window.c:900
msgid "Inviting you to this room"
msgstr "Invítao a vostede a esta sala"
@@ -1634,7 +1634,7 @@ msgid "Select"
msgstr "Seleccionar"
#: ../libempathy-gtk/empathy-contact-widget.c:246
-#: ../src/empathy-main-window.c:1130
+#: ../src/empathy-main-window.c:1132
msgid "Group"
msgstr "Grupo"
@@ -2235,19 +2235,19 @@ msgid "Instant Message (Empathy)"
msgstr "Mensaxe instantáneo (Empathy)"
# rever
-#: ../src/empathy.c:601
+#: ../src/empathy.c:608
msgid "Don't connect on startup"
msgstr "Non conectarse ao inicio"
# rever
-#: ../src/empathy.c:605
+#: ../src/empathy.c:612
msgid "Don't display the contact list or any other dialogs on startup"
msgstr "Non mostrar a lista de contactos nin outros diálogos no inicio"
# rever
-#: ../src/empathy.c:617
+#: ../src/empathy.c:624
msgid "- Empathy IM Client"
-msgstr "- Cliente de mensaxería instantánea Empathy"
+msgstr "- Cliente de mensaxaría instantánea Empathy"
# rever
#: ../src/empathy-about-dialog.c:85
@@ -2288,7 +2288,7 @@ msgstr ""
# rever
#: ../src/empathy-about-dialog.c:121
msgid "An Instant Messaging client for GNOME"
-msgstr "Un cliente de mensaxería instantánea para o GNOME"
+msgstr "Un cliente de mensaxaría instantánea para o GNOME"
#: ../src/empathy-about-dialog.c:127
msgid "translator-credits"
@@ -2593,50 +2593,50 @@ msgstr "Gamma"
msgid "Volume"
msgstr "Volume"
-#: ../src/empathy-call-window.c:1130
+#: ../src/empathy-call-window.c:1134
msgid "_Sidebar"
msgstr "Barra _lateral"
# rever
-#: ../src/empathy-call-window.c:1149
+#: ../src/empathy-call-window.c:1153
msgid "Audio input"
msgstr "Entrada de audio"
# rever
-#: ../src/empathy-call-window.c:1153
+#: ../src/empathy-call-window.c:1157
msgid "Video input"
msgstr "Entrada de vídeo"
-#: ../src/empathy-call-window.c:1157
+#: ../src/empathy-call-window.c:1161
msgid "Dialpad"
msgstr "Marcador"
#. translators: Call is a noun and %s is the contact name. This string
#. * is used in the window title
-#: ../src/empathy-call-window.c:1228
+#: ../src/empathy-call-window.c:1232
#, c-format
msgid "Call with %s"
msgstr "Chamar con %s"
#. translators: Call is a noun. This string is used in the window
#. * title
-#: ../src/empathy-call-window.c:1305
+#: ../src/empathy-call-window.c:1309
msgid "Call"
msgstr "Chamar"
# rever
#. Translators: number of minutes:seconds the caller has been connected
-#: ../src/empathy-call-window.c:1962
+#: ../src/empathy-call-window.c:1966
#, c-format
msgid "Connected — %d:%02dm"
msgstr "Conectado — %d:%02dm"
# rever
-#: ../src/empathy-call-window.c:2023
+#: ../src/empathy-call-window.c:2027
msgid "Technical Details"
msgstr "Detalles técnicos"
-#: ../src/empathy-call-window.c:2061
+#: ../src/empathy-call-window.c:2065
#, c-format
msgid ""
"%s's software does not understand any of the audio formats supported by your "
@@ -2645,7 +2645,7 @@ msgstr ""
"O software de %s non entende algúns dos formatos de video admitidos polo seu "
"computador"
-#: ../src/empathy-call-window.c:2066
+#: ../src/empathy-call-window.c:2070
#, c-format
msgid ""
"%s's software does not understand any of the video formats supported by your "
@@ -2654,7 +2654,7 @@ msgstr ""
"O software de %s non entende algúns dos formatos de vídeo admitidos polo seu "
"computador"
-#: ../src/empathy-call-window.c:2072
+#: ../src/empathy-call-window.c:2076
#, c-format
msgid ""
"Can't establish a connection to %s. One of you might be on a network that "
@@ -2663,21 +2663,21 @@ msgstr ""
"Non é posíbel estabelecer unha conexión a %s. Un deles pode estar nunha rede "
"que non permite conexións directas."
-#: ../src/empathy-call-window.c:2078
+#: ../src/empathy-call-window.c:2082
msgid "There was a failure on the network"
msgstr "Produciuse un fallo na rede"
-#: ../src/empathy-call-window.c:2082
+#: ../src/empathy-call-window.c:2086
msgid ""
"The audio formats necessary for this call are not installed on your computer"
msgstr "Non ten instalados os formatos de audio necesarios neste computador"
-#: ../src/empathy-call-window.c:2085
+#: ../src/empathy-call-window.c:2089
msgid ""
"The video formats necessary for this call are not installed on your computer"
msgstr "Non ten instalados os formatos de vídeo necesarios neste computador"
-#: ../src/empathy-call-window.c:2095
+#: ../src/empathy-call-window.c:2099
#, c-format
msgid ""
"Something unexpected happened in a Telepathy component. Please <a href=\"%s"
@@ -2688,15 +2688,15 @@ msgstr ""
"\">Informe de este erro</a> e anexe os rexistros que pode ollar na xanela "
"'Depurar' no menú Axuda."
-#: ../src/empathy-call-window.c:2103
+#: ../src/empathy-call-window.c:2107
msgid "There was a failure in the call engine"
msgstr "Produciuse un fallo ao chamar ao motor"
-#: ../src/empathy-call-window.c:2142
+#: ../src/empathy-call-window.c:2146
msgid "Can't establish audio stream"
msgstr "Non é posíbel estabelecer un fluxo de audio"
-#: ../src/empathy-call-window.c:2152
+#: ../src/empathy-call-window.c:2156
msgid "Can't establish video stream"
msgstr "Non é posíbel estabelecer un fluxo de vídeo"
@@ -2885,16 +2885,16 @@ msgstr "_Separadores"
msgid "_Undo Close Tab"
msgstr "_Desfacer o peche do separador"
-#: ../src/empathy-chatrooms-window.c:256
+#: ../src/empathy-chatrooms-window.c:241
msgid "Name"
msgstr "Nome"
-#: ../src/empathy-chatrooms-window.c:274
+#: ../src/empathy-chatrooms-window.c:259
msgid "Room"
msgstr "Sala"
# rever
-#: ../src/empathy-chatrooms-window.c:282
+#: ../src/empathy-chatrooms-window.c:267
msgid "Auto-Connect"
msgstr "Conectar automaticamente"
@@ -2945,44 +2945,44 @@ msgid "Incoming call from %s"
msgstr "Chamada entrante de %s"
# rever
-#: ../src/empathy-event-manager.c:598
+#: ../src/empathy-event-manager.c:585
msgid "Room invitation"
msgstr "Convite para unha sala"
# rever
-#: ../src/empathy-event-manager.c:601
+#: ../src/empathy-event-manager.c:588
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s estao convidando a unirse a %s"
-#: ../src/empathy-event-manager.c:609
+#: ../src/empathy-event-manager.c:596
msgid "_Decline"
msgstr "_Declinar"
-#: ../src/empathy-event-manager.c:614
+#: ../src/empathy-event-manager.c:601
#: ../src/empathy-new-chatroom-dialog.ui.h:7
msgid "_Join"
msgstr "_Unirse"
# rever
-#: ../src/empathy-event-manager.c:653
+#: ../src/empathy-event-manager.c:640
#, c-format
msgid "%s invited you to join %s"
msgstr "%s convidouno a unirse a %s"
# rever
-#: ../src/empathy-event-manager.c:679
+#: ../src/empathy-event-manager.c:666
#, c-format
msgid "Incoming file transfer from %s"
msgstr "Transferencia de ficheiro entrante de %s"
# rever
-#: ../src/empathy-event-manager.c:829
+#: ../src/empathy-event-manager.c:816
#, c-format
msgid "Subscription requested by %s"
msgstr "Subscrición solicitada por %s"
-#: ../src/empathy-event-manager.c:833
+#: ../src/empathy-event-manager.c:820
#, c-format
msgid ""
"\n"
@@ -2991,12 +2991,12 @@ msgstr ""
"\n"
"Mensaxe: %s"
-#: ../src/empathy-event-manager.c:877
+#: ../src/empathy-event-manager.c:864
#, c-format
msgid "%s is now offline."
msgstr "%s está agora desconectado."
-#: ../src/empathy-event-manager.c:899
+#: ../src/empathy-event-manager.c:886
#, c-format
msgid "%s is now online."
msgstr "%s está agora conectado."
@@ -3085,7 +3085,7 @@ msgstr "enviado \"%s\" a %s"
#: ../src/empathy-ft-manager.c:497
msgid "File transfer completed"
-msgstr "Transferencia de ficheiros terminada"
+msgstr "Transferencia de ficheiros rematada"
# rever
#: ../src/empathy-ft-manager.c:616 ../src/empathy-ft-manager.c:783
@@ -3122,7 +3122,7 @@ msgstr "Transferencias de ficheiros"
#: ../src/empathy-ft-manager.ui.h:2
msgid "Remove completed, canceled and failed file transfers from the list"
msgstr ""
-"Eliminar da lista as transferencias de ficheiros terminadas, canceladas e as "
+"Eliminar da lista as transferencias de ficheiros rematadas, canceladas e as "
"que fallaron"
# rever
@@ -3158,24 +3158,24 @@ msgstr "Orixe"
msgid "%s account"
msgstr "Conta %s"
-#: ../src/empathy-main-window.c:440
+#: ../src/empathy-main-window.c:442
msgid "Reconnect"
msgstr "Reconectar"
-#: ../src/empathy-main-window.c:446
+#: ../src/empathy-main-window.c:448
msgid "Edit Account"
msgstr "Editar a conta"
-#: ../src/empathy-main-window.c:452
+#: ../src/empathy-main-window.c:454
msgid "Close"
msgstr "Pechar"
-#: ../src/empathy-main-window.c:1113
+#: ../src/empathy-main-window.c:1115
msgid "Contact"
msgstr "Contacto"
# rever
-#: ../src/empathy-main-window.c:1500
+#: ../src/empathy-main-window.c:1502
msgid "Show and edit accounts"
msgstr "Mostrar e editar contas"
diff --git a/po/nb.po b/po/nb.po
index 3fa39edb7..164830e60 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: empathy 2.30.x\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-30 14:51+0200\n"
-"PO-Revision-Date: 2010-05-30 15:11+0200\n"
+"POT-Creation-Date: 2010-06-13 23:29+0200\n"
+"PO-Revision-Date: 2010-06-13 23:32+0200\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian <i18n-nb@lister.ping.uio.no>\n"
"MIME-Version: 1.0\n"
@@ -20,8 +20,8 @@ msgid "Empathy"
msgstr "Empathy"
#: ../data/empathy.desktop.in.in.h:2
-msgid "Empathy IM Client"
-msgstr "Empathy IM-klient"
+msgid "Empathy Internet Messaging"
+msgstr "Empathy internettmeldinger"
#: ../data/empathy.desktop.in.in.h:3
msgid "IM Client"
@@ -441,7 +441,7 @@ msgstr "Håndter meldings- og VoIP-kontoer"
#. Tweak the dialog
#: ../data/empathy-accounts.desktop.in.in.h:2
-#: ../src/empathy-accounts-dialog.c:2067 ../src/cc-empathy-accounts-page.c:244
+#: ../src/empathy-accounts-dialog.c:2094 ../src/cc-empathy-accounts-page.c:244
#: ../src/cc-empathy-accounts-panel.c:91
msgid "Messaging and VoIP Accounts"
msgstr "Meldings- og VoIP-kontoer"
@@ -1289,7 +1289,7 @@ msgstr "%s har blitt med i rommet"
msgid "%s is now known as %s"
msgstr "%s er nå kjent som %s"
-#: ../libempathy-gtk/empathy-chat.c:2365 ../src/empathy-call-window.c:1649
+#: ../libempathy-gtk/empathy-chat.c:2365 ../src/empathy-call-window.c:1653
msgid "Disconnected"
msgstr "Koblet fra"
@@ -1314,7 +1314,7 @@ msgid "Connected"
msgstr "Koblet til"
#: ../libempathy-gtk/empathy-chat.c:3204
-#: ../libempathy-gtk/empathy-log-window.c:707
+#: ../libempathy-gtk/empathy-log-window.c:710
msgid "Conversation"
msgstr "Samtale"
@@ -1356,28 +1356,28 @@ msgstr "A_vgjør senere"
msgid "Subscription Request"
msgstr "Abonnementsforespørsel"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1628
+#: ../libempathy-gtk/empathy-contact-list-view.c:1873
#, c-format
msgid "Do you really want to remove the group '%s'?"
msgstr "Vil du virkelig fjerne gruppen «%s»?"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1630
+#: ../libempathy-gtk/empathy-contact-list-view.c:1875
msgid "Removing group"
msgstr "Fjerner gruppe"
#. Remove
-#: ../libempathy-gtk/empathy-contact-list-view.c:1679
-#: ../libempathy-gtk/empathy-contact-list-view.c:1756
+#: ../libempathy-gtk/empathy-contact-list-view.c:1924
+#: ../libempathy-gtk/empathy-contact-list-view.c:2001
#: ../src/empathy-accounts-dialog.ui.h:6
msgid "_Remove"
msgstr "Fje_rn"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1709
+#: ../libempathy-gtk/empathy-contact-list-view.c:1954
#, c-format
msgid "Do you really want to remove the contact '%s'?"
msgstr "Vil du virkelig fjerne kontakten «%s»?"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1711
+#: ../libempathy-gtk/empathy-contact-list-view.c:1956
msgid "Removing contact"
msgstr "Fjerner kontakt"
@@ -1429,7 +1429,7 @@ msgid "_Edit"
msgstr "R_ediger"
#: ../libempathy-gtk/empathy-contact-menu.c:566
-#: ../src/empathy-chat-window.c:899
+#: ../src/empathy-chat-window.c:900
msgid "Inviting you to this room"
msgstr "Inviterer deg til dette rommet"
@@ -1446,7 +1446,7 @@ msgid "Select"
msgstr "Velg"
#: ../libempathy-gtk/empathy-contact-widget.c:246
-#: ../src/empathy-main-window.c:1032
+#: ../src/empathy-main-window.c:1132
msgid "Group"
msgstr "Gruppe"
@@ -1652,12 +1652,12 @@ msgstr "Port"
msgid "SSL"
msgstr "SSL"
-#: ../libempathy-gtk/empathy-log-window.c:700
+#: ../libempathy-gtk/empathy-log-window.c:703
#: ../src/empathy-import-widget.c:312
msgid "Account"
msgstr "Konto"
-#: ../libempathy-gtk/empathy-log-window.c:717
+#: ../libempathy-gtk/empathy-log-window.c:720
msgid "Date"
msgstr "Dato"
@@ -2023,15 +2023,15 @@ msgstr "Ingen feilmelding"
msgid "Instant Message (Empathy)"
msgstr "Lynmelding (Empathy)"
-#: ../src/empathy.c:601
+#: ../src/empathy.c:608
msgid "Don't connect on startup"
msgstr "Ikke koble til ved oppstart"
-#: ../src/empathy.c:605
+#: ../src/empathy.c:612
msgid "Don't display the contact list or any other dialogs on startup"
msgstr "Ikke vis kontaktlisten eller andre dialoger ved oppstart"
-#: ../src/empathy.c:617
+#: ../src/empathy.c:624
msgid "- Empathy IM Client"
msgstr "- Empathy lynmeldingsprogram"
@@ -2118,7 +2118,7 @@ msgstr "En feil oppsto"
#. To translator: %s is the name of the protocol, such as "Google Talk" or
#. * "Yahoo!"
#.
-#: ../src/empathy-account-assistant.c:413 ../src/empathy-accounts-dialog.c:579
+#: ../src/empathy-account-assistant.c:413 ../src/empathy-accounts-dialog.c:606
#, c-format
msgid "New %s account"
msgstr "Ny %s-konto"
@@ -2251,33 +2251,33 @@ msgstr "Det finnes ikke-lagrede endringer for din %s-konto."
msgid "Your new account has not been saved yet."
msgstr "Din nye konto er ikke lagret ennå."
-#: ../src/empathy-accounts-dialog.c:262 ../src/empathy-call-window.c:792
+#: ../src/empathy-accounts-dialog.c:273 ../src/empathy-call-window.c:792
msgid "Connecting…"
msgstr "Kobler til..."
-#: ../src/empathy-accounts-dialog.c:289
-#, c-format
-msgid "Disconnected — %s"
-msgstr "Koblet fra - %s"
-
-#: ../src/empathy-accounts-dialog.c:294
+#: ../src/empathy-accounts-dialog.c:314
#, c-format
msgid "Offline — %s"
msgstr "Frakoblet - %s"
-#: ../src/empathy-accounts-dialog.c:307
+#: ../src/empathy-accounts-dialog.c:326
+#, c-format
+msgid "Disconnected — %s"
+msgstr "Koblet fra - %s"
+
+#: ../src/empathy-accounts-dialog.c:337
msgid "Offline — No Network Connection"
msgstr "Frakoblet - Ingen nettverkstilkobling"
-#: ../src/empathy-accounts-dialog.c:315
+#: ../src/empathy-accounts-dialog.c:344
msgid "Unknown Status"
msgstr "Ukjent status"
-#: ../src/empathy-accounts-dialog.c:326
+#: ../src/empathy-accounts-dialog.c:356
msgid "Offline — Account Disabled"
msgstr "Frakoblet - Konto deaktivert"
-#: ../src/empathy-accounts-dialog.c:770
+#: ../src/empathy-accounts-dialog.c:797
msgid ""
"You are about to create a new account, which will discard\n"
"your changes. Are you sure you want to proceed?"
@@ -2285,16 +2285,16 @@ msgstr ""
"Du er i ferd med å lage en ny konto hvilket vil forkaste\n"
"dine endringer. Er du sikker på at du vil fortsette?"
-#: ../src/empathy-accounts-dialog.c:1117
+#: ../src/empathy-accounts-dialog.c:1144
#, c-format
msgid "Do you want to remove %s from your computer?"
msgstr "Vil du fjerne %s fra din datamaskin?"
-#: ../src/empathy-accounts-dialog.c:1121
+#: ../src/empathy-accounts-dialog.c:1148
msgid "This will not remove your account on the server."
msgstr "Dette vil ikke fjerne din konto på tjeneren."
-#: ../src/empathy-accounts-dialog.c:1358
+#: ../src/empathy-accounts-dialog.c:1385
msgid ""
"You are about to select another account, which will discard\n"
"your changes. Are you sure you want to proceed?"
@@ -2302,7 +2302,7 @@ msgstr ""
"Du er i ferd med å velge en annen konto hvilket vil forkaste\n"
"dine endringer. Er du sikker på at du vil fortsette?"
-#: ../src/empathy-accounts-dialog.c:1935
+#: ../src/empathy-accounts-dialog.c:1962
msgid ""
"You are about to close the window, which will discard\n"
"your changes. Are you sure you want to proceed?"
@@ -2354,46 +2354,46 @@ msgstr "Gamma"
msgid "Volume"
msgstr "Volum"
-#: ../src/empathy-call-window.c:1130
+#: ../src/empathy-call-window.c:1134
msgid "_Sidebar"
msgstr "_Sidelinje"
-#: ../src/empathy-call-window.c:1149
+#: ../src/empathy-call-window.c:1153
msgid "Audio input"
msgstr "Lydinngang"
-#: ../src/empathy-call-window.c:1153
+#: ../src/empathy-call-window.c:1157
msgid "Video input"
msgstr "Videoinngang"
-#: ../src/empathy-call-window.c:1157
+#: ../src/empathy-call-window.c:1161
msgid "Dialpad"
msgstr "Nummertavle"
#. translators: Call is a noun and %s is the contact name. This string
#. * is used in the window title
-#: ../src/empathy-call-window.c:1228
+#: ../src/empathy-call-window.c:1232
#, c-format
msgid "Call with %s"
msgstr "Samtale med %s"
#. translators: Call is a noun. This string is used in the window
#. * title
-#: ../src/empathy-call-window.c:1305
+#: ../src/empathy-call-window.c:1309
msgid "Call"
msgstr "Ring"
#. Translators: number of minutes:seconds the caller has been connected
-#: ../src/empathy-call-window.c:1962
+#: ../src/empathy-call-window.c:1966
#, c-format
msgid "Connected — %d:%02dm"
msgstr "Koblet til - %d:%02dm"
-#: ../src/empathy-call-window.c:2023
+#: ../src/empathy-call-window.c:2027
msgid "Technical Details"
msgstr "Tekniske detaljer"
-#: ../src/empathy-call-window.c:2061
+#: ../src/empathy-call-window.c:2065
#, c-format
msgid ""
"%s's software does not understand any of the audio formats supported by your "
@@ -2402,7 +2402,7 @@ msgstr ""
"Programvaren til %s forstår ikke noen av lydformatene som støttes av din "
"datamaskin"
-#: ../src/empathy-call-window.c:2066
+#: ../src/empathy-call-window.c:2070
#, c-format
msgid ""
"%s's software does not understand any of the video formats supported by your "
@@ -2411,7 +2411,7 @@ msgstr ""
"Programvaren til %s forstår ikke noen av videoformatene som støttes av din "
"datamaskin"
-#: ../src/empathy-call-window.c:2072
+#: ../src/empathy-call-window.c:2076
#, c-format
msgid ""
"Can't establish a connection to %s. One of you might be on a network that "
@@ -2420,25 +2420,25 @@ msgstr ""
"Kan ikke etablere tilkobling til %s. En av dere kan være på et nettverk som "
"ikke tillater direkte tilkoblinger."
-#: ../src/empathy-call-window.c:2078
+#: ../src/empathy-call-window.c:2082
msgid "There was a failure on the network"
msgstr "Det oppsto en feil på nettverket"
-#: ../src/empathy-call-window.c:2082
+#: ../src/empathy-call-window.c:2086
msgid ""
"The audio formats necessary for this call are not installed on your computer"
msgstr ""
"Lydformatene som kreves for denne samtalen er ikke installert på din "
"datamaskin"
-#: ../src/empathy-call-window.c:2085
+#: ../src/empathy-call-window.c:2089
msgid ""
"The video formats necessary for this call are not installed on your computer"
msgstr ""
"Videoformatene som kreves for denne samtalen er ikke installert på din "
"datamaskin"
-#: ../src/empathy-call-window.c:2095
+#: ../src/empathy-call-window.c:2099
#, c-format
msgid ""
"Something unexpected happened in a Telepathy component. Please <a href=\"%s"
@@ -2446,15 +2446,15 @@ msgid ""
"the Help menu."
msgstr ""
-#: ../src/empathy-call-window.c:2103
+#: ../src/empathy-call-window.c:2107
msgid "There was a failure in the call engine"
msgstr "Det oppsto en feil i samtalemotoren"
-#: ../src/empathy-call-window.c:2142
+#: ../src/empathy-call-window.c:2146
msgid "Can't establish audio stream"
msgstr "Kan ikke etablere lydstrøm"
-#: ../src/empathy-call-window.c:2152
+#: ../src/empathy-call-window.c:2156
msgid "Can't establish video stream"
msgstr "Kan ikke etablere videostrøm"
@@ -2634,15 +2634,15 @@ msgstr "_Faner"
msgid "_Undo Close Tab"
msgstr "Angre l_ukk fane"
-#: ../src/empathy-chatrooms-window.c:256
+#: ../src/empathy-chatrooms-window.c:241
msgid "Name"
msgstr "Navn"
-#: ../src/empathy-chatrooms-window.c:274
+#: ../src/empathy-chatrooms-window.c:259
msgid "Room"
msgstr "Rom"
-#: ../src/empathy-chatrooms-window.c:282
+#: ../src/empathy-chatrooms-window.c:267
msgid "Auto-Connect"
msgstr "Koble til automatisk"
@@ -2686,40 +2686,40 @@ msgstr "Innkommende videosamtale fra %s"
msgid "Incoming call from %s"
msgstr "Innkommende samtale fra %s"
-#: ../src/empathy-event-manager.c:598
+#: ../src/empathy-event-manager.c:585
msgid "Room invitation"
msgstr "Invitasjon til rom"
-#: ../src/empathy-event-manager.c:601
+#: ../src/empathy-event-manager.c:588
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s inviterer deg til å bli med i %s"
-#: ../src/empathy-event-manager.c:609
+#: ../src/empathy-event-manager.c:596
msgid "_Decline"
msgstr "_Avslå"
-#: ../src/empathy-event-manager.c:614
+#: ../src/empathy-event-manager.c:601
#: ../src/empathy-new-chatroom-dialog.ui.h:7
msgid "_Join"
msgstr "_Bli med"
-#: ../src/empathy-event-manager.c:653
+#: ../src/empathy-event-manager.c:640
#, c-format
msgid "%s invited you to join %s"
msgstr "%s inviterte deg til å bli med i %s"
-#: ../src/empathy-event-manager.c:679
+#: ../src/empathy-event-manager.c:666
#, c-format
msgid "Incoming file transfer from %s"
msgstr "Innkommende filoverføring fra %s"
-#: ../src/empathy-event-manager.c:829
+#: ../src/empathy-event-manager.c:816
#, c-format
msgid "Subscription requested by %s"
msgstr "Abonnement forespurt av %s"
-#: ../src/empathy-event-manager.c:833
+#: ../src/empathy-event-manager.c:820
#, c-format
msgid ""
"\n"
@@ -2728,12 +2728,12 @@ msgstr ""
"\n"
"Melding: %s"
-#: ../src/empathy-event-manager.c:877
+#: ../src/empathy-event-manager.c:864
#, c-format
msgid "%s is now offline."
msgstr "%s er nå frakoblet."
-#: ../src/empathy-event-manager.c:899
+#: ../src/empathy-event-manager.c:886
#, c-format
msgid "%s is now online."
msgstr "%s er nå tilkoblet."
@@ -2877,23 +2877,23 @@ msgstr "Kilde"
msgid "%s account"
msgstr "%s-konto"
-#: ../src/empathy-main-window.c:440
+#: ../src/empathy-main-window.c:442
msgid "Reconnect"
msgstr "Koble til på nytt"
-#: ../src/empathy-main-window.c:446
+#: ../src/empathy-main-window.c:448
msgid "Edit Account"
msgstr "Rediger konto"
-#: ../src/empathy-main-window.c:452
+#: ../src/empathy-main-window.c:454
msgid "Close"
msgstr "Lukk"
-#: ../src/empathy-main-window.c:1015
+#: ../src/empathy-main-window.c:1115
msgid "Contact"
msgstr "Kontakt"
-#: ../src/empathy-main-window.c:1402
+#: ../src/empathy-main-window.c:1502
msgid "Show and edit accounts"
msgstr "Vis og rediger kontoer"
@@ -3226,63 +3226,63 @@ msgstr "_Avslutt"
msgid "Contact Map View"
msgstr "Kartvisning for kontakter"
-#: ../src/empathy-debug-window.c:1078
+#: ../src/empathy-debug-window.c:1154
msgid "Save"
msgstr "Lagre"
-#: ../src/empathy-debug-window.c:1251
+#: ../src/empathy-debug-window.c:1330
msgid "Debug Window"
msgstr "Feilsøkingsvindu"
-#: ../src/empathy-debug-window.c:1331
+#: ../src/empathy-debug-window.c:1410
msgid "Pause"
msgstr "Pause"
-#: ../src/empathy-debug-window.c:1343
+#: ../src/empathy-debug-window.c:1422
msgid "Level "
msgstr "Nivå "
-#: ../src/empathy-debug-window.c:1363
+#: ../src/empathy-debug-window.c:1442
msgid "Debug"
msgstr "Feilsøk"
-#: ../src/empathy-debug-window.c:1369
+#: ../src/empathy-debug-window.c:1448
msgid "Info"
msgstr "Info"
-#: ../src/empathy-debug-window.c:1375 ../src/empathy-debug-window.c:1424
+#: ../src/empathy-debug-window.c:1454 ../src/empathy-debug-window.c:1503
msgid "Message"
msgstr "Melding"
-#: ../src/empathy-debug-window.c:1381
+#: ../src/empathy-debug-window.c:1460
msgid "Warning"
msgstr "Advarsel"
-#: ../src/empathy-debug-window.c:1387
+#: ../src/empathy-debug-window.c:1466
msgid "Critical"
msgstr "Kritisk"
-#: ../src/empathy-debug-window.c:1393
+#: ../src/empathy-debug-window.c:1472
msgid "Error"
msgstr "Feil"
-#: ../src/empathy-debug-window.c:1412
+#: ../src/empathy-debug-window.c:1491
msgid "Time"
msgstr "Tid"
-#: ../src/empathy-debug-window.c:1415
+#: ../src/empathy-debug-window.c:1494
msgid "Domain"
msgstr "Domene"
-#: ../src/empathy-debug-window.c:1417
+#: ../src/empathy-debug-window.c:1496
msgid "Category"
msgstr "Kategori"
-#: ../src/empathy-debug-window.c:1419
+#: ../src/empathy-debug-window.c:1498
msgid "Level"
msgstr "Nivå"
-#: ../src/empathy-debug-window.c:1456
+#: ../src/empathy-debug-window.c:1535
msgid ""
"The selected connection manager does not support the remote debugging "
"extension."
diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c
index 73c5f9472..7407ee355 100644
--- a/src/empathy-chat-window.c
+++ b/src/empathy-chat-window.c
@@ -795,6 +795,7 @@ chat_window_conv_activate_cb (GtkAction *action,
found);
}
gtk_action_set_visible (priv->menu_conv_favorite, is_room);
+ gtk_action_set_visible (priv->menu_conv_always_urgent, is_room);
/* Show contacts menu */
g_object_get (priv->current_chat,