diff options
-rw-r--r-- | configure.ac | 7 | ||||
-rw-r--r-- | libempathy-gtk/empathy-contact-dialogs.c | 5 | ||||
-rw-r--r-- | libempathy-gtk/empathy-contact-list-view.c | 25 | ||||
-rw-r--r-- | libempathy-gtk/empathy-contact-widget.c | 401 | ||||
-rw-r--r-- | libempathy-gtk/empathy-contact-widget.h | 2 | ||||
-rw-r--r-- | libempathy-gtk/empathy-contact-widget.ui | 74 | ||||
-rw-r--r-- | libempathy-gtk/empathy-live-search.c | 3 | ||||
-rw-r--r-- | libempathy-gtk/empathy-live-search.h | 3 | ||||
-rw-r--r-- | po/gl.po | 116 | ||||
-rw-r--r-- | po/nb.po | 174 | ||||
-rw-r--r-- | src/empathy-chat-window.c | 1 |
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__ @@ -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" @@ -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, |