aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac9
-rw-r--r--libempathy-gtk/empathy-account-widget.c172
-rw-r--r--libempathy-gtk/empathy-individual-dialogs.c3
-rw-r--r--libempathy-gtk/empathy-individual-menu.c7
-rw-r--r--libempathy-gtk/empathy-individual-store.c14
-rw-r--r--libempathy-gtk/empathy-individual-store.h1
-rw-r--r--libempathy-gtk/empathy-individual-view.c51
-rw-r--r--libempathy-gtk/empathy-individual-view.h3
-rw-r--r--libempathy-gtk/empathy-individual-widget.c1
-rw-r--r--libempathy-gtk/empathy-notify-manager.c2
-rw-r--r--libempathy-gtk/empathy-presence-chooser.c24
-rw-r--r--libempathy-gtk/empathy-presence-chooser.h6
-rw-r--r--libempathy-gtk/empathy-status-preset-dialog.c4
-rw-r--r--libempathy-gtk/empathy-status-preset-dialog.h2
-rw-r--r--libempathy-gtk/empathy-status-preset-dialog.ui3
-rw-r--r--libempathy/empathy-account-settings.c9
-rw-r--r--libempathy/empathy-contact.c1
-rw-r--r--libempathy/empathy-individual-manager.c35
-rw-r--r--libempathy/empathy-individual-manager.h13
-rw-r--r--libempathy/empathy-utils.c80
-rw-r--r--libempathy/empathy-utils.h5
-rw-r--r--po/es.po152
-rw-r--r--po/et.po100
-rw-r--r--po/nb.po815
-rw-r--r--src/Makefile.am4
-rw-r--r--src/empathy-account-assistant.c4
-rw-r--r--src/empathy-accounts-common.c1
-rw-r--r--src/empathy-accounts.c53
-rw-r--r--src/empathy-av.c8
-rw-r--r--src/empathy-debug-window.c4
-rw-r--r--src/empathy-debugger.c9
-rw-r--r--src/empathy-main-window.c14
-rw-r--r--src/empathy.c484
33 files changed, 1193 insertions, 900 deletions
diff --git a/configure.ac b/configure.ac
index 8b498d97d..06e698417 100644
--- a/configure.ac
+++ b/configure.ac
@@ -31,18 +31,17 @@ AC_COPYRIGHT([
# Minimal version required
# Hardp deps
-FOLKS_REQUIRED=0.3.0
+FOLKS_REQUIRED=0.3.1
GCONF_REQUIRED=1.2.0
GLIB_REQUIRED=2.25.9
GNUTLS_REQUIRED=2.8.5
-GTK_REQUIRED=2.91.0
+GTK_REQUIRED=2.91.1
KEYRING_REQUIRED=2.26.0
LIBCANBERRA_GTK_REQUIRED=0.25
LIBNOTIFY_REQUIRED=0.5.1
TELEPATHY_FARSIGHT_REQUIRED=0.0.14
-TELEPATHY_GLIB_REQUIRED=0.11.16
+TELEPATHY_GLIB_REQUIRED=0.13.1.1
TELEPATHY_LOGGER=0.1.5
-UNIQUE_REQUIRED=1.1.2
# Optionnal deps
CLUTTER_GTK_REQUIRED=0.90.3
@@ -182,7 +181,6 @@ PKG_CHECK_MODULES(GTK, gtk+-3.0 >= $GTK_REQUIRED)
PKG_CHECK_MODULES(CANBERRA, libcanberra-gtk3 >= $LIBCANBERRA_GTK_REQUIRED)
PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= $LIBNOTIFY_REQUIRED)
-PKG_CHECK_MODULES(UNIQUE, unique-3.0 >= $UNIQUE_REQUIRED)
PKG_CHECK_MODULES(GCR, gcr-3 >= $KEYRING_REQUIRED)
# -----------------------------------------------------------
@@ -389,6 +387,7 @@ if test "x$enable_meego" != "xno"; then
PKG_CHECK_MODULES(MEEGO,
[
mx-gtk-1.0
+ gio-unix-2.0
], have_meego="yes", have_meego="no")
if test "x$have_meego" = "xyes"; then
diff --git a/libempathy-gtk/empathy-account-widget.c b/libempathy-gtk/empathy-account-widget.c
index f59507904..0bb918e1a 100644
--- a/libempathy-gtk/empathy-account-widget.c
+++ b/libempathy-gtk/empathy-account-widget.c
@@ -33,6 +33,7 @@
#ifdef HAVE_MEEGO
#include <mx-gtk/mx-gtk.h>
#endif /* HAVE_MEEGO */
+#include <gio/gdesktopappinfo.h>
#include <libempathy/empathy-utils.h>
@@ -111,6 +112,10 @@ enum {
static void account_widget_apply_and_log_in (EmpathyAccountWidget *);
+enum {
+ RESPONSE_LAUNCH
+};
+
static guint signals[LAST_SIGNAL] = { 0 };
#define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyAccountWidget)
@@ -1013,6 +1018,100 @@ account_widget_build_generic (EmpathyAccountWidget *self,
}
static void
+account_widget_launch_external_clicked (GtkWidget *button,
+ TpAccount *account)
+{
+ if (!tp_strdiff (tp_account_get_storage_provider (account),
+ "com.meego.libsocialweb"))
+ {
+ /* we know how to handle this external provider */
+ GDesktopAppInfo *app_info;
+ const gchar *args[3] = { NULL, };
+ GError *error = NULL;
+
+ app_info = g_desktop_app_info_new ("gnome-control-center.desktop");
+
+ if (app_info == NULL)
+ {
+ g_critical ("Could not locate 'gnome-control-center.desktop'");
+ return;
+ }
+
+ args[0] = g_app_info_get_commandline (G_APP_INFO (app_info));
+ args[1] = "bisho.desktop";
+ args[2] = NULL;
+
+ gdk_spawn_on_screen (gtk_widget_get_screen (button),
+ NULL, (gchar **) args, NULL,
+ G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &error);
+ if (error != NULL)
+ {
+ g_critical ("Failed to launch editor: %s", error->message);
+ g_clear_error (&error);
+ }
+
+ g_object_unref (app_info);
+ }
+}
+
+static void
+account_widget_build_external (EmpathyAccountWidget *self,
+ EmpathyAccountSettings *settings)
+{
+ EmpathyAccountWidgetPriv *priv = GET_PRIV (self);
+ TpAccount *account = empathy_account_settings_get_account (settings);
+ GtkWidget *bar, *widget;
+ gchar *str;
+
+ self->ui_details->widget = gtk_vbox_new (FALSE, 6);
+ priv->table_common_settings = gtk_table_new (1, 2, FALSE);
+
+ if (!tp_strdiff (tp_account_get_storage_provider (account),
+ "com.meego.libsocialweb"))
+ {
+ /* we know how to handle this external provider */
+ str = g_strdup_printf (
+ _("The account %s is edited via My Web Accounts."),
+ empathy_account_settings_get_display_name (settings));
+ }
+ else
+ {
+ str = g_strdup_printf (
+ _("The account %s cannot be edited in Empathy."),
+ empathy_account_settings_get_display_name (settings));
+ }
+
+ widget = gtk_label_new (str);
+ gtk_label_set_line_wrap (GTK_LABEL (widget), TRUE);
+ g_free (str);
+
+ bar = gtk_info_bar_new ();
+ gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_INFO);
+ gtk_container_add (
+ GTK_CONTAINER (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))),
+ widget);
+ gtk_container_set_border_width (GTK_CONTAINER (bar), 6);
+
+ if (!tp_strdiff (tp_account_get_storage_provider (account),
+ "com.meego.libsocialweb"))
+ {
+ /* we know how to handle this external provider */
+ widget = gtk_info_bar_add_button (GTK_INFO_BAR (bar),
+ _("Launch My Web Accounts"), RESPONSE_LAUNCH);
+
+ g_signal_connect (widget, "clicked",
+ G_CALLBACK (account_widget_launch_external_clicked), account);
+ }
+
+ gtk_box_pack_start (GTK_BOX (self->ui_details->widget), bar,
+ FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (self->ui_details->widget),
+ priv->table_common_settings, FALSE, TRUE, 0);
+
+ gtk_widget_show_all (self->ui_details->widget);
+}
+
+static void
account_widget_build_salut (EmpathyAccountWidget *self,
const char *filename)
{
@@ -1823,7 +1922,6 @@ do_constructed (GObject *obj)
EmpathyAccountWidget *self = EMPATHY_ACCOUNT_WIDGET (obj);
EmpathyAccountWidgetPriv *priv = GET_PRIV (self);
TpAccount *account;
- const gchar *protocol, *cm_name;
const gchar *display_name, *default_display_name;
guint i = 0;
struct {
@@ -1844,31 +1942,46 @@ do_constructed (GObject *obj)
WIDGET (sofiasip, sip),
};
- cm_name = empathy_account_settings_get_cm (priv->settings);
- protocol = empathy_account_settings_get_protocol (priv->settings);
+ account = empathy_account_settings_get_account (priv->settings);
+
+ /* Empathy can only edit accounts without the Cannot_Set_Parameters flag */
+ if (tp_account_get_storage_restrictions (account) &
+ TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_PARAMETERS)
+ {
+ DEBUG ("Account is provided by an external storage provider");
- for (i = 0 ; i < G_N_ELEMENTS (widgets); i++)
+ account_widget_build_external (self, priv->settings);
+ }
+ else
{
- if (!tp_strdiff (widgets[i].cm_name, cm_name) &&
- !tp_strdiff (widgets[i].protocol, protocol))
+ const gchar *protocol, *cm_name;
+
+ cm_name = empathy_account_settings_get_cm (priv->settings);
+ protocol = empathy_account_settings_get_protocol (priv->settings);
+
+ for (i = 0 ; i < G_N_ELEMENTS (widgets); i++)
{
- gchar *filename;
+ if (!tp_strdiff (widgets[i].cm_name, cm_name) &&
+ !tp_strdiff (widgets[i].protocol, protocol))
+ {
+ gchar *filename;
- filename = empathy_file_lookup (widgets[i].file,
- "libempathy-gtk");
- widgets[i].func (self, filename);
- g_free (filename);
+ filename = empathy_file_lookup (widgets[i].file,
+ "libempathy-gtk");
+ widgets[i].func (self, filename);
+ g_free (filename);
- break;
+ break;
+ }
}
- }
- if (i == G_N_ELEMENTS (widgets))
- {
- gchar *filename = empathy_file_lookup (
- "empathy-account-widget-generic.ui", "libempathy-gtk");
- account_widget_build_generic (self, filename);
- g_free (filename);
+ if (i == G_N_ELEMENTS (widgets))
+ {
+ gchar *filename = empathy_file_lookup (
+ "empathy-account-widget-generic.ui", "libempathy-gtk");
+ account_widget_build_generic (self, filename);
+ g_free (filename);
+ }
}
/* handle default focus */
@@ -1891,7 +2004,9 @@ do_constructed (GObject *obj)
account_manager_ready_cb, self);
/* handle apply and cancel button */
- if (!priv->simple)
+ if (!priv->simple &&
+ !(tp_account_get_storage_restrictions (account) &
+ TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_PARAMETERS))
{
GtkWidget *hbox = gtk_hbox_new (TRUE, 3);
GtkWidget *image;
@@ -1940,8 +2055,6 @@ do_constructed (GObject *obj)
account_widget_set_control_buttons_sensitivity (self, FALSE);
}
- account = empathy_account_settings_get_account (priv->settings);
-
if (account != NULL)
{
g_signal_connect (account, "notify::enabled",
@@ -1951,15 +2064,22 @@ do_constructed (GObject *obj)
#ifndef HAVE_MEEGO
add_register_buttons (self, account);
#endif /* HAVE_MEEGO */
- add_enable_checkbox (self, account);
+
+ /* add the Enable checkbox to accounts that support it */
+ if (!(tp_account_get_storage_restrictions (account) &
+ TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_ENABLED))
+ add_enable_checkbox (self, account);
/* hook up to widget destruction to unref ourselves */
g_signal_connect (self->ui_details->widget, "destroy",
G_CALLBACK (account_widget_destroy_cb), self);
- empathy_builder_unref_and_keep_widget (self->ui_details->gui,
- self->ui_details->widget);
- self->ui_details->gui = NULL;
+ if (self->ui_details->gui != NULL)
+ {
+ empathy_builder_unref_and_keep_widget (self->ui_details->gui,
+ self->ui_details->widget);
+ self->ui_details->gui = NULL;
+ }
display_name = empathy_account_settings_get_display_name (priv->settings);
default_display_name = empathy_account_widget_get_default_display_name (self);
diff --git a/libempathy-gtk/empathy-individual-dialogs.c b/libempathy-gtk/empathy-individual-dialogs.c
index edfb3fd48..85ed7d1d4 100644
--- a/libempathy-gtk/empathy-individual-dialogs.c
+++ b/libempathy-gtk/empathy-individual-dialogs.c
@@ -56,8 +56,7 @@ can_add_contact_to_account (TpAccount *account,
return FALSE;
individual_manager = empathy_individual_manager_dup_singleton ();
- result = empathy_individual_manager_get_flags_for_connection (
- individual_manager, connection) & EMPATHY_INDIVIDUAL_MANAGER_CAN_ADD;
+ result = empathy_connection_can_add_personas (connection);
g_object_unref (individual_manager);
return result;
diff --git a/libempathy-gtk/empathy-individual-menu.c b/libempathy-gtk/empathy-individual-menu.c
index b1237cf8b..e3159b401 100644
--- a/libempathy-gtk/empathy-individual-menu.c
+++ b/libempathy-gtk/empathy-individual-menu.c
@@ -822,15 +822,12 @@ empathy_individual_edit_menu_item_new (FolksIndividual *individual)
if (empathy_individual_manager_initialized ())
{
TpConnection *connection;
- EmpathyIndividualManagerFlags flags;
manager = empathy_individual_manager_dup_singleton ();
connection = empathy_contact_get_connection (contact);
- flags = empathy_individual_manager_get_flags_for_connection (
- manager, connection);
- enable = (flags & EMPATHY_INDIVIDUAL_MANAGER_CAN_ALIAS ||
- flags & EMPATHY_INDIVIDUAL_MANAGER_CAN_GROUP);
+ enable = (empathy_connection_can_alias_personas (connection) &&
+ empathy_connection_can_group_personas (connection));
g_object_unref (manager);
}
diff --git a/libempathy-gtk/empathy-individual-store.c b/libempathy-gtk/empathy-individual-store.c
index 77f3016ec..c9159463c 100644
--- a/libempathy-gtk/empathy-individual-store.c
+++ b/libempathy-gtk/empathy-individual-store.c
@@ -158,8 +158,7 @@ static void
add_individual_to_store (GtkTreeStore *self,
GtkTreeIter *iter,
GtkTreeIter *parent,
- FolksIndividual *individual,
- EmpathyIndividualManagerFlags flags)
+ FolksIndividual *individual)
{
gboolean can_audio_call, can_video_call;
@@ -172,7 +171,6 @@ add_individual_to_store (GtkTreeStore *self,
EMPATHY_INDIVIDUAL_STORE_COL_INDIVIDUAL, individual,
EMPATHY_INDIVIDUAL_STORE_COL_IS_GROUP, FALSE,
EMPATHY_INDIVIDUAL_STORE_COL_IS_SEPARATOR, FALSE,
- EMPATHY_INDIVIDUAL_STORE_COL_FLAGS, flags,
EMPATHY_INDIVIDUAL_STORE_COL_CAN_AUDIO_CALL, can_audio_call,
EMPATHY_INDIVIDUAL_STORE_COL_CAN_VIDEO_CALL, can_video_call,
-1);
@@ -376,7 +374,6 @@ individual_store_add_individual (EmpathyIndividualStore *self,
GList *groups = NULL, *l;
EmpathyContact *contact;
TpConnection *connection;
- EmpathyIndividualManagerFlags flags = 0;
gchar *protocol_name;
priv = GET_PRIV (self);
@@ -392,8 +389,6 @@ individual_store_add_individual (EmpathyIndividualStore *self,
contact = empathy_contact_dup_from_folks_individual (individual);
connection = empathy_contact_get_connection (contact);
- flags = empathy_individual_manager_get_flags_for_connection (priv->manager,
- connection);
tp_connection_parse_object_path (connection, &protocol_name, NULL);
@@ -420,7 +415,7 @@ individual_store_add_individual (EmpathyIndividualStore *self,
}
add_individual_to_store (GTK_TREE_STORE (self), &iter, parent,
- individual, flags);
+ individual);
}
g_free (protocol_name);
@@ -434,7 +429,7 @@ individual_store_add_individual (EmpathyIndividualStore *self,
FALSE);
add_individual_to_store (GTK_TREE_STORE (self), &iter, &iter_group,
- individual, flags);
+ individual);
}
g_list_free (groups);
if (group_set != NULL)
@@ -450,7 +445,7 @@ individual_store_add_individual (EmpathyIndividualStore *self,
&iter_group, NULL, NULL, TRUE);
add_individual_to_store (GTK_TREE_STORE (self), &iter, &iter_group,
- individual, flags);
+ individual);
}
individual_store_contact_update (self, individual);
@@ -1493,7 +1488,6 @@ individual_store_setup (EmpathyIndividualStore *self)
G_TYPE_BOOLEAN, /* Is separator */
G_TYPE_BOOLEAN, /* Can make audio calls */
G_TYPE_BOOLEAN, /* Can make video calls */
- EMPATHY_TYPE_INDIVIDUAL_MANAGER_FLAGS, /* Flags */
G_TYPE_BOOLEAN, /* Is a fake group */
};
diff --git a/libempathy-gtk/empathy-individual-store.h b/libempathy-gtk/empathy-individual-store.h
index 4c99610d6..debb218ad 100644
--- a/libempathy-gtk/empathy-individual-store.h
+++ b/libempathy-gtk/empathy-individual-store.h
@@ -63,7 +63,6 @@ typedef enum
EMPATHY_INDIVIDUAL_STORE_COL_IS_SEPARATOR,
EMPATHY_INDIVIDUAL_STORE_COL_CAN_AUDIO_CALL,
EMPATHY_INDIVIDUAL_STORE_COL_CAN_VIDEO_CALL,
- EMPATHY_INDIVIDUAL_STORE_COL_FLAGS,
EMPATHY_INDIVIDUAL_STORE_COL_IS_FAKE_GROUP,
EMPATHY_INDIVIDUAL_STORE_COL_COUNT,
} EmpathyIndividualStoreCol;
diff --git a/libempathy-gtk/empathy-individual-view.c b/libempathy-gtk/empathy-individual-view.c
index b75e2a1e6..2ad0fc0e0 100644
--- a/libempathy-gtk/empathy-individual-view.c
+++ b/libempathy-gtk/empathy-individual-view.c
@@ -2129,29 +2129,6 @@ empathy_individual_view_dup_selected (EmpathyIndividualView *view)
return individual;
}
-EmpathyIndividualManagerFlags
-empathy_individual_view_get_flags (EmpathyIndividualView *view)
-{
- EmpathyIndividualViewPriv *priv;
- GtkTreeSelection *selection;
- GtkTreeIter iter;
- GtkTreeModel *model;
- EmpathyIndividualFeatureFlags flags;
-
- g_return_val_if_fail (EMPATHY_IS_INDIVIDUAL_VIEW (view), 0);
-
- priv = GET_PRIV (view);
-
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (view));
- if (!gtk_tree_selection_get_selected (selection, &model, &iter))
- return 0;
-
- gtk_tree_model_get (model, &iter,
- EMPATHY_INDIVIDUAL_STORE_COL_FLAGS, &flags, -1);
-
- return flags;
-}
-
gchar *
empathy_individual_view_get_selected_group (EmpathyIndividualView *view,
gboolean *is_fake_group)
@@ -2352,7 +2329,8 @@ empathy_individual_view_get_individual_menu (EmpathyIndividualView *view)
GtkWidget *menu = NULL;
GtkWidget *item;
GtkWidget *image;
- EmpathyIndividualManagerFlags flags;
+ gboolean can_remove = FALSE;
+ GList *l;
g_return_val_if_fail (EMPATHY_IS_INDIVIDUAL_VIEW (view), NULL);
@@ -2360,16 +2338,31 @@ empathy_individual_view_get_individual_menu (EmpathyIndividualView *view)
if (individual == NULL)
return NULL;
- flags = empathy_individual_view_get_flags (view);
+ /* If any of the Individual's personas can be removed, add an option to
+ * remove. This will act as a best-effort option. If any Personas cannot be
+ * removed from the server, then this option will just be inactive upon
+ * subsequent menu openings */
+ for (l = folks_individual_get_personas (individual); l != NULL; l = l->next)
+ {
+ FolksPersona *persona = FOLKS_PERSONA (l->data);
+ FolksPersonaStore *store = folks_persona_get_store (persona);
+ FolksMaybeBool maybe_can_remove =
+ folks_persona_store_get_can_remove_personas (store);
+
+ if (maybe_can_remove == FOLKS_MAYBE_BOOL_TRUE)
+ {
+ can_remove = TRUE;
+ break;
+ }
+ }
menu = empathy_individual_menu_new (individual, priv->individual_features);
/* Remove contact */
- if (priv->view_features &
- EMPATHY_INDIVIDUAL_VIEW_FEATURE_INDIVIDUAL_REMOVE &&
- flags & EMPATHY_INDIVIDUAL_MANAGER_CAN_REMOVE)
+ if ((priv->view_features &
+ EMPATHY_INDIVIDUAL_VIEW_FEATURE_INDIVIDUAL_REMOVE) &&
+ can_remove)
{
-
/* create the menu if required, or just add a separator */
if (menu == NULL)
menu = gtk_menu_new ();
diff --git a/libempathy-gtk/empathy-individual-view.h b/libempathy-gtk/empathy-individual-view.h
index 79f279f94..6d72e4d0c 100644
--- a/libempathy-gtk/empathy-individual-view.h
+++ b/libempathy-gtk/empathy-individual-view.h
@@ -98,9 +98,6 @@ EmpathyIndividualView *empathy_individual_view_new (
FolksIndividual *empathy_individual_view_dup_selected (
EmpathyIndividualView *view);
-EmpathyIndividualManagerFlags empathy_individual_view_get_flags (
- EmpathyIndividualView *view);
-
gchar *empathy_individual_view_get_selected_group (EmpathyIndividualView *view,
gboolean * is_fake_group);
diff --git a/libempathy-gtk/empathy-individual-widget.c b/libempathy-gtk/empathy-individual-widget.c
index 4feda728b..5f180c0dc 100644
--- a/libempathy-gtk/empathy-individual-widget.c
+++ b/libempathy-gtk/empathy-individual-widget.c
@@ -1269,6 +1269,7 @@ alias_presence_avatar_favourite_set_up (EmpathyIndividualWidget *self,
label = gtk_label_new ("");
gtk_label_set_line_wrap_mode (GTK_LABEL (label), PANGO_WRAP_WORD_CHAR);
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
+ gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
gtk_label_set_selectable (GTK_LABEL (label),
(priv->flags & EMPATHY_INDIVIDUAL_WIDGET_FOR_TOOLTIP) ? FALSE : TRUE);
diff --git a/libempathy-gtk/empathy-notify-manager.c b/libempathy-gtk/empathy-notify-manager.c
index d0e0aadec..803839755 100644
--- a/libempathy-gtk/empathy-notify-manager.c
+++ b/libempathy-gtk/empathy-notify-manager.c
@@ -207,7 +207,7 @@ empathy_notify_manager_notification_is_enabled (EmpathyNotifyManager *self)
if (presence != TP_CONNECTION_PRESENCE_TYPE_AVAILABLE &&
presence != TP_CONNECTION_PRESENCE_TYPE_UNSET)
{
- if (!g_settings_get_boolean (gsettings,
+ if (g_settings_get_boolean (gsettings,
EMPATHY_PREFS_NOTIFICATIONS_DISABLED_AWAY))
goto finally;
}
diff --git a/libempathy-gtk/empathy-presence-chooser.c b/libempathy-gtk/empathy-presence-chooser.c
index 8258688e2..1dbc38aec 100644
--- a/libempathy-gtk/empathy-presence-chooser.c
+++ b/libempathy-gtk/empathy-presence-chooser.c
@@ -21,7 +21,7 @@
* Authors: Richard Hult <richard@imendio.com>
* Martyn Russell <martyn@imendio.com>
* Xavier Claessens <xclaesse@gmail.com>
- * Davyd Madeley <davyd.madeley@collabora.co.uk>
+ * Danielle Madeley <danielle.madeley@collabora.co.uk>
*/
#include "config.h"
@@ -126,6 +126,7 @@ static struct { TpConnectionPresenceType state;
{ TP_CONNECTION_PRESENCE_TYPE_UNSET, },
};
+static void presence_chooser_constructed (GObject *object);
static void presence_chooser_finalize (GObject *object);
static void presence_chooser_presence_changed_cb (EmpathyPresenceChooser *chooser);
static void presence_chooser_menu_add_item (GtkWidget *menu,
@@ -138,13 +139,14 @@ static void presence_chooser_set_state (TpConnectionPres
static void presence_chooser_custom_activate_cb (GtkWidget *item,
gpointer user_data);
-G_DEFINE_TYPE (EmpathyPresenceChooser, empathy_presence_chooser, GTK_TYPE_COMBO_BOX_ENTRY);
+G_DEFINE_TYPE (EmpathyPresenceChooser, empathy_presence_chooser, GTK_TYPE_COMBO_BOX);
static void
empathy_presence_chooser_class_init (EmpathyPresenceChooserClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ object_class->constructed = presence_chooser_constructed;
object_class->finalize = presence_chooser_finalize;
g_type_class_add_private (object_class, sizeof (EmpathyPresenceChooserPriv));
@@ -848,13 +850,20 @@ empathy_presence_chooser_init (EmpathyPresenceChooser *chooser)
{
EmpathyPresenceChooserPriv *priv = G_TYPE_INSTANCE_GET_PRIVATE (chooser,
EMPATHY_TYPE_PRESENCE_CHOOSER, EmpathyPresenceChooserPriv);
- GtkWidget *entry;
- GtkCellRenderer *renderer;
chooser->priv = priv;
/* Create the not-favorite icon */
priv->not_favorite_pixbuf = create_not_favorite_pixbuf ();
+}
+
+static void
+presence_chooser_constructed (GObject *object)
+{
+ EmpathyPresenceChooser *chooser = EMPATHY_PRESENCE_CHOOSER (object);
+ EmpathyPresenceChooserPriv *priv = chooser->priv;
+ GtkWidget *entry;
+ GtkCellRenderer *renderer;
tp_g_signal_connect_object (gtk_icon_theme_get_default (), "changed",
G_CALLBACK (icon_theme_changed_cb),
@@ -862,7 +871,7 @@ empathy_presence_chooser_init (EmpathyPresenceChooser *chooser)
presence_chooser_create_model (chooser);
- gtk_combo_box_entry_set_text_column (GTK_COMBO_BOX_ENTRY (chooser),
+ gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX (chooser),
COL_STATUS_TEXT);
gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (chooser),
combo_row_separator_func,
@@ -983,7 +992,10 @@ presence_chooser_finalize (GObject *object)
GtkWidget *
empathy_presence_chooser_new (void)
{
- return g_object_new (EMPATHY_TYPE_PRESENCE_CHOOSER, NULL);
+ /* FIXME, why can't this go in init()? */
+ return g_object_new (EMPATHY_TYPE_PRESENCE_CHOOSER,
+ "has-entry", TRUE,
+ NULL);
}
static void
diff --git a/libempathy-gtk/empathy-presence-chooser.h b/libempathy-gtk/empathy-presence-chooser.h
index 7b85a6217..d4595ab1b 100644
--- a/libempathy-gtk/empathy-presence-chooser.h
+++ b/libempathy-gtk/empathy-presence-chooser.h
@@ -21,7 +21,7 @@
* Authors: Richard Hult <richard@imendio.com>
* Martyn Russell <martyn@imendio.com>
* Xavier Claessens <xclaesse@gmail.com>
- * Davyd Madeley <davyd.madeley@collabora.co.uk>
+ * Danielle Madeley <danielle.madeley@collabora.co.uk>
*/
#ifndef __EMPATHY_PRESENCE_CHOOSER_H__
@@ -42,14 +42,14 @@ typedef struct _EmpathyPresenceChooser EmpathyPresenceChooser;
typedef struct _EmpathyPresenceChooserClass EmpathyPresenceChooserClass;
struct _EmpathyPresenceChooser {
- GtkComboBoxEntry parent;
+ GtkComboBox parent;
/*<private>*/
gpointer priv;
};
struct _EmpathyPresenceChooserClass {
- GtkComboBoxEntryClass parent_class;
+ GtkComboBoxClass parent_class;
};
GType empathy_presence_chooser_get_type (void) G_GNUC_CONST;
diff --git a/libempathy-gtk/empathy-status-preset-dialog.c b/libempathy-gtk/empathy-status-preset-dialog.c
index 2d7ecfe6e..957a17d58 100644
--- a/libempathy-gtk/empathy-status-preset-dialog.c
+++ b/libempathy-gtk/empathy-status-preset-dialog.c
@@ -22,7 +22,7 @@
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301 USA
*
- * Authors: Davyd Madeley <davyd.madeley@collabora.co.uk>
+ * Authors: Danielle Madeley <danielle.madeley@collabora.co.uk>
*/
/**
* SECTION:empathy-status-preset-dialog
@@ -179,7 +179,7 @@ status_preset_dialog_setup_add_combobox (EmpathyStatusPresetDialog *self)
GTK_TREE_MODEL (store));
g_object_unref (store);
- gtk_combo_box_entry_set_text_column (GTK_COMBO_BOX_ENTRY (combobox),
+ gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX (combobox),
ADD_COMBO_DEFAULT_TEXT);
for (i = 0; i < G_N_ELEMENTS (states); i++) {
diff --git a/libempathy-gtk/empathy-status-preset-dialog.h b/libempathy-gtk/empathy-status-preset-dialog.h
index 2c507ce37..5cf0e3397 100644
--- a/libempathy-gtk/empathy-status-preset-dialog.h
+++ b/libempathy-gtk/empathy-status-preset-dialog.h
@@ -22,7 +22,7 @@
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301 USA
*
- * Authors: Davyd Madeley <davyd.madeley@collabora.co.uk>
+ * Authors: Danielle Madeley <danielle.madeley@collabora.co.uk>
*/
#ifndef __EMPATHY_STATUS_PRESET_DIALOG_H__
diff --git a/libempathy-gtk/empathy-status-preset-dialog.ui b/libempathy-gtk/empathy-status-preset-dialog.ui
index a33018201..754a95bf4 100644
--- a/libempathy-gtk/empathy-status-preset-dialog.ui
+++ b/libempathy-gtk/empathy-status-preset-dialog.ui
@@ -88,8 +88,9 @@
<property name="visible">True</property>
<property name="spacing">3</property>
<child>
- <object class="GtkComboBoxEntry" id="add-combobox">
+ <object class="GtkComboBox" id="add-combobox">
<property name="visible">True</property>
+ <property name="has-entry">True</property>
</object>
<packing>
<property name="position">0</property>
diff --git a/libempathy/empathy-account-settings.c b/libempathy/empathy-account-settings.c
index 1e63aede9..e5191a96c 100644
--- a/libempathy/empathy-account-settings.c
+++ b/libempathy/empathy-account-settings.c
@@ -221,7 +221,12 @@ empathy_account_settings_constructed (GObject *object)
if (!priv->ready)
{
- tp_account_prepare_async (priv->account, NULL,
+ GQuark features[] = {
+ TP_ACCOUNT_FEATURE_CORE,
+ TP_ACCOUNT_FEATURE_STORAGE,
+ 0 };
+
+ tp_proxy_prepare_async (priv->account, features,
empathy_account_settings_account_ready_cb, self);
tp_g_signal_connect_object (priv->managers, "notify::ready",
G_CALLBACK (empathy_account_settings_managers_ready_cb), object, 0);
@@ -450,7 +455,7 @@ empathy_account_settings_account_ready_cb (GObject *source_object,
TpAccount *account = TP_ACCOUNT (source_object);
GError *error = NULL;
- if (!tp_account_prepare_finish (account, result, &error))
+ if (!tp_proxy_prepare_finish (account, result, &error))
{
DEBUG ("Failed to prepare account: %s", error->message);
g_error_free (error);
diff --git a/libempathy/empathy-contact.c b/libempathy/empathy-contact.c
index a7aa0e704..4db37f693 100644
--- a/libempathy/empathy-contact.c
+++ b/libempathy/empathy-contact.c
@@ -39,6 +39,7 @@
#endif
#include "empathy-contact.h"
+#include "empathy-individual-manager.h"
#include "empathy-utils.h"
#include "empathy-enum-types.h"
#include "empathy-marshal.h"
diff --git a/libempathy/empathy-individual-manager.c b/libempathy/empathy-individual-manager.c
index d707e17bf..07295c8bd 100644
--- a/libempathy/empathy-individual-manager.c
+++ b/libempathy/empathy-individual-manager.c
@@ -34,8 +34,6 @@
#include <extensions/extensions.h>
#include "empathy-individual-manager.h"
-#include "empathy-contact-manager.h"
-#include "empathy-contact-list.h"
#include "empathy-marshal.h"
#include "empathy-utils.h"
@@ -51,7 +49,6 @@
typedef struct
{
FolksIndividualAggregator *aggregator;
- EmpathyContactManager *contact_manager;
GHashTable *individuals; /* Individual.id -> Individual */
} EmpathyIndividualManagerPriv;
@@ -222,7 +219,6 @@ individual_manager_dispose (GObject *object)
EmpathyIndividualManagerPriv *priv = GET_PRIV (object);
g_hash_table_destroy (priv->individuals);
- tp_clear_object (&priv->contact_manager);
tp_clear_object (&priv->aggregator);
G_OBJECT_CLASS (empathy_individual_manager_parent_class)->dispose (object);
@@ -316,7 +312,6 @@ empathy_individual_manager_init (EmpathyIndividualManager *self)
EMPATHY_TYPE_INDIVIDUAL_MANAGER, EmpathyIndividualManagerPriv);
self->priv = priv;
- priv->contact_manager = empathy_contact_manager_dup_singleton ();
priv->individuals = g_hash_table_new_full (g_str_hash, g_str_equal,
NULL, g_object_unref);
@@ -502,36 +497,6 @@ empathy_individual_manager_remove_group (EmpathyIndividualManager *manager,
(gpointer) group);
}
-EmpathyIndividualManagerFlags
-empathy_individual_manager_get_flags_for_connection (
- EmpathyIndividualManager *self,
- TpConnection *connection)
-{
- EmpathyIndividualManagerPriv *priv;
- EmpathyContactListFlags list_flags;
- EmpathyIndividualManagerFlags flags;
-
- g_return_val_if_fail (EMPATHY_IS_INDIVIDUAL_MANAGER (self),
- EMPATHY_INDIVIDUAL_MANAGER_NO_FLAGS);
-
- priv = GET_PRIV (self);
-
- list_flags = empathy_contact_manager_get_flags_for_connection (
- priv->contact_manager, connection);
-
- flags = EMPATHY_INDIVIDUAL_MANAGER_NO_FLAGS;
- if (list_flags & EMPATHY_CONTACT_LIST_CAN_ADD)
- flags |= EMPATHY_INDIVIDUAL_MANAGER_CAN_ADD;
- if (list_flags & EMPATHY_CONTACT_LIST_CAN_REMOVE)
- flags |= EMPATHY_INDIVIDUAL_MANAGER_CAN_REMOVE;
- if (list_flags & EMPATHY_CONTACT_LIST_CAN_ALIAS)
- flags |= EMPATHY_INDIVIDUAL_MANAGER_CAN_ALIAS;
- if (list_flags & EMPATHY_CONTACT_LIST_CAN_GROUP)
- flags |= EMPATHY_INDIVIDUAL_MANAGER_CAN_GROUP;
-
- return flags;
-}
-
static void
link_personas_cb (FolksIndividualAggregator *aggregator,
GAsyncResult *async_result,
diff --git a/libempathy/empathy-individual-manager.h b/libempathy/empathy-individual-manager.h
index 72104fc40..f2f5f5b56 100644
--- a/libempathy/empathy-individual-manager.h
+++ b/libempathy/empathy-individual-manager.h
@@ -35,14 +35,6 @@ G_BEGIN_DECLS
#define EMPATHY_IS_INDIVIDUAL_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_INDIVIDUAL_MANAGER))
#define EMPATHY_IS_INDIVIDUAL_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_INDIVIDUAL_MANAGER))
#define EMPATHY_INDIVIDUAL_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_INDIVIDUAL_MANAGER, EmpathyIndividualManagerClass))
- typedef enum
-{
- EMPATHY_INDIVIDUAL_MANAGER_NO_FLAGS = 0,
- EMPATHY_INDIVIDUAL_MANAGER_CAN_ADD = 1 << 0,
- EMPATHY_INDIVIDUAL_MANAGER_CAN_REMOVE = 1 << 1,
- EMPATHY_INDIVIDUAL_MANAGER_CAN_ALIAS = 1 << 2,
- EMPATHY_INDIVIDUAL_MANAGER_CAN_GROUP = 1 << 3,
-} EmpathyIndividualManagerFlags;
typedef struct _EmpathyIndividualManager EmpathyIndividualManager;
typedef struct _EmpathyIndividualManagerClass EmpathyIndividualManagerClass;
@@ -82,11 +74,6 @@ void empathy_individual_manager_remove (EmpathyIndividualManager *manager,
void empathy_individual_manager_remove_group (EmpathyIndividualManager *manager,
const gchar *group);
-EmpathyIndividualManagerFlags
-empathy_individual_manager_get_flags_for_connection (
- EmpathyIndividualManager *manager,
- TpConnection *connection);
-
void empathy_individual_manager_link_personas (EmpathyIndividualManager *self,
GList *personas);
diff --git a/libempathy/empathy-utils.c b/libempathy/empathy-utils.c
index c479f99f3..6bbd53f86 100644
--- a/libempathy/empathy-utils.c
+++ b/libempathy/empathy-utils.c
@@ -770,6 +770,86 @@ tp_channel_group_change_reason_from_folks_groups_change_reason (
return (TpChannelGroupChangeReason) reason;
}
+TpfPersonaStore *
+empathy_get_persona_store_for_connection (TpConnection *connection)
+{
+ FolksBackendStore *backend_store;
+ FolksBackend *backend;
+ TpfPersonaStore *result = NULL;
+
+ backend_store = folks_backend_store_dup ();
+ backend = folks_backend_store_get_backend_by_name (backend_store,
+ "telepathy");
+ if (backend != NULL)
+ {
+ GHashTable *stores_hash;
+ GList *stores, *l;
+
+ stores_hash = folks_backend_get_persona_stores (backend);
+ stores = g_hash_table_get_values (stores_hash);
+ for (l = stores; l != NULL && result == NULL; l = l->next)
+ {
+ TpfPersonaStore *persona_store = TPF_PERSONA_STORE (l->data);
+ TpAccount *account;
+ TpConnection *conn_cur;
+
+ account = tpf_persona_store_get_account (persona_store);
+ conn_cur = tp_account_get_connection (account);
+ if (conn_cur == connection)
+ result = persona_store;
+ }
+
+ g_list_free (stores);
+ }
+
+ g_object_unref (backend);
+ g_object_unref (backend_store);
+
+ return result;
+}
+
+gboolean
+empathy_connection_can_add_personas (TpConnection *connection)
+{
+ FolksPersonaStore *persona_store;
+
+ g_return_val_if_fail (TP_IS_CONNECTION (connection), FALSE);
+
+ persona_store = FOLKS_PERSONA_STORE (
+ empathy_get_persona_store_for_connection (connection));
+
+ return (folks_persona_store_get_can_add_personas (persona_store) ==
+ FOLKS_MAYBE_BOOL_TRUE);
+}
+
+gboolean
+empathy_connection_can_alias_personas (TpConnection *connection)
+{
+ FolksPersonaStore *persona_store;
+
+ g_return_val_if_fail (TP_IS_CONNECTION (connection), FALSE);
+
+ persona_store = FOLKS_PERSONA_STORE (
+ empathy_get_persona_store_for_connection (connection));
+
+ return (folks_persona_store_get_can_alias_personas (persona_store) ==
+ FOLKS_MAYBE_BOOL_TRUE);
+}
+
+gboolean
+empathy_connection_can_group_personas (TpConnection *connection)
+{
+ FolksPersonaStore *persona_store;
+
+ g_return_val_if_fail (TP_IS_CONNECTION (connection), FALSE);
+
+ persona_store = FOLKS_PERSONA_STORE (
+ empathy_get_persona_store_for_connection (connection));
+
+ return (folks_persona_store_get_can_group_personas (persona_store) ==
+ FOLKS_MAYBE_BOOL_TRUE);
+}
+
gchar *
empathy_get_x509_certificate_hostname (gnutls_x509_crt_t cert)
{
diff --git a/libempathy/empathy-utils.h b/libempathy/empathy-utils.h
index ca184f589..3c89962c1 100644
--- a/libempathy/empathy-utils.h
+++ b/libempathy/empathy-utils.h
@@ -34,6 +34,7 @@
#include <libxml/parser.h>
#include <libxml/tree.h>
#include <folks/folks.h>
+#include <folks/folks-telepathy.h>
#include <telepathy-glib/account-manager.h>
#include "empathy-contact.h"
@@ -99,6 +100,10 @@ TpConnectionPresenceType empathy_folks_presence_type_to_tp (FolksPresenceType ty
gboolean empathy_folks_individual_contains_contact (FolksIndividual *individual);
EmpathyContact * empathy_contact_dup_from_folks_individual (FolksIndividual *individual);
TpChannelGroupChangeReason tp_channel_group_change_reason_from_folks_groups_change_reason (FolksGroupableChangeReason reason);
+TpfPersonaStore * empathy_get_persona_store_for_connection (TpConnection *connection);
+gboolean empathy_connection_can_add_personas (TpConnection *connection);
+gboolean empathy_connection_can_alias_personas (TpConnection *connection);
+gboolean empathy_connection_can_group_personas (TpConnection *connection);
gchar * empathy_get_x509_certificate_hostname (gnutls_x509_crt_t cert);
diff --git a/po/es.po b/po/es.po
index c0fab69bd..2d8cc0f22 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: empathy.master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=empathy&component=general\n"
-"POT-Creation-Date: 2010-10-15 03:04+0000\n"
-"PO-Revision-Date: 2010-10-15 11:41+0200\n"
+"POT-Creation-Date: 2010-10-17 22:15+0000\n"
+"PO-Revision-Date: 2010-10-18 11:01+0200\n"
"Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n"
"Language-Team: Español <gnome-es-list@gnome.org>\n"
"MIME-Version: 1.0\n"
@@ -741,46 +741,61 @@ msgstr "en el futuro"
msgid "All"
msgstr "Todo"
-#: ../libempathy-gtk/empathy-account-widget.c:612
+#: ../libempathy-gtk/empathy-account-widget.c:617
#: ../libempathy-gtk/empathy-log-window.c:646
#: ../src/empathy-import-widget.c:321
msgid "Account"
msgstr "Cuenta"
-#: ../libempathy-gtk/empathy-account-widget.c:613
+#: ../libempathy-gtk/empathy-account-widget.c:618
msgid "Password"
msgstr "Contraseña"
-#: ../libempathy-gtk/empathy-account-widget.c:614
+#: ../libempathy-gtk/empathy-account-widget.c:619
#: ../libempathy-gtk/empathy-irc-network-dialog.c:507
msgid "Server"
msgstr "Servidor"
-#: ../libempathy-gtk/empathy-account-widget.c:615
+#: ../libempathy-gtk/empathy-account-widget.c:620
#: ../libempathy-gtk/empathy-irc-network-dialog.c:522
msgid "Port"
msgstr "Puerto"
-#: ../libempathy-gtk/empathy-account-widget.c:687
-#: ../libempathy-gtk/empathy-account-widget.c:744
+#: ../libempathy-gtk/empathy-account-widget.c:692
+#: ../libempathy-gtk/empathy-account-widget.c:749
#, c-format
msgid "%s:"
msgstr "%s:"
-#: ../libempathy-gtk/empathy-account-widget.c:1299
+#: ../libempathy-gtk/empathy-account-widget.c:1074
+#, c-format
+msgid "The account %s is edited via My Web Accounts."
+msgstr "La vuenta %s se edita a través de My Web Accounts."
+
+#: ../libempathy-gtk/empathy-account-widget.c:1080
+#, c-format
+msgid "The account %s cannot be edited in Empathy."
+msgstr "No se puede editar la cuenta %s en Empathy."
+
+#: ../libempathy-gtk/empathy-account-widget.c:1100
+#| msgid "Empathy Accounts"
+msgid "Launch My Web Accounts"
+msgstr "Lanzar My Web Accounts"
+
+#: ../libempathy-gtk/empathy-account-widget.c:1398
msgid "Username:"
msgstr "Nombre de usuario:"
-#: ../libempathy-gtk/empathy-account-widget.c:1634
+#: ../libempathy-gtk/empathy-account-widget.c:1733
msgid "A_pply"
msgstr "_Aplicar"
-#: ../libempathy-gtk/empathy-account-widget.c:1664
+#: ../libempathy-gtk/empathy-account-widget.c:1763
msgid "L_og in"
msgstr "Iniciar _sesión"
#. Account and Identifier
-#: ../libempathy-gtk/empathy-account-widget.c:1730
+#: ../libempathy-gtk/empathy-account-widget.c:1829
#: ../libempathy-gtk/empathy-contact-widget.ui.h:2
#: ../libempathy-gtk/empathy-individual-widget.c:1399
#: ../libempathy-gtk/empathy-contact-selector-dialog.ui.h:1
@@ -789,19 +804,19 @@ msgstr "Iniciar _sesión"
msgid "Account:"
msgstr "Cuenta:"
-#: ../libempathy-gtk/empathy-account-widget.c:1741
+#: ../libempathy-gtk/empathy-account-widget.c:1840
msgid "_Enabled"
msgstr "_Activada"
-#: ../libempathy-gtk/empathy-account-widget.c:1806
+#: ../libempathy-gtk/empathy-account-widget.c:1905
msgid "This account already exists on the server"
msgstr "Esta cuenta ya existe en el servidor"
-#: ../libempathy-gtk/empathy-account-widget.c:1809
+#: ../libempathy-gtk/empathy-account-widget.c:1908
msgid "Create a new account on the server"
msgstr "Crear una cuenta nueva en el servidor"
-#: ../libempathy-gtk/empathy-account-widget.c:1902
+#: ../libempathy-gtk/empathy-account-widget.c:2017
msgid "Ca_ncel"
msgstr "Ca_ncelar"
@@ -810,19 +825,19 @@ msgstr "Ca_ncelar"
#. * like: "MyUserName on freenode".
#. * You should reverse the order of these arguments if the
#. * server should come before the login id in your locale.
-#: ../libempathy-gtk/empathy-account-widget.c:2190
+#: ../libempathy-gtk/empathy-account-widget.c:2310
#, c-format
msgid "%1$s on %2$s"
msgstr "%1$s en %2$s"
#. To translators: The parameter is the protocol name. The resulting
#. * string will be something like: "Jabber Account"
-#: ../libempathy-gtk/empathy-account-widget.c:2216
+#: ../libempathy-gtk/empathy-account-widget.c:2336
#, c-format
msgid "%s Account"
msgstr "Cuenta %s"
-#: ../libempathy-gtk/empathy-account-widget.c:2220
+#: ../libempathy-gtk/empathy-account-widget.c:2340
msgid "New account"
msgstr "Cuenta nueva"
@@ -1347,29 +1362,29 @@ msgstr "El tema se ha establecido a: %s"
msgid "No topic defined"
msgstr "No se ha definido el tema"
-#: ../libempathy-gtk/empathy-chat.c:1775
+#: ../libempathy-gtk/empathy-chat.c:1829
msgid "(No Suggestions)"
msgstr "(Sin sugerencias)"
-#: ../libempathy-gtk/empathy-chat.c:1829
+#: ../libempathy-gtk/empathy-chat.c:1875
msgid "Insert Smiley"
msgstr "Insertar emoticono"
#. send button
-#: ../libempathy-gtk/empathy-chat.c:1847
+#: ../libempathy-gtk/empathy-chat.c:1893
#: ../libempathy-gtk/empathy-ui-utils.c:1805
msgid "_Send"
msgstr "E_nviar"
-#: ../libempathy-gtk/empathy-chat.c:1881
+#: ../libempathy-gtk/empathy-chat.c:1927
msgid "_Spelling Suggestions"
msgstr "_Sugerencias ortográficas"
-#: ../libempathy-gtk/empathy-chat.c:1958
+#: ../libempathy-gtk/empathy-chat.c:2004
msgid "Failed to retrieve recent logs"
msgstr "Falló al recibir los registros recientes"
-#: ../libempathy-gtk/empathy-chat.c:2064
+#: ../libempathy-gtk/empathy-chat.c:2110
#, c-format
msgid "%s has disconnected"
msgstr "%s se ha desconectado"
@@ -1377,12 +1392,12 @@ msgstr "%s se ha desconectado"
#. translators: reverse the order of these arguments
#. * if the kicked should come before the kicker in your locale.
#.
-#: ../libempathy-gtk/empathy-chat.c:2071
+#: ../libempathy-gtk/empathy-chat.c:2117
#, c-format
msgid "%1$s was kicked by %2$s"
msgstr "%2$s expulsó a %1$s"
-#: ../libempathy-gtk/empathy-chat.c:2074
+#: ../libempathy-gtk/empathy-chat.c:2120
#, c-format
msgid "%s was kicked"
msgstr "%s fue expulsado"
@@ -1390,17 +1405,17 @@ msgstr "%s fue expulsado"
#. translators: reverse the order of these arguments
#. * if the banned should come before the banner in your locale.
#.
-#: ../libempathy-gtk/empathy-chat.c:2082
+#: ../libempathy-gtk/empathy-chat.c:2128
#, c-format
msgid "%1$s was banned by %2$s"
msgstr "%2$s vetó a %1$s"
-#: ../libempathy-gtk/empathy-chat.c:2085
+#: ../libempathy-gtk/empathy-chat.c:2131
#, c-format
msgid "%s was banned"
msgstr "%s fue vetado"
-#: ../libempathy-gtk/empathy-chat.c:2089
+#: ../libempathy-gtk/empathy-chat.c:2135
#, c-format
msgid "%s has left the room"
msgstr "%s ha dejado la sala"
@@ -1410,46 +1425,46 @@ msgstr "%s ha dejado la sala"
#. * given by the user living the room. If this poses a problem,
#. * please let us know. :-)
#.
-#: ../libempathy-gtk/empathy-chat.c:2098
+#: ../libempathy-gtk/empathy-chat.c:2144
#, c-format
msgid " (%s)"
msgstr " (%s)"
-#: ../libempathy-gtk/empathy-chat.c:2123
+#: ../libempathy-gtk/empathy-chat.c:2169
#, c-format
msgid "%s has joined the room"
msgstr "%s ha entrado en la sala"
-#: ../libempathy-gtk/empathy-chat.c:2148
+#: ../libempathy-gtk/empathy-chat.c:2194
#, c-format
msgid "%s is now known as %s"
msgstr "Ahora %s se llama %s"
-#: ../libempathy-gtk/empathy-chat.c:2287 ../src/empathy-call-window.c:1938
+#: ../libempathy-gtk/empathy-chat.c:2333 ../src/empathy-call-window.c:1938
msgid "Disconnected"
msgstr "Desconectado"
-#: ../libempathy-gtk/empathy-chat.c:2910
+#: ../libempathy-gtk/empathy-chat.c:2956
msgid "Wrong password; please try again:"
msgstr "Contraseña incorrecta; inténtelo de nuevo:"
-#: ../libempathy-gtk/empathy-chat.c:2911
+#: ../libempathy-gtk/empathy-chat.c:2957
msgid "Retry"
msgstr "Volver a intentarlo"
-#: ../libempathy-gtk/empathy-chat.c:2916
+#: ../libempathy-gtk/empathy-chat.c:2962
msgid "This room is protected by a password:"
msgstr "Esta sala está protegida por contraseña:"
-#: ../libempathy-gtk/empathy-chat.c:2917
+#: ../libempathy-gtk/empathy-chat.c:2963
msgid "Join"
msgstr "Unirse"
-#: ../libempathy-gtk/empathy-chat.c:3057
+#: ../libempathy-gtk/empathy-chat.c:3103
msgid "Connected"
msgstr "Conectado"
-#: ../libempathy-gtk/empathy-chat.c:3110
+#: ../libempathy-gtk/empathy-chat.c:3156
#: ../libempathy-gtk/empathy-log-window.c:653
msgid "Conversation"
msgstr "Conversación"
@@ -1482,7 +1497,7 @@ msgid "Personal Information"
msgstr "Información personal"
#: ../libempathy-gtk/empathy-contact-dialogs.c:397
-#: ../libempathy-gtk/empathy-individual-dialogs.c:111
+#: ../libempathy-gtk/empathy-individual-dialogs.c:110
msgid "New Contact"
msgstr "Contacto nuevo"
@@ -1503,33 +1518,33 @@ msgid "Favorite People"
msgstr "Gente favorita"
#: ../libempathy-gtk/empathy-contact-list-view.c:2004
-#: ../libempathy-gtk/empathy-individual-view.c:2232
+#: ../libempathy-gtk/empathy-individual-view.c:2209
#, c-format
msgid "Do you really want to remove the group '%s'?"
msgstr "¿Realmente quiere quitar el grupo «%s»?"
#: ../libempathy-gtk/empathy-contact-list-view.c:2006
-#: ../libempathy-gtk/empathy-individual-view.c:2235
+#: ../libempathy-gtk/empathy-individual-view.c:2212
msgid "Removing group"
msgstr "Quitando grupo"
#. Remove
#: ../libempathy-gtk/empathy-contact-list-view.c:2055
#: ../libempathy-gtk/empathy-contact-list-view.c:2132
-#: ../libempathy-gtk/empathy-individual-view.c:2289
-#: ../libempathy-gtk/empathy-individual-view.c:2387
+#: ../libempathy-gtk/empathy-individual-view.c:2266
+#: ../libempathy-gtk/empathy-individual-view.c:2380
#: ../src/empathy-accounts-dialog.ui.h:7
msgid "_Remove"
msgstr "_Quitar"
#: ../libempathy-gtk/empathy-contact-list-view.c:2085
-#: ../libempathy-gtk/empathy-individual-view.c:2320
+#: ../libempathy-gtk/empathy-individual-view.c:2297
#, c-format
msgid "Do you really want to remove the contact '%s'?"
msgstr "¿Realmente quiere quitar el contacto «%s»?"
#: ../libempathy-gtk/empathy-contact-list-view.c:2087
-#: ../libempathy-gtk/empathy-individual-view.c:2322
+#: ../libempathy-gtk/empathy-individual-view.c:2299
msgid "Removing contact"
msgstr "Quitando el contacto"
@@ -1590,13 +1605,13 @@ msgid "_Edit"
msgstr "_Editar"
#: ../libempathy-gtk/empathy-contact-menu.c:543
-#: ../libempathy-gtk/empathy-individual-menu.c:972
+#: ../libempathy-gtk/empathy-individual-menu.c:969
#: ../src/empathy-chat-window.c:917
msgid "Inviting you to this room"
msgstr "Invitándolo a esta sala"
#: ../libempathy-gtk/empathy-contact-menu.c:574
-#: ../libempathy-gtk/empathy-individual-menu.c:1019
+#: ../libempathy-gtk/empathy-individual-menu.c:1016
msgid "_Invite to Chat Room"
msgstr "_Invitar a sala de chat"
@@ -1844,7 +1859,7 @@ msgid "Select"
msgstr "Seleccionar"
#: ../libempathy-gtk/empathy-groups-widget.c:408
-#: ../src/empathy-main-window.c:1250
+#: ../src/empathy-main-window.c:1252
msgid "Group"
msgstr "Grupo"
@@ -1875,14 +1890,14 @@ msgstr ""
msgid "%s (%s)"
msgstr "%s (%s)"
-#: ../libempathy-gtk/empathy-individual-menu.c:839
+#: ../libempathy-gtk/empathy-individual-menu.c:836
msgctxt "Edit individual (contextual menu)"
msgid "_Edit"
msgstr "_Editar"
#. Translators: this is a verb meaning "to connect two contacts together
#. * to form a meta-contact".
-#: ../libempathy-gtk/empathy-individual-menu.c:865
+#: ../libempathy-gtk/empathy-individual-menu.c:862
msgctxt "Link individual (contextual menu)"
msgid "_Link Contacts…"
msgstr "_Enlazar contactos…"
@@ -2432,7 +2447,6 @@ msgstr "Error al contactar con el Gestor de cuentas"
#: ../src/empathy.c:270
#, c-format
-#| msgid "There was an error while parsing the account details."
msgid ""
"There was an error while trying to connect to the Telepathy Account Manager. "
"The error was:\n"
@@ -3383,31 +3397,31 @@ msgstr "Protocolo"
msgid "Source"
msgstr "Origen"
-#: ../src/empathy-main-window.c:383
+#: ../src/empathy-main-window.c:384
msgid "No match found"
msgstr "No se encontró ninguna coincidencia"
-#: ../src/empathy-main-window.c:538
+#: ../src/empathy-main-window.c:539
msgid "Reconnect"
msgstr "Reconectar"
-#: ../src/empathy-main-window.c:544
+#: ../src/empathy-main-window.c:545
msgid "Edit Account"
msgstr "Editar cuenta"
-#: ../src/empathy-main-window.c:550
+#: ../src/empathy-main-window.c:551
msgid "Close"
msgstr "Cerrar"
-#: ../src/empathy-main-window.c:1232
+#: ../src/empathy-main-window.c:1234
msgid "Contact"
msgstr "Contacto"
-#: ../src/empathy-main-window.c:1557
+#: ../src/empathy-main-window.c:1558
msgid "Contact List"
msgstr "Lista de contactos"
-#: ../src/empathy-main-window.c:1666
+#: ../src/empathy-main-window.c:1667
msgid "Show and edit accounts"
msgstr "Mostrar y editar cuentas"
@@ -3558,39 +3572,39 @@ msgstr "Lista de salas"
msgid "_Room:"
msgstr "_Sala:"
-#: ../src/empathy-preferences.c:138
+#: ../src/empathy-preferences.c:139
msgid "Message received"
msgstr "Mensaje recibido"
-#: ../src/empathy-preferences.c:139
+#: ../src/empathy-preferences.c:140
msgid "Message sent"
msgstr "Mensaje enviado"
-#: ../src/empathy-preferences.c:140
+#: ../src/empathy-preferences.c:141
msgid "New conversation"
msgstr "Conversación nueva"
-#: ../src/empathy-preferences.c:141
+#: ../src/empathy-preferences.c:142
msgid "Contact goes online"
msgstr "El contacto se conecta"
-#: ../src/empathy-preferences.c:142
+#: ../src/empathy-preferences.c:143
msgid "Contact goes offline"
msgstr "El contacto se desconecta"
-#: ../src/empathy-preferences.c:143
+#: ../src/empathy-preferences.c:144
msgid "Account connected"
msgstr "Cuenta conectada"
-#: ../src/empathy-preferences.c:144
+#: ../src/empathy-preferences.c:145
msgid "Account disconnected"
msgstr "Cuenta desconectada"
-#: ../src/empathy-preferences.c:445
+#: ../src/empathy-preferences.c:446
msgid "Language"
msgstr "Idioma"
-#: ../src/empathy-preferences.c:882
+#: ../src/empathy-preferences.c:875
msgid "Preferences"
msgstr "Preferencias"
diff --git a/po/et.po b/po/et.po
index 32ed27465..2632a6c29 100644
--- a/po/et.po
+++ b/po/et.po
@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: empathy MASTER\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=empathy&component=general\n"
-"POT-Creation-Date: 2010-09-22 00:00+0000\n"
-"PO-Revision-Date: 2010-09-22 11:05+0300\n"
+"POT-Creation-Date: 2010-10-16 10:46+0000\n"
+"PO-Revision-Date: 2010-10-17 15:05+0300\n"
"Last-Translator: Mattias Põldaru <mahfiaz gmail com>\n"
"Language-Team: Estonian <et@li.org>\n"
"Language: et\n"
@@ -97,9 +97,6 @@ msgstr "Empathy tohib kasutada võrku asukoha arvamiseks"
msgid "Empathy default download folder"
msgstr "Empathy vaikimisi allalaadimiste kataloog"
-msgid "Empathy has asked about importing accounts"
-msgstr "Empathylt küsiti kontode importimise kohta"
-
msgid "Empathy has migrated butterfly logs"
msgstr "Empathy on üle kandnud butterfly logid"
@@ -226,10 +223,6 @@ msgstr "Kas Empathy võib kasutada mobiilivõrku asukoha arvamiseks."
msgid "Whether Empathy can use the network to guess the location."
msgstr "Kas Empathy võib kasutada võrku asukoha arvamiseks."
-msgid "Whether Empathy has asked about importing accounts from other programs."
-msgstr ""
-"Kas Empathy on küsinud kontode importimise kohta teistest rakendustest."
-
msgid "Whether Empathy has migrated butterfly logs."
msgstr "Kas Empathy on üle kandnud butterfly logid."
@@ -502,6 +495,9 @@ msgstr "Lähedalasuvad inimesed"
msgid "Yahoo! Japan"
msgstr "Jaapani Yahoo!"
+msgid "Google Talk"
+msgstr "Google Talk"
+
msgid "Facebook Chat"
msgstr "Facebooki vestlus"
@@ -743,7 +739,7 @@ msgstr ""
"See on sinu kasutajanimi, mitte tavaline Facebooki sisselogimise nimi.\n"
"Kui sinu leht on facebook.com/<b>hüüdnimi</b>, sisesta <b>hüüdnimi</b>.\n"
"Kui sul veel ei ole Facebooki kasutajanime, saad selle luua <a href=\"http://"
-"www.facebook.com/username/\">siin lehel</a>."
+"www.facebook.com/username/\">siin</a>."
msgid "Use old SS_L"
msgstr "Kasutatakse _vana SSL-i"
@@ -1305,6 +1301,7 @@ msgstr ""
msgid "_Add Group"
msgstr "_Lisa grupp"
+msgctxt "verb in a column header displaying group names"
msgid "Select"
msgstr "Vali"
@@ -1356,6 +1353,10 @@ msgstr "Uus võrk"
msgid "Choose an IRC network"
msgstr "Vali IRC võrk"
+msgctxt "verb displayed on a button to select an IRC network"
+msgid "Select"
+msgstr "Vali"
+
msgid "new server"
msgstr "uus server"
@@ -1473,6 +1474,14 @@ msgstr "Kohalolu ja praeguse oleku määramine"
msgid "Custom messages…"
msgstr "Muud teated…"
+#. Create account
+#. To translator: %s is the name of the protocol, such as "Google Talk" or
+#. * "Yahoo!"
+#.
+#, c-format
+msgid "New %s account"
+msgstr "Uus %s konto"
+
msgid "Find:"
msgstr "Otsi:"
@@ -1536,38 +1545,39 @@ msgstr "Puhas"
msgid "Blue"
msgstr "Sinine"
-msgid "The identity provided by the chat server cannot be verified.\n"
-msgstr "Selle vestlusserveri identiteeti pole võimalik tõendada.\n"
+msgid "The identity provided by the chat server cannot be verified."
+msgstr "Selle vestlusserveri identiteeti pole võimalik tõendada."
-msgid "The certificate is not signed by a Certification Authority"
-msgstr "Sertifikaat ei ole sertifitseerija poolt allkirjastatud"
+msgid "The certificate is not signed by a Certification Authority."
+msgstr "Sertifikaat ei ole sertifitseerija poolt allkirjastatud."
-msgid "The certificate has expired"
-msgstr "Sertifikaat on aegunud"
+msgid "The certificate has expired."
+msgstr "Sertifikaat on aegunud."
-msgid "The certificate hasn't yet been activated"
-msgstr "Sertifikaat pole aktiveeritud"
+msgid "The certificate hasn't yet been activated."
+msgstr "Sertifikaat pole aktiveeritud."
-msgid "The certificate does not have the expected fingerprint"
-msgstr "Sertifikaadil ei ole ootuspärane sõrmejälg"
+msgid "The certificate does not have the expected fingerprint."
+msgstr "Sertifikaadil ei ole ootuspärane sõrmejälg."
-msgid "The hostname verified by the certificate doesn't match the server name"
-msgstr "Sertifikaadi tõendatud hostinimi ei klapi serveri nimega"
+msgid "The hostname verified by the certificate doesn't match the server name."
+msgstr "Sertifikaadi tõendatud hostinimi ei klapi serveri nimega."
-msgid "The certificate is self-signed"
-msgstr "Isetunnustatud sertifikaat"
+msgid "The certificate is self-signed."
+msgstr "Isetunnustatud sertifikaat."
-msgid "The certificate has been revoked by the issuing Certification Authority"
-msgstr "Sertifikaat on sertifitseerija poolt tühistatud"
+msgid ""
+"The certificate has been revoked by the issuing Certification Authority."
+msgstr "Sertifikaat on sertifitseerija poolt tühistatud."
-msgid "The certificate is cryptographically weak"
-msgstr "Sertifikaati krüpto on nõrk"
+msgid "The certificate is cryptographically weak."
+msgstr "Sertifikaadi krüpto on nõrk."
-msgid "The certificate length exceeds verifiable limits"
-msgstr "Sertifikaadi pikkus ületab tõendatavad piirid"
+msgid "The certificate length exceeds verifiable limits."
+msgstr "Sertifikaadi pikkus ületab tõendatavad piirid."
-msgid "The certificate is malformed"
-msgstr "Sertifikaati on vigastatud"
+msgid "The certificate is malformed."
+msgstr "Sertifikaati on vigastatud."
#, c-format
msgid "Expected hostname: %s"
@@ -1704,6 +1714,20 @@ msgstr "Veateade puudub"
msgid "Instant Message (Empathy)"
msgstr "Välksõnum (Empathy)"
+msgid "Error contacting the Account Manager"
+msgstr "Viga kontohalduriga ühendumisel"
+
+#, c-format
+msgid ""
+"There was an error while trying to connect to the Telepathy Account Manager. "
+"The error was:\n"
+"\n"
+"%s"
+msgstr ""
+"Telepathy kontohalduriga ühendumisel esines järgnev viga:\n"
+"\n"
+"%s"
+
msgid "Don't connect on startup"
msgstr "Käivitumisel ei ühenduta"
@@ -1779,15 +1803,6 @@ msgstr ""
msgid "An error occurred"
msgstr "Tekkis viga"
-#. To translator: %s is the protocol name
-#. Create account
-#. To translator: %s is the name of the protocol, such as "Google Talk" or
-#. * "Yahoo!"
-#.
-#, c-format
-msgid "New %s account"
-msgstr "Uus %s konto"
-
msgid "What kind of chat account do you have?"
msgstr "Mis sorti konto sul on?"
@@ -2825,6 +2840,3 @@ msgstr "Empathy kontod"
msgid "Empathy Debugger"
msgstr "Empathy siluja"
-
-#~ msgid "Use _Yahoo! Japan"
-#~ msgstr "Jaapani _Yahoo! kasutamine"
diff --git a/po/nb.po b/po/nb.po
index cc2516ae1..dd1dfc529 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -4,10 +4,10 @@
# Sigurd Gartmann <sigurdga@yahoo-inc.com>, 2005, 2006.
msgid ""
msgstr ""
-"Project-Id-Version: empathy 2.31.x\n"
+"Project-Id-Version: empathy 2.91.x\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-25 12:19+0200\n"
-"PO-Revision-Date: 2010-09-25 12:20+0200\n"
+"POT-Creation-Date: 2010-10-16 12:28+0200\n"
+"PO-Revision-Date: 2010-10-16 12:46+0200\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian <i18n-nb@lister.ping.uio.no>\n"
"Language: no\n"
@@ -112,276 +112,268 @@ msgid "Empathy default download folder"
msgstr "Forvalgt nedlastingsmappe for Empathy"
#: ../data/org.gnome.Empathy.gschema.xml.in.h:18
-msgid "Empathy has asked about importing accounts"
-msgstr "Empathy har spurt om import av kontoer"
-
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:19
msgid "Empathy has migrated butterfly logs"
msgstr "Empathy har migrert logger fra butterfly"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:20
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:19
msgid "Empathy should auto-away when idle"
msgstr "Empathy skal sette bortestatus automatisk ved inaktivitet"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:21
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:20
msgid "Empathy should auto-connect on startup"
msgstr "Empathy skal koble til automatisk ved oppstart"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:22
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:21
msgid "Empathy should reduce the location's accuracy"
msgstr "Empathy skal redusere nøyaktighet for lokasjonen"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:23
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:22
msgid "Empathy should use the avatar of the contact as the chat window icon"
msgstr ""
"Empathy skal bruke personbildet for kontakten som ikon for pratevinduet"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:24
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:23
msgid "Enable WebKit Developer Tools"
msgstr "Slå på utviklerverktøy for WebKit"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:25
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:24
msgid "Enable popup notifications for new messages"
msgstr "Aktiver varsling oppsprettmeldinger for nye meldinger"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:26
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:25
msgid "Enable spell checker"
msgstr "Bruk stavekontroll"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:27
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:26
msgid "Hide main window"
msgstr "Skjul hovedvinduet"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:28
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:27
msgid "Hide the main window."
msgstr "Skjul hovedvinduet."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:29
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:28
msgid "Nick completed character"
msgstr "Tegn for fullføring av kallenavn"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:30
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:29
msgid "Open new chats in separate windows"
msgstr "Åpne nye samtaler i egne vinduer"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:31
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:30
msgid "Path of the Adium theme to use"
msgstr "Sti til Adium-tema som skal brukes"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:32
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:31
msgid "Path of the Adium theme to use if the theme used for chat is Adium."
msgstr "Sti til Adium-tema skal brukes hvis tema for prat er Adium."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:33
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:32
msgid "Play a sound for incoming messages"
msgstr "Spill av lyd når meldinger kommer inn"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:34
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:33
msgid "Play a sound for new conversations"
msgstr "Spill av lyd ved nye samtaler"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:35
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:34
msgid "Play a sound for outgoing messages"
msgstr "Spill av lyd for utgående meldinger"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:36
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:35
msgid "Play a sound when a contact logs in"
msgstr "Spill av lyd når kontakter logger inn"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:37
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:36
msgid "Play a sound when a contact logs out"
msgstr "Spill av lyd når kontakter logger ut"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:38
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:37
msgid "Play a sound when we log in"
msgstr "Spill av lyd når du logger inn"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:39
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:38
msgid "Play a sound when we log out"
msgstr "Spill av lyd når du logger ut"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:40
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:39
msgid "Pop up notifications if the chat isn't focused"
msgstr "Vis varsling når prat ikke er fokusert"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:41
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:40
msgid "Pop up notifications when a contact logs in"
msgstr "Vis varsling når en kontakt logger inn"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:42
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:41
msgid "Pop up notifications when a contact logs out"
msgstr "Vis varsling når en kontakt logger ut"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:43
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:42
msgid "Show avatars"
msgstr "Vis personbilder"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:44
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:43
msgid "Show contact list in rooms"
msgstr "Vis kontaktliste i rom"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:45
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:44
msgid "Show hint about closing the main window"
msgstr "Vis hint om lukking av hovedvinduet"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:46
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:45
msgid "Show offline contacts"
msgstr "Vis frakoblede kontakter"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:47
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:46
msgid "Show protocols"
msgstr "Vis protokoller"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:48
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:47
msgid "Spell checking languages"
msgstr "Stavekontrollspråk"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:49
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:48
msgid "The default folder to save file transfers in."
msgstr "Forvalgt mappe for lagring av filoverføringer."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:50
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:49
msgid "The last directory that an avatar image was chosen from."
msgstr "Den forrige mappen et personbilde ble valgt fra."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:51
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:50
msgid "The position for the chat window side pane"
msgstr "Posisjon for pratevinduets sidelinje"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:52
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:51
msgid "The stored position (in pixels) of the chat window side pane."
msgstr "Lagret posisjon (i pikselr) for pratevinduets sideområde."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:53
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:52
msgid "The theme that is used to display the conversation in chat windows."
msgstr "Temaet som brukes til å vise samtaler."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:54
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:53
msgid "Use graphical smileys"
msgstr "Vis smilefjes grafisk"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:55
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:54
msgid "Use notification sounds"
msgstr "Bruk varslingslyder"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:56
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:55
msgid "Use theme for chat rooms"
msgstr "Bruk tema for samtalerom"
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:57
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:56
msgid "Whether Empathy can publish the user's location to their contacts."
msgstr "Om Empathy kan publisere brukers lokasjon til kontakter."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:58
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:57
msgid "Whether Empathy can use the GPS to guess the location."
msgstr "Om Empathy kan bruke GPS for å gjette lokasjon."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:59
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:58
msgid "Whether Empathy can use the cellular network to guess the location."
msgstr "Om Empathy kan bruke mobilnettverk for å gjette lokasjon."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:60
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:59
msgid "Whether Empathy can use the network to guess the location."
msgstr "Om Empathy kan bruke nettverket for å gjette lokasjon."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:61
-msgid "Whether Empathy has asked about importing accounts from other programs."
-msgstr "Om Empathy har spurt om å importere kontoer fra andre programmer."
-
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:62
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:60
msgid "Whether Empathy has migrated butterfly logs."
msgstr "Om Empathy har migrert logger for butterfly."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:63
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:61
msgid "Whether Empathy should automatically log into your accounts on startup."
msgstr "Om Empathy skal logge inn til dine kontoer automatisk ved oppstart."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:64
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:62
msgid ""
"Whether Empathy should go into away mode automatically if the user is idle."
msgstr ""
"Om Empathy skal bytte til bortemodus automatisk hvis bruker ikke er aktiv."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:65
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:63
msgid ""
"Whether Empathy should reduce the location's accuracy for privacy reasons."
msgstr "Om Empathy skal redusere nøyaktighet for lokasjon av personvernhensyn."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:66
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:64
msgid ""
"Whether Empathy should use the avatar of the contact as the chat window icon."
msgstr ""
"Om Empathy skal bruke personbilde for kontakten som ikon for pratevinduet."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:67
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:65
msgid ""
"Whether WebKit developer tools, such as the Web Inspector, should be enabled."
msgstr "Om utviklerverktøy for WebKit, som Web Inspector, skal slås på."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:68
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:66
msgid ""
"Whether connectivity managers should be used to automatically disconnect/"
"reconnect."
msgstr "Om tilkoblingshåndterere skal brukes til å koble til/fra automatisk."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:69
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:67
msgid ""
"Whether to check words typed against the languages you want to check with."
msgstr "Om stavekontroll skal sjekke ord mot de språkene du ønsker å bruke."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:70
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:68
msgid "Whether to convert smileys into graphical images in conversations."
msgstr "Om smilefjes skal konverteres til grafiske bilder i samtaler."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:71
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:69
msgid "Whether to play a sound to notify of contacts logging into the network."
msgstr ""
"Om en lyd skal spilles av for å varsle om at kontakter logger inn på "
"nettverket."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:72
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:70
msgid ""
"Whether to play a sound to notify of contacts logging out of the network."
msgstr ""
"Om en lyd skal spilles av for å varsle at kontakter logger ut av nettverket."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:73
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:71
msgid "Whether to play a sound to notify of events."
msgstr "Om lyder skal spilles av for å varsle om hendelser."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:74
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:72
msgid "Whether to play a sound to notify of incoming messages."
msgstr "Om lyder skal spilles av for å varsle om innkommende meldinger."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:75
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:73
msgid "Whether to play a sound to notify of new conversations."
msgstr "Om lyder skal spilles av for å varsle om nye samtaler."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:76
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:74
msgid "Whether to play a sound to notify of outgoing messages."
msgstr "Om lyder skal spilles av for å varsle om utgående meldinger."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:77
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:75
msgid "Whether to play a sound when logging into a network."
msgstr "Om lyder skal spilles av når du logger inn på et nettverk."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:78
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:76
msgid "Whether to play a sound when logging out of a network."
msgstr "Om lyder skal spilles av når du logger ut av et nettverk."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:79
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:77
msgid "Whether to play sound notifications when away or busy."
msgstr "Om lyder skal spilles av når du er borte eller opptatt."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:80
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:78
msgid "Whether to show a popup notification when a contact goes offline."
msgstr "Om varsel skal vises når en kontakt kobler fra."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:81
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:79
msgid "Whether to show a popup notification when a contact goes online."
msgstr "Om et varsel skal vises når en kontakt er kobler fra."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:82
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:80
msgid ""
"Whether to show a popup notification when receiving a new message even if "
"the chat is already opened, but not focused."
@@ -389,36 +381,36 @@ msgstr ""
"Om varsling skal vises når en melding mottas selv om pratevinduet er åpent "
"men ikke har fokus."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:83
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:81
msgid "Whether to show a popup notification when receiving a new message."
msgstr "Om varsling skal vises når en ny melding mottas."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:84
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:82
msgid ""
"Whether to show avatars for contacts in the contact list and chat windows."
msgstr "Om bilder av kontakter skal vises i kontaktlisten og samtalevinduer."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:85
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:83
msgid "Whether to show contacts that are offline in the contact list."
msgstr "Om kontakter som er frakoblet skal vises i kontaktlisten."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:86
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:84
msgid "Whether to show popup notifications when away or busy."
msgstr "Om varsling skal vises når du er borte eller opptatt."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:87
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:85
msgid "Whether to show protocols for contacts in the contact list."
msgstr "Om protokoller for kontakter skal vises i kontaktlisten."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:88
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:86
msgid "Whether to show the contact list in chat rooms."
msgstr "Om kontaktlisten skal vises i praterom."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:89
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:87
msgid "Whether to show the contact list in compact mode."
msgstr "Om kontaktlisten skal vises i kompakt modus."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:90
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:88
msgid ""
"Whether to show the message dialog about closing the main window with the "
"'x' button in the title bar."
@@ -426,11 +418,11 @@ msgstr ""
"Om meldingsdialog om lukking av vinduet med «x»-knappen i tittelfeltet skal "
"vises."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:91
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:89
msgid "Whether to use the theme for chat rooms."
msgstr "Om tema skal brukes for praterom eller ikke."
-#: ../data/org.gnome.Empathy.gschema.xml.in.h:92
+#: ../data/org.gnome.Empathy.gschema.xml.in.h:90
msgid ""
"Which criterion to use when sorting the contact list. Default is to sort by "
"the contact's name with the value \"name\". A value of \"state\" will sort "
@@ -446,7 +438,7 @@ msgstr "Håndter meldings- og VoIP-kontoer"
#. Tweak the dialog
#: ../data/empathy-accounts.desktop.in.in.h:2
-#: ../src/empathy-accounts-dialog.c:2157
+#: ../src/empathy-accounts-dialog.c:2105
msgid "Messaging and VoIP Accounts"
msgstr "Meldings- og VoIP-kontoer"
@@ -518,9 +510,9 @@ msgstr "Usynlig"
msgid "Offline"
msgstr "Frakoblet"
-#: ../libempathy/empathy-utils.c:257 ../src/empathy-call-window.c:1893
-#: ../src/empathy-call-window.c:1894 ../src/empathy-call-window.c:1895
-#: ../src/empathy-call-window.c:1896 ../src/empathy-call-window.ui.h:18
+#: ../libempathy/empathy-utils.c:257 ../src/empathy-call-window.c:1894
+#: ../src/empathy-call-window.c:1895 ../src/empathy-call-window.c:1896
+#: ../src/empathy-call-window.c:1897 ../src/empathy-call-window.ui.h:18
msgid "Unknown"
msgstr "Ukjent"
@@ -636,16 +628,20 @@ msgstr ""
"Lengden på tjenersertifikatet eller dybden på sertifikatkjeden på tjeneren "
"oversteg grensen som settes av kryptografibiblioteket"
-#: ../libempathy/empathy-utils.c:544
+#: ../libempathy/empathy-utils.c:543
#: ../libempathy-gtk/empathy-contact-list-store.h:73
msgid "People Nearby"
msgstr "Personer i nærheten"
-#: ../libempathy/empathy-utils.c:549
+#: ../libempathy/empathy-utils.c:548
msgid "Yahoo! Japan"
msgstr "Yahoo! Japan"
-#: ../libempathy/empathy-utils.c:550
+#: ../libempathy/empathy-utils.c:577
+msgid "Google Talk"
+msgstr "Google Talk"
+
+#: ../libempathy/empathy-utils.c:578
msgid "Facebook Chat"
msgstr "Facebook-prat"
@@ -699,67 +695,67 @@ msgstr "i fremtiden"
msgid "All"
msgstr "Alle"
-#: ../libempathy-gtk/empathy-account-widget.c:514
+#: ../libempathy-gtk/empathy-account-widget.c:612
#: ../libempathy-gtk/empathy-log-window.c:646
-#: ../src/empathy-import-widget.c:312
+#: ../src/empathy-import-widget.c:321
msgid "Account"
msgstr "Konto"
-#: ../libempathy-gtk/empathy-account-widget.c:515
+#: ../libempathy-gtk/empathy-account-widget.c:613
msgid "Password"
msgstr "Passord"
-#: ../libempathy-gtk/empathy-account-widget.c:516
+#: ../libempathy-gtk/empathy-account-widget.c:614
#: ../libempathy-gtk/empathy-irc-network-dialog.c:507
msgid "Server"
msgstr "Tjener"
-#: ../libempathy-gtk/empathy-account-widget.c:517
+#: ../libempathy-gtk/empathy-account-widget.c:615
#: ../libempathy-gtk/empathy-irc-network-dialog.c:522
msgid "Port"
msgstr "Port"
-#: ../libempathy-gtk/empathy-account-widget.c:589
-#: ../libempathy-gtk/empathy-account-widget.c:646
+#: ../libempathy-gtk/empathy-account-widget.c:687
+#: ../libempathy-gtk/empathy-account-widget.c:744
#, c-format
msgid "%s:"
msgstr "%s:"
-#: ../libempathy-gtk/empathy-account-widget.c:1192
+#: ../libempathy-gtk/empathy-account-widget.c:1299
msgid "Username:"
msgstr "Brukernavn:"
-#: ../libempathy-gtk/empathy-account-widget.c:1521
+#: ../libempathy-gtk/empathy-account-widget.c:1634
msgid "A_pply"
msgstr "_Bruk"
-#: ../libempathy-gtk/empathy-account-widget.c:1551
+#: ../libempathy-gtk/empathy-account-widget.c:1664
msgid "L_og in"
msgstr "L_ogg inn"
#. Account and Identifier
-#: ../libempathy-gtk/empathy-account-widget.c:1617
+#: ../libempathy-gtk/empathy-account-widget.c:1730
#: ../libempathy-gtk/empathy-contact-widget.ui.h:2
-#: ../libempathy-gtk/empathy-individual-widget.c:1401
+#: ../libempathy-gtk/empathy-individual-widget.c:1399
#: ../libempathy-gtk/empathy-contact-selector-dialog.ui.h:1
#: ../src/empathy-chatrooms-window.ui.h:1
#: ../src/empathy-new-chatroom-dialog.ui.h:1
msgid "Account:"
msgstr "Konto:"
-#: ../libempathy-gtk/empathy-account-widget.c:1628
+#: ../libempathy-gtk/empathy-account-widget.c:1741
msgid "_Enabled"
msgstr "Slått _på"
-#: ../libempathy-gtk/empathy-account-widget.c:1693
+#: ../libempathy-gtk/empathy-account-widget.c:1806
msgid "This account already exists on the server"
msgstr "Denne kontoen eksisterer allerede på tjeneren"
-#: ../libempathy-gtk/empathy-account-widget.c:1696
+#: ../libempathy-gtk/empathy-account-widget.c:1809
msgid "Create a new account on the server"
msgstr "Lag en ny konto på tjeneren"
-#: ../libempathy-gtk/empathy-account-widget.c:1789
+#: ../libempathy-gtk/empathy-account-widget.c:1902
msgid "Ca_ncel"
msgstr "A_vbryt"
@@ -768,19 +764,19 @@ msgstr "A_vbryt"
#. * like: "MyUserName on freenode".
#. * You should reverse the order of these arguments if the
#. * server should come before the login id in your locale.
-#: ../libempathy-gtk/empathy-account-widget.c:2077
+#: ../libempathy-gtk/empathy-account-widget.c:2190
#, c-format
msgid "%1$s on %2$s"
msgstr "%1$s av %2$s"
#. To translators: The parameter is the protocol name. The resulting
#. * string will be something like: "Jabber Account"
-#: ../libempathy-gtk/empathy-account-widget.c:2103
+#: ../libempathy-gtk/empathy-account-widget.c:2216
#, c-format
msgid "%s Account"
msgstr "%s-konto"
-#: ../libempathy-gtk/empathy-account-widget.c:2107
+#: ../libempathy-gtk/empathy-account-widget.c:2220
msgid "New account"
msgstr "Ny konto"
@@ -1292,7 +1288,7 @@ msgstr "ukjent"
msgid "Error sending message '%s': %s"
msgstr "Feil ved sending av melding «%s»: %s"
-#: ../libempathy-gtk/empathy-chat.c:1282 ../src/empathy-chat-window.c:691
+#: ../libempathy-gtk/empathy-chat.c:1282 ../src/empathy-chat-window.c:705
msgid "Topic:"
msgstr "Emne:"
@@ -1305,29 +1301,29 @@ msgstr "Emnet er satt til: %s"
msgid "No topic defined"
msgstr "Emne ikke definert"
-#: ../libempathy-gtk/empathy-chat.c:1775
+#: ../libempathy-gtk/empathy-chat.c:1829
msgid "(No Suggestions)"
msgstr "(Ingen forslag)"
-#: ../libempathy-gtk/empathy-chat.c:1829
+#: ../libempathy-gtk/empathy-chat.c:1875
msgid "Insert Smiley"
msgstr "Sett inn smilefjes"
#. send button
-#: ../libempathy-gtk/empathy-chat.c:1847
-#: ../libempathy-gtk/empathy-ui-utils.c:1801
+#: ../libempathy-gtk/empathy-chat.c:1893
+#: ../libempathy-gtk/empathy-ui-utils.c:1805
msgid "_Send"
msgstr "_Send"
-#: ../libempathy-gtk/empathy-chat.c:1881
+#: ../libempathy-gtk/empathy-chat.c:1927
msgid "_Spelling Suggestions"
msgstr "_Staveforslag"
-#: ../libempathy-gtk/empathy-chat.c:1958
+#: ../libempathy-gtk/empathy-chat.c:2004
msgid "Failed to retrieve recent logs"
msgstr "Klarte ikke å hente siste logger"
-#: ../libempathy-gtk/empathy-chat.c:2064
+#: ../libempathy-gtk/empathy-chat.c:2110
#, c-format
msgid "%s has disconnected"
msgstr "%s har koblet fra"
@@ -1335,12 +1331,12 @@ msgstr "%s har koblet fra"
#. translators: reverse the order of these arguments
#. * if the kicked should come before the kicker in your locale.
#.
-#: ../libempathy-gtk/empathy-chat.c:2071
+#: ../libempathy-gtk/empathy-chat.c:2117
#, c-format
msgid "%1$s was kicked by %2$s"
msgstr "%1$s ble sparket av %2$s"
-#: ../libempathy-gtk/empathy-chat.c:2074
+#: ../libempathy-gtk/empathy-chat.c:2120
#, c-format
msgid "%s was kicked"
msgstr "%s ble sparket"
@@ -1348,17 +1344,17 @@ msgstr "%s ble sparket"
#. translators: reverse the order of these arguments
#. * if the banned should come before the banner in your locale.
#.
-#: ../libempathy-gtk/empathy-chat.c:2082
+#: ../libempathy-gtk/empathy-chat.c:2128
#, c-format
msgid "%1$s was banned by %2$s"
msgstr "%1$s ble bannlyst av %2$s"
-#: ../libempathy-gtk/empathy-chat.c:2085
+#: ../libempathy-gtk/empathy-chat.c:2131
#, c-format
msgid "%s was banned"
msgstr "%s ble bannlyst"
-#: ../libempathy-gtk/empathy-chat.c:2089
+#: ../libempathy-gtk/empathy-chat.c:2135
#, c-format
msgid "%s has left the room"
msgstr "%s har forlatt rommet"
@@ -1368,46 +1364,46 @@ msgstr "%s har forlatt rommet"
#. * given by the user living the room. If this poses a problem,
#. * please let us know. :-)
#.
-#: ../libempathy-gtk/empathy-chat.c:2098
+#: ../libempathy-gtk/empathy-chat.c:2144
#, c-format
msgid " (%s)"
msgstr " (%s)"
-#: ../libempathy-gtk/empathy-chat.c:2123
+#: ../libempathy-gtk/empathy-chat.c:2169
#, c-format
msgid "%s has joined the room"
msgstr "%s har blitt med i rommet"
-#: ../libempathy-gtk/empathy-chat.c:2148
+#: ../libempathy-gtk/empathy-chat.c:2194
#, c-format
msgid "%s is now known as %s"
msgstr "%s er nå kjent som %s"
-#: ../libempathy-gtk/empathy-chat.c:2287 ../src/empathy-call-window.c:1932
+#: ../libempathy-gtk/empathy-chat.c:2333 ../src/empathy-call-window.c:1938
msgid "Disconnected"
msgstr "Koblet fra"
-#: ../libempathy-gtk/empathy-chat.c:2934
+#: ../libempathy-gtk/empathy-chat.c:2956
msgid "Wrong password; please try again:"
msgstr "Feil passord; vennligst prøv igjen:"
-#: ../libempathy-gtk/empathy-chat.c:2935
+#: ../libempathy-gtk/empathy-chat.c:2957
msgid "Retry"
msgstr "Prøv igjen"
-#: ../libempathy-gtk/empathy-chat.c:2940
+#: ../libempathy-gtk/empathy-chat.c:2962
msgid "This room is protected by a password:"
msgstr "Dette rommet er beskyttet med et passord:"
-#: ../libempathy-gtk/empathy-chat.c:2941
+#: ../libempathy-gtk/empathy-chat.c:2963
msgid "Join"
msgstr "Bli med"
-#: ../libempathy-gtk/empathy-chat.c:3081
+#: ../libempathy-gtk/empathy-chat.c:3103
msgid "Connected"
msgstr "Koblet til"
-#: ../libempathy-gtk/empathy-chat.c:3134
+#: ../libempathy-gtk/empathy-chat.c:3156
#: ../libempathy-gtk/empathy-log-window.c:653
msgid "Conversation"
msgstr "Samtale"
@@ -1430,17 +1426,17 @@ msgstr "_Åpne lenke"
msgid "%A %B %d %Y"
msgstr "%A %d %B %Y"
-#: ../libempathy-gtk/empathy-contact-dialogs.c:243
-#: ../libempathy-gtk/empathy-individual-edit-dialog.c:248
+#: ../libempathy-gtk/empathy-contact-dialogs.c:241
+#: ../libempathy-gtk/empathy-individual-edit-dialog.c:247
msgid "Edit Contact Information"
msgstr "Endre kontaktinformasjon"
-#: ../libempathy-gtk/empathy-contact-dialogs.c:295
+#: ../libempathy-gtk/empathy-contact-dialogs.c:292
msgid "Personal Information"
msgstr "Personlig informasjon"
-#: ../libempathy-gtk/empathy-contact-dialogs.c:401
-#: ../libempathy-gtk/empathy-individual-dialogs.c:112
+#: ../libempathy-gtk/empathy-contact-dialogs.c:397
+#: ../libempathy-gtk/empathy-individual-dialogs.c:110
msgid "New Contact"
msgstr "Ny kontakt"
@@ -1461,33 +1457,33 @@ msgid "Favorite People"
msgstr "Favorittpersoner"
#: ../libempathy-gtk/empathy-contact-list-view.c:2004
-#: ../libempathy-gtk/empathy-individual-view.c:2232
+#: ../libempathy-gtk/empathy-individual-view.c:2209
#, 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:2006
-#: ../libempathy-gtk/empathy-individual-view.c:2235
+#: ../libempathy-gtk/empathy-individual-view.c:2212
msgid "Removing group"
msgstr "Fjerner gruppe"
#. Remove
#: ../libempathy-gtk/empathy-contact-list-view.c:2055
#: ../libempathy-gtk/empathy-contact-list-view.c:2132
-#: ../libempathy-gtk/empathy-individual-view.c:2289
-#: ../libempathy-gtk/empathy-individual-view.c:2387
+#: ../libempathy-gtk/empathy-individual-view.c:2266
+#: ../libempathy-gtk/empathy-individual-view.c:2380
#: ../src/empathy-accounts-dialog.ui.h:7
msgid "_Remove"
msgstr "Fje_rn"
#: ../libempathy-gtk/empathy-contact-list-view.c:2085
-#: ../libempathy-gtk/empathy-individual-view.c:2320
+#: ../libempathy-gtk/empathy-individual-view.c:2297
#, 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:2087
-#: ../libempathy-gtk/empathy-individual-view.c:2322
+#: ../libempathy-gtk/empathy-individual-view.c:2299
msgid "Removing contact"
msgstr "Fjerner kontakt"
@@ -1497,64 +1493,64 @@ msgid "_Add Contact…"
msgstr "_Legg til kontakt..."
#: ../libempathy-gtk/empathy-contact-menu.c:230
-#: ../libempathy-gtk/empathy-individual-menu.c:514
+#: ../libempathy-gtk/empathy-individual-menu.c:516
#: ../src/empathy-main-window.ui.h:14
msgid "_Chat"
msgstr "_Prat"
#: ../libempathy-gtk/empathy-contact-menu.c:260
-#: ../libempathy-gtk/empathy-individual-menu.c:557
+#: ../libempathy-gtk/empathy-individual-menu.c:559
msgctxt "menu item"
msgid "_Audio Call"
msgstr "_Lydsamtale"
#: ../libempathy-gtk/empathy-contact-menu.c:290
-#: ../libempathy-gtk/empathy-individual-menu.c:599
+#: ../libempathy-gtk/empathy-individual-menu.c:601
msgctxt "menu item"
msgid "_Video Call"
msgstr "_Videosamtale"
#: ../libempathy-gtk/empathy-contact-menu.c:330
-#: ../libempathy-gtk/empathy-individual-menu.c:642
+#: ../libempathy-gtk/empathy-individual-menu.c:644
#: ../src/empathy-main-window.ui.h:25
msgid "_Previous Conversations"
msgstr "_Tidligere samtaler"
#: ../libempathy-gtk/empathy-contact-menu.c:352
-#: ../libempathy-gtk/empathy-individual-menu.c:683
+#: ../libempathy-gtk/empathy-individual-menu.c:685
msgid "Send File"
msgstr "Send fil"
-#: ../libempathy-gtk/empathy-contact-menu.c:375
-#: ../libempathy-gtk/empathy-individual-menu.c:725
+#: ../libempathy-gtk/empathy-contact-menu.c:374
+#: ../libempathy-gtk/empathy-individual-menu.c:727
msgid "Share My Desktop"
msgstr "Del mitt skrivebord"
-#: ../libempathy-gtk/empathy-contact-menu.c:415
-#: ../libempathy-gtk/empathy-contact-widget.c:1539
-#: ../libempathy-gtk/empathy-individual-menu.c:759
-#: ../libempathy-gtk/empathy-individual-widget.c:1292
+#: ../libempathy-gtk/empathy-contact-menu.c:414
+#: ../libempathy-gtk/empathy-contact-widget.c:1568
+#: ../libempathy-gtk/empathy-individual-menu.c:761
+#: ../libempathy-gtk/empathy-individual-widget.c:1290
msgid "Favorite"
msgstr "Favoritt"
-#: ../libempathy-gtk/empathy-contact-menu.c:444
-#: ../libempathy-gtk/empathy-individual-menu.c:786
+#: ../libempathy-gtk/empathy-contact-menu.c:443
+#: ../libempathy-gtk/empathy-individual-menu.c:788
msgid "Infor_mation"
msgstr "Infor_masjon"
-#: ../libempathy-gtk/empathy-contact-menu.c:490
+#: ../libempathy-gtk/empathy-contact-menu.c:489
msgctxt "Edit contact (contextual menu)"
msgid "_Edit"
msgstr "R_ediger"
-#: ../libempathy-gtk/empathy-contact-menu.c:544
-#: ../libempathy-gtk/empathy-individual-menu.c:970
-#: ../src/empathy-chat-window.c:903
+#: ../libempathy-gtk/empathy-contact-menu.c:543
+#: ../libempathy-gtk/empathy-individual-menu.c:969
+#: ../src/empathy-chat-window.c:917
msgid "Inviting you to this room"
msgstr "Inviterer deg til dette rommet"
-#: ../libempathy-gtk/empathy-contact-menu.c:575
-#: ../libempathy-gtk/empathy-individual-menu.c:1017
+#: ../libempathy-gtk/empathy-contact-menu.c:574
+#: ../libempathy-gtk/empathy-individual-menu.c:1016
msgid "_Invite to Chat Room"
msgstr "_Inviter til praterom"
@@ -1562,178 +1558,178 @@ msgstr "_Inviter til praterom"
msgid "Select a contact"
msgstr "Velg en kontakt"
-#: ../libempathy-gtk/empathy-contact-widget.c:217
-#: ../libempathy-gtk/empathy-individual-widget.c:148
+#: ../libempathy-gtk/empathy-contact-widget.c:225
+#: ../libempathy-gtk/empathy-individual-widget.c:147
msgid "Full name:"
msgstr "Fullt navn:"
-#: ../libempathy-gtk/empathy-contact-widget.c:218
-#: ../libempathy-gtk/empathy-individual-widget.c:149
+#: ../libempathy-gtk/empathy-contact-widget.c:226
+#: ../libempathy-gtk/empathy-individual-widget.c:148
msgid "Phone number:"
msgstr "Telefonnummer:"
-#: ../libempathy-gtk/empathy-contact-widget.c:219
-#: ../libempathy-gtk/empathy-individual-widget.c:150
+#: ../libempathy-gtk/empathy-contact-widget.c:227
+#: ../libempathy-gtk/empathy-individual-widget.c:149
msgid "E-mail address:"
msgstr "E-postadresse:"
-#: ../libempathy-gtk/empathy-contact-widget.c:220
-#: ../libempathy-gtk/empathy-individual-widget.c:151
+#: ../libempathy-gtk/empathy-contact-widget.c:228
+#: ../libempathy-gtk/empathy-individual-widget.c:150
msgid "Website:"
msgstr "Nettsted:"
-#: ../libempathy-gtk/empathy-contact-widget.c:221
-#: ../libempathy-gtk/empathy-individual-widget.c:152
+#: ../libempathy-gtk/empathy-contact-widget.c:229
+#: ../libempathy-gtk/empathy-individual-widget.c:151
msgid "Birthday:"
msgstr "Fødselsdag:"
-#: ../libempathy-gtk/empathy-contact-widget.c:578
-#: ../libempathy-gtk/empathy-individual-widget.c:454
+#: ../libempathy-gtk/empathy-contact-widget.c:608
+#: ../libempathy-gtk/empathy-individual-widget.c:453
msgid "Country ISO Code:"
msgstr "ISO-kode for land:"
-#: ../libempathy-gtk/empathy-contact-widget.c:580
-#: ../libempathy-gtk/empathy-individual-widget.c:456
+#: ../libempathy-gtk/empathy-contact-widget.c:610
+#: ../libempathy-gtk/empathy-individual-widget.c:455
msgid "Country:"
msgstr "Land:"
-#: ../libempathy-gtk/empathy-contact-widget.c:582
-#: ../libempathy-gtk/empathy-individual-widget.c:458
+#: ../libempathy-gtk/empathy-contact-widget.c:612
+#: ../libempathy-gtk/empathy-individual-widget.c:457
msgid "State:"
msgstr "Tilstand:"
-#: ../libempathy-gtk/empathy-contact-widget.c:584
-#: ../libempathy-gtk/empathy-individual-widget.c:460
+#: ../libempathy-gtk/empathy-contact-widget.c:614
+#: ../libempathy-gtk/empathy-individual-widget.c:459
msgid "City:"
msgstr "By:"
-#: ../libempathy-gtk/empathy-contact-widget.c:586
-#: ../libempathy-gtk/empathy-individual-widget.c:462
+#: ../libempathy-gtk/empathy-contact-widget.c:616
+#: ../libempathy-gtk/empathy-individual-widget.c:461
msgid "Area:"
msgstr "Område:"
-#: ../libempathy-gtk/empathy-contact-widget.c:588
-#: ../libempathy-gtk/empathy-individual-widget.c:464
+#: ../libempathy-gtk/empathy-contact-widget.c:618
+#: ../libempathy-gtk/empathy-individual-widget.c:463
msgid "Postal Code:"
msgstr "Postkode:"
-#: ../libempathy-gtk/empathy-contact-widget.c:590
-#: ../libempathy-gtk/empathy-individual-widget.c:466
+#: ../libempathy-gtk/empathy-contact-widget.c:620
+#: ../libempathy-gtk/empathy-individual-widget.c:465
msgid "Street:"
msgstr "Gate:"
-#: ../libempathy-gtk/empathy-contact-widget.c:592
-#: ../libempathy-gtk/empathy-individual-widget.c:468
+#: ../libempathy-gtk/empathy-contact-widget.c:622
+#: ../libempathy-gtk/empathy-individual-widget.c:467
msgid "Building:"
msgstr "Bygning:"
-#: ../libempathy-gtk/empathy-contact-widget.c:594
-#: ../libempathy-gtk/empathy-individual-widget.c:470
+#: ../libempathy-gtk/empathy-contact-widget.c:624
+#: ../libempathy-gtk/empathy-individual-widget.c:469
msgid "Floor:"
msgstr "Etasje:"
-#: ../libempathy-gtk/empathy-contact-widget.c:596
-#: ../libempathy-gtk/empathy-individual-widget.c:472
+#: ../libempathy-gtk/empathy-contact-widget.c:626
+#: ../libempathy-gtk/empathy-individual-widget.c:471
msgid "Room:"
msgstr "Rom:"
-#: ../libempathy-gtk/empathy-contact-widget.c:598
-#: ../libempathy-gtk/empathy-individual-widget.c:474
+#: ../libempathy-gtk/empathy-contact-widget.c:628
+#: ../libempathy-gtk/empathy-individual-widget.c:473
msgid "Text:"
msgstr "Tekst:"
-#: ../libempathy-gtk/empathy-contact-widget.c:600
-#: ../libempathy-gtk/empathy-individual-widget.c:476
+#: ../libempathy-gtk/empathy-contact-widget.c:630
+#: ../libempathy-gtk/empathy-individual-widget.c:475
msgid "Description:"
msgstr "Beskrivelse:"
-#: ../libempathy-gtk/empathy-contact-widget.c:602
-#: ../libempathy-gtk/empathy-individual-widget.c:478
+#: ../libempathy-gtk/empathy-contact-widget.c:632
+#: ../libempathy-gtk/empathy-individual-widget.c:477
msgid "URI:"
msgstr "URI:"
-#: ../libempathy-gtk/empathy-contact-widget.c:604
-#: ../libempathy-gtk/empathy-individual-widget.c:480
+#: ../libempathy-gtk/empathy-contact-widget.c:634
+#: ../libempathy-gtk/empathy-individual-widget.c:479
msgid "Accuracy Level:"
msgstr "Nøyaktighetsnivå:"
-#: ../libempathy-gtk/empathy-contact-widget.c:606
-#: ../libempathy-gtk/empathy-individual-widget.c:482
+#: ../libempathy-gtk/empathy-contact-widget.c:636
+#: ../libempathy-gtk/empathy-individual-widget.c:481
msgid "Error:"
msgstr "Feil:"
-#: ../libempathy-gtk/empathy-contact-widget.c:608
-#: ../libempathy-gtk/empathy-individual-widget.c:484
+#: ../libempathy-gtk/empathy-contact-widget.c:638
+#: ../libempathy-gtk/empathy-individual-widget.c:483
msgid "Vertical Error (meters):"
msgstr "Vertikal feil (meter):"
-#: ../libempathy-gtk/empathy-contact-widget.c:610
-#: ../libempathy-gtk/empathy-individual-widget.c:486
+#: ../libempathy-gtk/empathy-contact-widget.c:640
+#: ../libempathy-gtk/empathy-individual-widget.c:485
msgid "Horizontal Error (meters):"
msgstr "Horisontal feil (meter):"
-#: ../libempathy-gtk/empathy-contact-widget.c:612
-#: ../libempathy-gtk/empathy-individual-widget.c:488
+#: ../libempathy-gtk/empathy-contact-widget.c:642
+#: ../libempathy-gtk/empathy-individual-widget.c:487
msgid "Speed:"
msgstr "Hastighet:"
-#: ../libempathy-gtk/empathy-contact-widget.c:614
-#: ../libempathy-gtk/empathy-individual-widget.c:490
+#: ../libempathy-gtk/empathy-contact-widget.c:644
+#: ../libempathy-gtk/empathy-individual-widget.c:489
msgid "Bearing:"
msgstr "Retning:"
-#: ../libempathy-gtk/empathy-contact-widget.c:616
-#: ../libempathy-gtk/empathy-individual-widget.c:492
+#: ../libempathy-gtk/empathy-contact-widget.c:646
+#: ../libempathy-gtk/empathy-individual-widget.c:491
msgid "Climb Speed:"
msgstr "Klatrehastighet:"
-#: ../libempathy-gtk/empathy-contact-widget.c:618
-#: ../libempathy-gtk/empathy-individual-widget.c:494
+#: ../libempathy-gtk/empathy-contact-widget.c:648
+#: ../libempathy-gtk/empathy-individual-widget.c:493
msgid "Last Updated on:"
msgstr "Sist oppdatert:"
-#: ../libempathy-gtk/empathy-contact-widget.c:620
-#: ../libempathy-gtk/empathy-individual-widget.c:496
+#: ../libempathy-gtk/empathy-contact-widget.c:650
+#: ../libempathy-gtk/empathy-individual-widget.c:495
msgid "Longitude:"
msgstr "Lengdegrad:"
-#: ../libempathy-gtk/empathy-contact-widget.c:622
-#: ../libempathy-gtk/empathy-individual-widget.c:498
+#: ../libempathy-gtk/empathy-contact-widget.c:652
+#: ../libempathy-gtk/empathy-individual-widget.c:497
msgid "Latitude:"
msgstr "Breddegrad:"
-#: ../libempathy-gtk/empathy-contact-widget.c:624
-#: ../libempathy-gtk/empathy-individual-widget.c:500
+#: ../libempathy-gtk/empathy-contact-widget.c:654
+#: ../libempathy-gtk/empathy-individual-widget.c:499
msgid "Altitude:"
msgstr "Høyde:"
-#: ../libempathy-gtk/empathy-contact-widget.c:687
-#: ../libempathy-gtk/empathy-contact-widget.c:704
-#: ../libempathy-gtk/empathy-individual-widget.c:582
-#: ../libempathy-gtk/empathy-individual-widget.c:599
+#: ../libempathy-gtk/empathy-contact-widget.c:717
+#: ../libempathy-gtk/empathy-contact-widget.c:734
+#: ../libempathy-gtk/empathy-individual-widget.c:581
+#: ../libempathy-gtk/empathy-individual-widget.c:598
#: ../src/empathy-preferences.ui.h:12
msgid "Location"
msgstr "Sted"
#. translators: format is "Location, $date"
-#: ../libempathy-gtk/empathy-contact-widget.c:706
-#: ../libempathy-gtk/empathy-individual-widget.c:601
+#: ../libempathy-gtk/empathy-contact-widget.c:736
+#: ../libempathy-gtk/empathy-individual-widget.c:600
#, c-format
msgid "%s, %s"
msgstr "%s, %s"
-#: ../libempathy-gtk/empathy-contact-widget.c:758
-#: ../libempathy-gtk/empathy-individual-widget.c:650
+#: ../libempathy-gtk/empathy-contact-widget.c:788
+#: ../libempathy-gtk/empathy-individual-widget.c:649
msgid "%B %e, %Y at %R UTC"
msgstr "%B %e, %Y, %R UTC"
-#: ../libempathy-gtk/empathy-contact-widget.c:841
-#: ../libempathy-gtk/empathy-individual-widget.c:841
+#: ../libempathy-gtk/empathy-contact-widget.c:871
+#: ../libempathy-gtk/empathy-individual-widget.c:840
msgid "Save Avatar"
msgstr "Lagre personbilder"
-#: ../libempathy-gtk/empathy-contact-widget.c:897
-#: ../libempathy-gtk/empathy-individual-widget.c:899
+#: ../libempathy-gtk/empathy-contact-widget.c:927
+#: ../libempathy-gtk/empathy-individual-widget.c:898
msgid "Unable to save avatar"
msgstr "Kan ikke lagre personbilde"
@@ -1743,7 +1739,7 @@ msgstr "<b>Lokasjon</b> (dato)\t"
#. Alias
#: ../libempathy-gtk/empathy-contact-widget.ui.h:3
-#: ../libempathy-gtk/empathy-individual-widget.c:1227
+#: ../libempathy-gtk/empathy-individual-widget.c:1226
msgid "Alias:"
msgstr "Alias:"
@@ -1763,7 +1759,7 @@ msgstr "Kontaktdetaljer"
#. Identifier to connect to Instant Messaging network
#. Translators: Identifier to connect to Instant Messaging network
#: ../libempathy-gtk/empathy-contact-widget.ui.h:8
-#: ../libempathy-gtk/empathy-individual-widget.c:1431
+#: ../libempathy-gtk/empathy-individual-widget.c:1429
msgid "Identifier:"
msgstr "Identifikator:"
@@ -1796,18 +1792,18 @@ msgstr ""
msgid "_Add Group"
msgstr "_Legg til gruppe"
-#: ../libempathy-gtk/empathy-groups-widget.c:397
-#: ../libempathy-gtk/empathy-irc-network-chooser-dialog.c:554
+#: ../libempathy-gtk/empathy-groups-widget.c:398
+msgctxt "verb in a column header displaying group names"
msgid "Select"
msgstr "Velg"
-#: ../libempathy-gtk/empathy-groups-widget.c:407
-#: ../src/empathy-main-window.c:1247
+#: ../libempathy-gtk/empathy-groups-widget.c:408
+#: ../src/empathy-main-window.c:1252
msgid "Group"
msgstr "Gruppe"
#. Translators: the heading at the top of the Information dialogue
-#: ../libempathy-gtk/empathy-individual-information-dialog.c:282
+#: ../libempathy-gtk/empathy-individual-information-dialog.c:281
msgid "Linked Contacts"
msgstr "Koblede kontakter"
@@ -1831,19 +1827,19 @@ msgstr "Kontakter som velges i listen til venstre vil bli koblet sammen."
msgid "%s (%s)"
msgstr "%s (%s)"
-#: ../libempathy-gtk/empathy-individual-menu.c:837
+#: ../libempathy-gtk/empathy-individual-menu.c:836
msgctxt "Edit individual (contextual menu)"
msgid "_Edit"
msgstr "R_ediger"
#. Translators: this is a verb meaning "to connect two contacts together
#. * to form a meta-contact".
-#: ../libempathy-gtk/empathy-individual-menu.c:863
+#: ../libempathy-gtk/empathy-individual-menu.c:862
msgctxt "Link individual (contextual menu)"
msgid "_Link Contacts…"
msgstr "Koble kontakter …"
-#: ../libempathy-gtk/empathy-individual-widget.c:1569
+#: ../libempathy-gtk/empathy-individual-widget.c:1567
#, c-format
msgid "Meta-contact containing %u contact"
msgid_plural "Meta-contact containing %u contacts"
@@ -1862,6 +1858,11 @@ msgstr "Nytt nettverk"
msgid "Choose an IRC network"
msgstr "Velg et IRC-nettverk"
+#: ../libempathy-gtk/empathy-irc-network-chooser-dialog.c:555
+msgctxt "verb displayed on a button to select an IRC network"
+msgid "Select"
+msgstr "Velg"
+
#: ../libempathy-gtk/empathy-irc-network-dialog.c:280
msgid "new server"
msgstr "ny tjener"
@@ -1873,16 +1874,16 @@ msgstr "SSL"
#. Translators: this is the title of the linking dialogue (reached by
#. * right-clicking on a contact and selecting "Link…"). "Link" in this title
#. * is a verb.
-#: ../libempathy-gtk/empathy-linking-dialog.c:116
+#: ../libempathy-gtk/empathy-linking-dialog.c:115
msgid "Link Contacts"
msgstr "Koble kontakter"
-#: ../libempathy-gtk/empathy-linking-dialog.c:121
+#: ../libempathy-gtk/empathy-linking-dialog.c:120
msgctxt "Unlink individual (button)"
msgid "_Unlink…"
msgstr "_Fjern kobling …"
-#: ../libempathy-gtk/empathy-linking-dialog.c:122
+#: ../libempathy-gtk/empathy-linking-dialog.c:121
msgid ""
"Completely split the displayed meta-contact into the contacts it contains."
msgstr "Del opp vist metakontakt i kontaktene den inneholder."
@@ -1891,22 +1892,24 @@ msgstr "Del opp vist metakontakt i kontaktene den inneholder."
#. Translators: this is an action button in the linking dialogue. "Link" is
#. * used here as a verb meaning "to connect two contacts to form a
#. * meta-contact".
-#: ../libempathy-gtk/empathy-linking-dialog.c:137
+#: ../libempathy-gtk/empathy-linking-dialog.c:136
msgid "_Link"
msgstr "_Koble"
-#: ../libempathy-gtk/empathy-linking-dialog.c:183
+#: ../libempathy-gtk/empathy-linking-dialog.c:182
#, c-format
msgid "Unlink meta-contact '%s'?"
msgstr "Fjern kobling for metakontakt «%s»?"
-#: ../libempathy-gtk/empathy-linking-dialog.c:186
+#: ../libempathy-gtk/empathy-linking-dialog.c:185
msgid ""
"Are you sure you want to unlink this meta-contact? This will completely "
"split the meta-contact into the contacts it contains."
-msgstr "Er du sikker på at du vil fjerne kobling for denne metakontakten? Dette vil dele metakontakten opp i kontaktene den inneholder."
+msgstr ""
+"Er du sikker på at du vil fjerne kobling for denne metakontakten? Dette vil "
+"dele metakontakten opp i kontaktene den inneholder."
-#: ../libempathy-gtk/empathy-linking-dialog.c:191
+#: ../libempathy-gtk/empathy-linking-dialog.c:190
msgctxt "Unlink individual (button)"
msgid "_Unlink"
msgstr "_Fjern kobling"
@@ -2010,6 +2013,15 @@ msgstr "Sett din tilstedeværelse og aktiv status"
msgid "Custom messages…"
msgstr "Egendefinerte meldinger …"
+#. Create account
+#. To translator: %s is the name of the protocol, such as "Google Talk" or
+#. * "Yahoo!"
+#.
+#: ../libempathy-gtk/empathy-protocol-chooser.c:584
+#, c-format
+msgid "New %s account"
+msgstr "Ny %s-konto"
+
#: ../libempathy-gtk/empathy-search-bar.ui.h:3
msgid "Find:"
msgstr "Finn:"
@@ -2095,86 +2107,85 @@ msgid "Blue"
msgstr "Blå"
#: ../libempathy-gtk/empathy-tls-dialog.c:150
-msgid "The identity provided by the chat server cannot be verified.\n"
-msgstr "Identiteten som ble oppgitt av pratetjeneren kan ikke verifiseres.\n"
+msgid "The identity provided by the chat server cannot be verified."
+msgstr "Identiteten som ble oppgitt av pratetjeneren kan ikke verifiseres."
-#: ../libempathy-gtk/empathy-tls-dialog.c:156
-msgid "The certificate is not signed by a Certification Authority"
-msgstr "Sertifikatet er ikke signert av en sertifikatmyndighet"
+#: ../libempathy-gtk/empathy-tls-dialog.c:157
+msgid "The certificate is not signed by a Certification Authority."
+msgstr "Sertifikatet er ikke signert av en sertifikatmyndighet."
-#: ../libempathy-gtk/empathy-tls-dialog.c:160
-msgid "The certificate has expired"
-msgstr "Sertifikatet har utløpt"
+#: ../libempathy-gtk/empathy-tls-dialog.c:161
+msgid "The certificate has expired."
+msgstr "Sertifikatet er utløpt."
-#: ../libempathy-gtk/empathy-tls-dialog.c:163
-msgid "The certificate hasn't yet been activated"
-msgstr "Sertifikatet er ikke aktivert"
+#: ../libempathy-gtk/empathy-tls-dialog.c:164
+msgid "The certificate hasn't yet been activated."
+msgstr "Sertifikatet er ikke aktivert ennå."
-#: ../libempathy-gtk/empathy-tls-dialog.c:166
-msgid "The certificate does not have the expected fingerprint"
-msgstr "Sertifikatet har ikke forventet fingeravtrykk"
+#: ../libempathy-gtk/empathy-tls-dialog.c:167
+msgid "The certificate does not have the expected fingerprint."
+msgstr "Sertifikatet har ikke forventet fingeravtrykk."
-#: ../libempathy-gtk/empathy-tls-dialog.c:169
-msgid "The hostname verified by the certificate doesn't match the server name"
-msgstr ""
-"Vertsnavn verifisert av sertifikatet er ikke det samme som navn på tjener"
+#: ../libempathy-gtk/empathy-tls-dialog.c:170
+msgid "The hostname verified by the certificate doesn't match the server name."
+msgstr "Vertsnavn verifisert av sertifikatet er ikke det samme som navn på tjener."
-#: ../libempathy-gtk/empathy-tls-dialog.c:173
-msgid "The certificate is self-signed"
-msgstr "Sertifikatet er selvsignert"
+#: ../libempathy-gtk/empathy-tls-dialog.c:174
+msgid "The certificate is self-signed."
+msgstr "Sertifikatet er selvsignert."
-#: ../libempathy-gtk/empathy-tls-dialog.c:176
-msgid "The certificate has been revoked by the issuing Certification Authority"
-msgstr ""
-"Sertifikatet har blitt trukket tilbake av utstedende sertifikatmyndighet"
+#: ../libempathy-gtk/empathy-tls-dialog.c:177
+msgid ""
+"The certificate has been revoked by the issuing Certification Authority."
+msgstr "Sertifikatet har blitt trukket tilbake av utstedende sertifikatmyndighet."
-#: ../libempathy-gtk/empathy-tls-dialog.c:180
-msgid "The certificate is cryptographically weak"
-msgstr "Sertifikatet er kryptografisk svakt"
+#: ../libempathy-gtk/empathy-tls-dialog.c:181
+msgid "The certificate is cryptographically weak."
+msgstr "Sertifikatet er kryptografisk svakt."
-#: ../libempathy-gtk/empathy-tls-dialog.c:183
-msgid "The certificate length exceeds verifiable limits"
-msgstr "Sertifikatets lengde overstiger verifiserbare grenser"
+#: ../libempathy-gtk/empathy-tls-dialog.c:184
+msgid "The certificate length exceeds verifiable limits."
+msgstr "Sertifikatets lengde overstiger verifiserbare grenser."
-#: ../libempathy-gtk/empathy-tls-dialog.c:187
-msgid "The certificate is malformed"
-msgstr "Sertifikatet ikke feilutformet"
+#: ../libempathy-gtk/empathy-tls-dialog.c:188
+msgid "The certificate is malformed."
+msgstr "Sertifikatet ikke feilutformet."
-#: ../libempathy-gtk/empathy-tls-dialog.c:205
+#: ../libempathy-gtk/empathy-tls-dialog.c:206
#, c-format
msgid "Expected hostname: %s"
msgstr "Forventet vertsnavn: %s"
-#: ../libempathy-gtk/empathy-tls-dialog.c:208
+#: ../libempathy-gtk/empathy-tls-dialog.c:209
#, c-format
msgid "Certificate hostname: %s"
msgstr "Vertsnavn i sertifikat: %s"
-#: ../libempathy-gtk/empathy-tls-dialog.c:263
+#: ../libempathy-gtk/empathy-tls-dialog.c:271
msgid "Continue"
msgstr "Fortsett"
-#: ../libempathy-gtk/empathy-tls-dialog.c:269
+#: ../libempathy-gtk/empathy-tls-dialog.c:277
msgid "This connection is untrusted. Would you like to continue anyway?"
msgstr "Denne tilkoblingen er ikke tiltrodd. Vil du fortsette likevel?"
-#: ../libempathy-gtk/empathy-tls-dialog.c:286
+#: ../libempathy-gtk/empathy-tls-dialog.c:294
msgid "Remember this choice for future connections"
msgstr "Husk dette valget for fremtidige tilkoblinger"
-#: ../libempathy-gtk/empathy-tls-dialog.c:294
+#: ../libempathy-gtk/empathy-tls-dialog.c:302
msgid "Certificate Details"
msgstr "Sertifikatdetaljer"
-#: ../libempathy-gtk/empathy-ui-utils.c:1698
+#: ../libempathy-gtk/empathy-ui-utils.c:1702
msgid "Unable to open URI"
msgstr "Kan ikke åpne URI"
-#: ../libempathy-gtk/empathy-ui-utils.c:1793
+#: ../libempathy-gtk/empathy-ui-utils.c:1797
msgid "Select a file"
msgstr "Velg en fil"
-#: ../libempathy-gtk/empathy-ui-utils.c:1862
+#: ../libempathy-gtk/empathy-ui-utils.c:1866
#, c-format
msgid "Incoming file from %s"
msgstr "Innkommende fil fra %s"
@@ -2362,19 +2373,35 @@ msgstr "Ingen feilmelding"
msgid "Instant Message (Empathy)"
msgstr "Lynmelding (Empathy)"
-#: ../src/empathy.c:414
+#: ../src/empathy.c:268
+msgid "Error contacting the Account Manager"
+msgstr "Feil ved forsøk på å kontakte kontohåndtering"
+
+#: ../src/empathy.c:270
+#, c-format
+msgid ""
+"There was an error while trying to connect to the Telepathy Account Manager. "
+"The error was:\n"
+"\n"
+"%s"
+msgstr ""
+"Det oppsto en feil under tilkobling til kontohåndtering for Telepathy. Feilen var:\n"
+"\n"
+"%s"
+
+#: ../src/empathy.c:428
msgid "Don't connect on startup"
msgstr "Ikke koble til ved oppstart"
-#: ../src/empathy.c:418
+#: ../src/empathy.c:432
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:435
+#: ../src/empathy.c:449
msgid "- Empathy IM Client"
msgstr "- Empathy lynmeldingsprogram"
-#: ../src/empathy-about-dialog.c:85
+#: ../src/empathy-about-dialog.c:81
msgid ""
"Empathy is free software; you can redistribute it and/or modify it under the "
"terms of the GNU General Public License as published by the Free Software "
@@ -2386,7 +2413,7 @@ msgstr ""
"Software Foundation; enten versjon 2 av lisensen, eller (hvis du ønsker det) "
"enhver senere versjon."
-#: ../src/empathy-about-dialog.c:89
+#: ../src/empathy-about-dialog.c:85
msgid ""
"Empathy is distributed in the hope that it will be useful, but WITHOUT ANY "
"WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS "
@@ -2397,7 +2424,7 @@ msgstr ""
"GARANTI, ikke engang implisitt garanti om at det er SALGBART eller PASSER ET "
"BESTEMT FORMÅL. Se GNU General Public License for detaljer."
-#: ../src/empathy-about-dialog.c:93
+#: ../src/empathy-about-dialog.c:89
msgid ""
"You should have received a copy of the GNU General Public License along with "
"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin "
@@ -2407,11 +2434,11 @@ msgstr ""
"Hvis ikke så skriv til Free Software Foundation, Inc., 51 Franklin Street, "
"Fifth Floor, Boston, MA 02110-1301159, USA."
-#: ../src/empathy-about-dialog.c:121
+#: ../src/empathy-about-dialog.c:107
msgid "An Instant Messaging client for GNOME"
msgstr "En meldingsklient for GNOME"
-#: ../src/empathy-about-dialog.c:127
+#: ../src/empathy-about-dialog.c:113
msgid "translator-credits"
msgstr ""
"Kjartan Maraas\n"
@@ -2448,45 +2475,35 @@ msgstr ""
"avslutte assistenten og legge til kontoer senere fra Rediger-menyen."
#: ../src/empathy-account-assistant.c:220
-#: ../src/empathy-account-assistant.c:1316
+#: ../src/empathy-account-assistant.c:1268
msgid "An error occurred"
msgstr "En feil oppsto"
-#. To translator: %s is the protocol name
-#. Create account
-#. To translator: %s is the name of the protocol, such as "Google Talk" or
-#. * "Yahoo!"
-#.
-#: ../src/empathy-account-assistant.c:412 ../src/empathy-accounts-dialog.c:614
-#, c-format
-msgid "New %s account"
-msgstr "Ny %s-konto"
-
-#: ../src/empathy-account-assistant.c:515
+#: ../src/empathy-account-assistant.c:467
msgid "What kind of chat account do you have?"
msgstr "Hvilken type konto har du?"
-#: ../src/empathy-account-assistant.c:521
+#: ../src/empathy-account-assistant.c:473
msgid "Do you have any other chat accounts you want to set up?"
msgstr "Har du noen andre lynmeldingskontoer du vil sette opp?"
-#: ../src/empathy-account-assistant.c:527
+#: ../src/empathy-account-assistant.c:479
msgid "Enter your account details"
msgstr "Oppgi detaljer for konto"
-#: ../src/empathy-account-assistant.c:532
+#: ../src/empathy-account-assistant.c:484
msgid "What kind of chat account do you want to create?"
msgstr "Hvilken type lynmeldingskonto vil du lage?"
-#: ../src/empathy-account-assistant.c:538
+#: ../src/empathy-account-assistant.c:490
msgid "Do you want to create other chat accounts?"
msgstr "Vil du lage flere lynmeldingskontoer?"
-#: ../src/empathy-account-assistant.c:545
+#: ../src/empathy-account-assistant.c:497
msgid "Enter the details for the new account"
msgstr "Oppgi detaljer for den nye kontoen"
-#: ../src/empathy-account-assistant.c:660
+#: ../src/empathy-account-assistant.c:612
msgid ""
"With Empathy you can chat with people online nearby and with friends and "
"colleagues who use Google Talk, AIM, Windows Live and many other chat "
@@ -2498,41 +2515,41 @@ msgstr ""
"prateprogrammer. Hvis du har en mikrofon eller et nettkamera kan du også ha "
"lyd- og bildesamtaler."
-#: ../src/empathy-account-assistant.c:677
+#: ../src/empathy-account-assistant.c:629
msgid "Do you have an account you've been using with another chat program?"
msgstr "Har du en konto som du har brukt med et annet lynmeldingsprogram?"
-#: ../src/empathy-account-assistant.c:700
+#: ../src/empathy-account-assistant.c:652
msgid "Yes, import my account details from "
msgstr "Ja, importer mine kontodetaljer fra "
-#: ../src/empathy-account-assistant.c:721
+#: ../src/empathy-account-assistant.c:673
msgid "Yes, I'll enter my account details now"
msgstr "Ja, jeg vil skrive inn mine kontodetaljer nå"
-#: ../src/empathy-account-assistant.c:743
+#: ../src/empathy-account-assistant.c:695
msgid "No, I want a new account"
msgstr "Nei, jeg vil ha en ny konto"
-#: ../src/empathy-account-assistant.c:753
+#: ../src/empathy-account-assistant.c:705
msgid "No, I just want to see people online nearby for now"
msgstr "Nei, jeg vil bare se personer i nærheten foreløpig"
-#: ../src/empathy-account-assistant.c:774
+#: ../src/empathy-account-assistant.c:726
msgid "Select the accounts you want to import:"
msgstr "Velg kontoer du vil importere:"
-#: ../src/empathy-account-assistant.c:858
+#: ../src/empathy-account-assistant.c:810
#: ../src/empathy-new-chatroom-dialog.c:609
#: ../src/empathy-new-chatroom-dialog.c:610
msgid "Yes"
msgstr "Ja"
-#: ../src/empathy-account-assistant.c:865
+#: ../src/empathy-account-assistant.c:817
msgid "No, that's all for now"
msgstr "Nei, det var alt for nå"
-#: ../src/empathy-account-assistant.c:1130
+#: ../src/empathy-account-assistant.c:1082
msgid ""
"Empathy can automatically discover and chat with the people connected on the "
"same network as you. If you want to use this feature, please check that the "
@@ -2544,16 +2561,16 @@ msgstr ""
"under er riktige. Du kan lett endre disse detaljene senere eller slå av "
"funksjonen i «Konto»-dialogen"
-#: ../src/empathy-account-assistant.c:1136
-#: ../src/empathy-account-assistant.c:1192
+#: ../src/empathy-account-assistant.c:1088
+#: ../src/empathy-account-assistant.c:1144
msgid "Edit->Accounts"
msgstr "Rediger->Kontoer"
-#: ../src/empathy-account-assistant.c:1152
+#: ../src/empathy-account-assistant.c:1104
msgid "I don't want to enable this feature for now"
msgstr "Jeg vil ikke slå på denne funksjonen ennå"
-#: ../src/empathy-account-assistant.c:1188
+#: ../src/empathy-account-assistant.c:1140
msgid ""
"You won't be able to chat with people connected to your local network, as "
"telepathy-salut is not installed. If you want to enable this feature, please "
@@ -2565,66 +2582,66 @@ msgstr ""
"funksjonen må du installere pakken telepathy-salut og opprette en «Folk i "
"nærheten»-konto i Konto-dialogen"
-#: ../src/empathy-account-assistant.c:1194
+#: ../src/empathy-account-assistant.c:1146
msgid "telepathy-salut not installed"
msgstr "telepathy-salut er ikke installert"
-#: ../src/empathy-account-assistant.c:1240
+#: ../src/empathy-account-assistant.c:1192
msgid "Messaging and VoIP Accounts Assistant"
msgstr "Assistent for meldings- og VoIP-kontoer"
-#: ../src/empathy-account-assistant.c:1274
+#: ../src/empathy-account-assistant.c:1226
msgid "Welcome to Empathy"
msgstr "Velkommen til Empathy"
-#: ../src/empathy-account-assistant.c:1283
+#: ../src/empathy-account-assistant.c:1235
msgid "Import your existing accounts"
msgstr "Importer dine eksisterende kontoer"
-#: ../src/empathy-account-assistant.c:1301
+#: ../src/empathy-account-assistant.c:1253
msgid "Please enter personal details"
msgstr "Vennligst oppgi personlige detaljer"
#. The primary text of the dialog shown to the user when he is about to lose
#. * unsaved changes
-#: ../src/empathy-accounts-dialog.c:65
+#: ../src/empathy-accounts-dialog.c:64
#, c-format
msgid "There are unsaved modifications to your %s account."
msgstr "Det finnes ikke-lagrede endringer for din %s-konto."
#. The primary text of the dialog shown to the user when he is about to lose
#. * an unsaved new account
-#: ../src/empathy-accounts-dialog.c:69
+#: ../src/empathy-accounts-dialog.c:68
msgid "Your new account has not been saved yet."
msgstr "Din nye konto er ikke lagret ennå."
-#: ../src/empathy-accounts-dialog.c:281 ../src/empathy-call-window.c:818
+#: ../src/empathy-accounts-dialog.c:280 ../src/empathy-call-window.c:809
msgid "Connecting…"
msgstr "Kobler til..."
-#: ../src/empathy-accounts-dialog.c:322
+#: ../src/empathy-accounts-dialog.c:321
#, c-format
msgid "Offline — %s"
msgstr "Frakoblet - %s"
-#: ../src/empathy-accounts-dialog.c:334
+#: ../src/empathy-accounts-dialog.c:333
#, c-format
msgid "Disconnected — %s"
msgstr "Koblet fra - %s"
-#: ../src/empathy-accounts-dialog.c:345
+#: ../src/empathy-accounts-dialog.c:344
msgid "Offline — No Network Connection"
msgstr "Frakoblet - Ingen nettverkstilkobling"
-#: ../src/empathy-accounts-dialog.c:352
+#: ../src/empathy-accounts-dialog.c:351
msgid "Unknown Status"
msgstr "Ukjent status"
-#: ../src/empathy-accounts-dialog.c:364
+#: ../src/empathy-accounts-dialog.c:363
msgid "Offline — Account Disabled"
msgstr "Frakoblet - Konto deaktivert"
-#: ../src/empathy-accounts-dialog.c:811
+#: ../src/empathy-accounts-dialog.c:759
msgid ""
"You are about to create a new account, which will discard\n"
"your changes. Are you sure you want to proceed?"
@@ -2632,16 +2649,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:1158
+#: ../src/empathy-accounts-dialog.c:1106
#, 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:1162
+#: ../src/empathy-accounts-dialog.c:1110
msgid "This will not remove your account on the server."
msgstr "Dette vil ikke fjerne din konto på tjeneren."
-#: ../src/empathy-accounts-dialog.c:1400
+#: ../src/empathy-accounts-dialog.c:1348
msgid ""
"You are about to select another account, which will discard\n"
"your changes. Are you sure you want to proceed?"
@@ -2649,7 +2666,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:2003
+#: ../src/empathy-accounts-dialog.c:1951
msgid ""
"You are about to close the window, which will discard\n"
"your changes. Are you sure you want to proceed?"
@@ -2721,70 +2738,70 @@ msgstr "Gamma"
msgid "Volume"
msgstr "Volum"
-#: ../src/empathy-call-window.c:1173
+#: ../src/empathy-call-window.c:1166
msgid "_Sidebar"
msgstr "_Sidelinje"
-#: ../src/empathy-call-window.c:1192
+#: ../src/empathy-call-window.c:1186
msgid "Audio input"
msgstr "Lydinngang"
-#: ../src/empathy-call-window.c:1196
+#: ../src/empathy-call-window.c:1190
msgid "Video input"
msgstr "Videoinngang"
-#: ../src/empathy-call-window.c:1200
+#: ../src/empathy-call-window.c:1194
msgid "Dialpad"
msgstr "Nummertavle"
-#: ../src/empathy-call-window.c:1205
+#: ../src/empathy-call-window.c:1199
msgid "Details"
msgstr "Detaljer"
#. translators: Call is a noun and %s is the contact name. This string
#. * is used in the window title
-#: ../src/empathy-call-window.c:1273
+#: ../src/empathy-call-window.c:1266
#, 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:1352
+#: ../src/empathy-call-window.c:1345
msgid "Call"
msgstr "Ring"
-#: ../src/empathy-call-window.c:1506
+#: ../src/empathy-call-window.c:1499
msgid "The IP address as seen by the machine"
msgstr "IP-adresse som sett av maskinen"
-#: ../src/empathy-call-window.c:1508
+#: ../src/empathy-call-window.c:1501
msgid "The IP address as seen by a server on the Internet"
msgstr "IP-adresse som sett av en tjener på internett"
-#: ../src/empathy-call-window.c:1510
+#: ../src/empathy-call-window.c:1503
msgid "The IP address of the peer as seen by the other side"
msgstr "IP-adresse for peer som sett av andre siden"
-#: ../src/empathy-call-window.c:1512
+#: ../src/empathy-call-window.c:1505
msgid "The IP address of a relay server"
msgstr "IP-adresse for en relay-tjener"
-#: ../src/empathy-call-window.c:1514
+#: ../src/empathy-call-window.c:1507
msgid "The IP address of the multicast group"
msgstr "IP-adresse for multicast-gruppe"
#. Translators: number of minutes:seconds the caller has been connected
-#: ../src/empathy-call-window.c:2247
+#: ../src/empathy-call-window.c:2254
#, c-format
msgid "Connected — %d:%02dm"
msgstr "Koblet til - %d:%02dm"
-#: ../src/empathy-call-window.c:2308
+#: ../src/empathy-call-window.c:2315
msgid "Technical Details"
msgstr "Tekniske detaljer"
-#: ../src/empathy-call-window.c:2346
+#: ../src/empathy-call-window.c:2353
#, c-format
msgid ""
"%s's software does not understand any of the audio formats supported by your "
@@ -2793,7 +2810,7 @@ msgstr ""
"Programvaren til %s forstår ikke noen av lydformatene som støttes av din "
"datamaskin"
-#: ../src/empathy-call-window.c:2351
+#: ../src/empathy-call-window.c:2358
#, c-format
msgid ""
"%s's software does not understand any of the video formats supported by your "
@@ -2802,7 +2819,7 @@ msgstr ""
"Programvaren til %s forstår ikke noen av videoformatene som støttes av din "
"datamaskin"
-#: ../src/empathy-call-window.c:2357
+#: ../src/empathy-call-window.c:2364
#, c-format
msgid ""
"Can't establish a connection to %s. One of you might be on a network that "
@@ -2811,25 +2828,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:2363
+#: ../src/empathy-call-window.c:2370
msgid "There was a failure on the network"
msgstr "Det oppsto en feil på nettverket"
-#: ../src/empathy-call-window.c:2367
+#: ../src/empathy-call-window.c:2374
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:2370
+#: ../src/empathy-call-window.c:2377
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:2380
+#: ../src/empathy-call-window.c:2387
#, c-format
msgid ""
"Something unexpected happened in a Telepathy component. Please <a href=\"%s"
@@ -2840,19 +2857,19 @@ msgstr ""
"\">rapporter denne feilen</a> og legg ved loggene som samles inn i "
"«Feilsøking»-vinduet i Hjelp-menyen."
-#: ../src/empathy-call-window.c:2388
+#: ../src/empathy-call-window.c:2395
msgid "There was a failure in the call engine"
msgstr "Det oppsto en feil i samtalemotoren"
-#: ../src/empathy-call-window.c:2391
+#: ../src/empathy-call-window.c:2398
msgid "The end of the stream was reached"
msgstr "Slutt på strømmen ble nådd"
-#: ../src/empathy-call-window.c:2431
+#: ../src/empathy-call-window.c:2438
msgid "Can't establish audio stream"
msgstr "Kan ikke etablere lydstrøm"
-#: ../src/empathy-call-window.c:2441
+#: ../src/empathy-call-window.c:2448
msgid "Can't establish video stream"
msgstr "Kan ikke etablere videostrøm"
@@ -2952,35 +2969,35 @@ msgstr "_Ring"
msgid "_View"
msgstr "_Vis"
-#: ../src/empathy-chat-window.c:452 ../src/empathy-chat-window.c:472
+#: ../src/empathy-chat-window.c:466 ../src/empathy-chat-window.c:486
#, c-format
msgid "%s (%d unread)"
msgid_plural "%s (%d unread)"
msgstr[0] "%s (%d ulest)"
msgstr[1] "%s (%d uleste)"
-#: ../src/empathy-chat-window.c:464
+#: ../src/empathy-chat-window.c:478
#, c-format
msgid "%s (and %u other)"
msgid_plural "%s (and %u others)"
msgstr[0] "%s (og %u annen)"
msgstr[1] "%s (og %u andre)"
-#: ../src/empathy-chat-window.c:480
+#: ../src/empathy-chat-window.c:494
#, c-format
msgid "%s (%d unread from others)"
msgid_plural "%s (%d unread from others)"
msgstr[0] "%s (%d ulest fra andre)"
msgstr[1] "%s (%d uleste fra andre)"
-#: ../src/empathy-chat-window.c:489
+#: ../src/empathy-chat-window.c:503
#, c-format
msgid "%s (%d unread from all)"
msgid_plural "%s (%d unread from all)"
msgstr[0] "%s (%d ulest fra alle)"
msgstr[1] "%s (%d uleste fra alle)"
-#: ../src/empathy-chat-window.c:695
+#: ../src/empathy-chat-window.c:709
msgid "Typing a message."
msgstr "Skriver en melding"
@@ -3296,43 +3313,43 @@ msgid "Import Accounts"
msgstr "Importer kontoer"
#. Translators: this is the header of a treeview column
-#: ../src/empathy-import-widget.c:292
+#: ../src/empathy-import-widget.c:301
msgid "Import"
msgstr "Importer"
-#: ../src/empathy-import-widget.c:301
+#: ../src/empathy-import-widget.c:310
msgid "Protocol"
msgstr "Protokoll"
-#: ../src/empathy-import-widget.c:325
+#: ../src/empathy-import-widget.c:334
msgid "Source"
msgstr "Kilde"
-#: ../src/empathy-main-window.c:383
+#: ../src/empathy-main-window.c:384
msgid "No match found"
msgstr "Ingen treff funnet"
-#: ../src/empathy-main-window.c:535
+#: ../src/empathy-main-window.c:539
msgid "Reconnect"
msgstr "Koble til på nytt"
-#: ../src/empathy-main-window.c:541
+#: ../src/empathy-main-window.c:545
msgid "Edit Account"
msgstr "Rediger konto"
-#: ../src/empathy-main-window.c:547
+#: ../src/empathy-main-window.c:551
msgid "Close"
msgstr "Lukk"
-#: ../src/empathy-main-window.c:1229
+#: ../src/empathy-main-window.c:1234
msgid "Contact"
msgstr "Kontakt"
-#: ../src/empathy-main-window.c:1554
+#: ../src/empathy-main-window.c:1558
msgid "Contact List"
msgstr "Kontaktliste"
-#: ../src/empathy-main-window.c:1663
+#: ../src/empathy-main-window.c:1667
msgid "Show and edit accounts"
msgstr "Vis og rediger kontoer"
@@ -3483,39 +3500,39 @@ msgstr "Romliste"
msgid "_Room:"
msgstr "_Rom:"
-#: ../src/empathy-preferences.c:138
+#: ../src/empathy-preferences.c:139
msgid "Message received"
msgstr "Melding mottatt"
-#: ../src/empathy-preferences.c:139
+#: ../src/empathy-preferences.c:140
msgid "Message sent"
msgstr "Melding sendt"
-#: ../src/empathy-preferences.c:140
+#: ../src/empathy-preferences.c:141
msgid "New conversation"
msgstr "Ny samtale"
-#: ../src/empathy-preferences.c:141
+#: ../src/empathy-preferences.c:142
msgid "Contact goes online"
msgstr "Kontakt kobler til"
-#: ../src/empathy-preferences.c:142
+#: ../src/empathy-preferences.c:143
msgid "Contact goes offline"
msgstr "Kontakt kobler fra"
-#: ../src/empathy-preferences.c:143
+#: ../src/empathy-preferences.c:144
msgid "Account connected"
msgstr "Konto koblet til"
-#: ../src/empathy-preferences.c:144
+#: ../src/empathy-preferences.c:145
msgid "Account disconnected"
msgstr "Konto koblet fra"
-#: ../src/empathy-preferences.c:445
+#: ../src/empathy-preferences.c:446
msgid "Language"
msgstr "Språk"
-#: ../src/empathy-preferences.c:882
+#: ../src/empathy-preferences.c:875
msgid "Preferences"
msgstr "Brukervalg"
diff --git a/src/Makefile.am b/src/Makefile.am
index 378bdee67..31a21933c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -16,7 +16,6 @@ AM_LDFLAGS = -lm
AM_CPPFLAGS = \
$(CPPFLAGS_COMMON) \
$(LIBNOTIFY_CFLAGS) \
- $(UNIQUE_CFLAGS) \
$(LIBCHAMPLAIN_CFLAGS) \
$(WEBKIT_CFLAGS) \
$(NULL)
@@ -26,7 +25,6 @@ LDADD = \
$(top_builddir)/libempathy/libempathy.la \
$(top_builddir)/extensions/libemp-extensions.la \
$(LIBNOTIFY_LIBS) \
- $(UNIQUE_LIBS) \
$(EMPATHY_LIBS) \
$(GTK_LIBS) \
$(LIBCHAMPLAIN_LIBS) \
@@ -49,7 +47,6 @@ libempathy_accounts_common_la_LIBADD = \
$(top_builddir)/libempathy-gtk/libempathy-gtk.la \
$(EDS_LIBS) \
$(LIBNOTIFY_LIBS) \
- $(UNIQUE_LIBS) \
$(EMPATHY_LIBS) \
$(LIBCHAMPLAIN_LIBS) \
$(WEBKIT_LIBS) \
@@ -144,7 +141,6 @@ empathy_LDADD = \
$(top_builddir)/libempathy/libempathy.la \
$(top_builddir)/extensions/libemp-extensions.la \
$(LIBNOTIFY_LIBS) \
- $(UNIQUE_LIBS) \
$(EMPATHY_LIBS) \
$(LIBCHAMPLAIN_LIBS) \
$(WEBKIT_LIBS) \
diff --git a/src/empathy-account-assistant.c b/src/empathy-account-assistant.c
index 926f6e09a..26032d7e8 100644
--- a/src/empathy-account-assistant.c
+++ b/src/empathy-account-assistant.c
@@ -655,8 +655,8 @@ account_assistant_build_introduction_page (EmpathyAccountAssistant *self)
GINT_TO_POINTER (RESPONSE_IMPORT));
gtk_widget_show (radio);
- w = gtk_combo_box_new_text ();
- gtk_combo_box_append_text (GTK_COMBO_BOX (w), "Pidgin");
+ w = gtk_combo_box_text_new ();
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (w), "Pidgin");
gtk_box_pack_start (GTK_BOX (hbox_1), w, TRUE, TRUE, 0);
gtk_combo_box_set_active (GTK_COMBO_BOX (w), 0);
gtk_widget_show (w);
diff --git a/src/empathy-accounts-common.c b/src/empathy-accounts-common.c
index a14a95c59..8932fdbbc 100644
--- a/src/empathy-accounts-common.c
+++ b/src/empathy-accounts-common.c
@@ -31,7 +31,6 @@
#include <gtk/gtk.h>
#include <glib/gi18n-lib.h>
-#include <unique/unique.h>
#include <telepathy-glib/account-manager.h>
#include <telepathy-glib/util.h>
diff --git a/src/empathy-accounts.c b/src/empathy-accounts.c
index 788bc89e4..4131100fb 100644
--- a/src/empathy-accounts.c
+++ b/src/empathy-accounts.c
@@ -31,7 +31,6 @@
#include <gtk/gtk.h>
#include <glib/gi18n.h>
-#include <unique/unique.h>
#include <telepathy-glib/account-manager.h>
#include <telepathy-glib/defs.h>
@@ -135,35 +134,17 @@ account_manager_ready_for_accounts_cb (GObject *source_object,
}
}
-static UniqueResponse
-unique_app_message_cb (UniqueApp *unique_app,
- gint command,
- UniqueMessageData *data,
- guint timestamp,
- gpointer user_data)
+static void
+app_activated_cb (GtkApplication *app)
{
- DEBUG ("Other instance launched, presenting the main window. "
- "Command=%d, timestamp %u", command, timestamp);
-
- if (command == UNIQUE_ACTIVATE)
- {
- TpAccountManager *account_manager;
+ TpAccountManager *account_manager;
- account_manager = tp_account_manager_dup ();
+ account_manager = tp_account_manager_dup ();
- empathy_accounts_show_accounts_ui (account_manager, NULL,
+ empathy_accounts_show_accounts_ui (account_manager, NULL,
G_CALLBACK (gtk_main_quit));
- g_object_unref (account_manager);
- }
- else
- {
- g_warning (G_STRLOC "unhandled unique app command %d", command);
-
- return UNIQUE_RESPONSE_PASSTHROUGH;
- }
-
- return UNIQUE_RESPONSE_OK;
+ g_object_unref (account_manager);
}
#define COMMAND_ACCOUNTS_DIALOG 1
@@ -173,7 +154,7 @@ main (int argc, char *argv[])
{
TpAccountManager *account_manager;
GError *error = NULL;
- UniqueApp *unique_app;
+ GtkApplication *app;
GOptionContext *optcontext;
GOptionEntry options[] = {
@@ -218,30 +199,20 @@ main (int argc, char *argv[])
gtk_window_set_default_icon_name ("empathy");
textdomain (GETTEXT_PACKAGE);
- unique_app = unique_app_new (EMPATHY_ACCOUNTS_DBUS_NAME, NULL);
-
- if (unique_app_is_running (unique_app))
- {
- if (unique_app_send_message (unique_app, UNIQUE_ACTIVATE, NULL) ==
- UNIQUE_RESPONSE_OK)
- {
- g_object_unref (unique_app);
- return EXIT_SUCCESS;
- }
- }
+ app = gtk_application_new (EMPATHY_ACCOUNTS_DBUS_NAME, &argc, &argv);
account_manager = tp_account_manager_dup ();
tp_account_manager_prepare_async (account_manager, NULL,
account_manager_ready_for_accounts_cb, selected_account_name);
- g_signal_connect (unique_app, "message-received",
- G_CALLBACK (unique_app_message_cb), NULL);
+ g_signal_connect (app, "activated",
+ G_CALLBACK (app_activated_cb), NULL);
- gtk_main ();
+ gtk_application_run (app);
g_object_unref (account_manager);
- g_object_unref (unique_app);
+ g_object_unref (app);
return EXIT_SUCCESS;
}
diff --git a/src/empathy-av.c b/src/empathy-av.c
index 9ef0fbf29..c937c2a44 100644
--- a/src/empathy-av.c
+++ b/src/empathy-av.c
@@ -41,6 +41,8 @@
/* Exit after $TIMEOUT seconds if not displaying any call window */
#define TIMEOUT 60
+#define EMPATHY_AV_DBUS_NAME "org.gnome.Empathy.AudioVideo"
+
static guint nb_windows = 0;
static guint timeout_id = 0;
static gboolean use_timer = TRUE;
@@ -126,6 +128,7 @@ main (int argc,
#endif
EmpathyCallFactory *call_factory;
GError *error = NULL;
+ GtkApplication *app;
/* Init */
g_thread_init (NULL);
@@ -152,6 +155,8 @@ main (int argc,
gtk_window_set_default_icon_name ("empathy");
textdomain (GETTEXT_PACKAGE);
+ app = gtk_application_new (EMPATHY_AV_DBUS_NAME, &argc, &argv);
+
#ifdef ENABLE_DEBUG
/* Set up debug sender */
debug_sender = tp_debug_sender_dup ();
@@ -179,8 +184,9 @@ main (int argc,
start_timer ();
- gtk_main ();
+ gtk_application_run (app);
+ g_object_unref (app);
g_object_unref (call_factory);
#ifdef ENABLE_DEBUG
diff --git a/src/empathy-debug-window.c b/src/empathy-debug-window.c
index ddebf233b..eba51c046 100644
--- a/src/empathy-debug-window.c
+++ b/src/empathy-debug-window.c
@@ -1413,7 +1413,7 @@ am_prepared_cb (GObject *am,
gtk_box_pack_start (GTK_BOX (vbox), toolbar, FALSE, FALSE, 0);
/* CM */
- priv->chooser = gtk_combo_box_new_text ();
+ priv->chooser = gtk_combo_box_text_new ();
priv->service_store = gtk_list_store_new (NUM_COLS, G_TYPE_STRING,
G_TYPE_STRING, G_TYPE_BOOLEAN);
gtk_combo_box_set_model (GTK_COMBO_BOX (priv->chooser),
@@ -1489,7 +1489,7 @@ am_prepared_cb (GObject *am,
gtk_container_add (GTK_CONTAINER (priv->level_label), label);
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), priv->level_label, -1);
- priv->level_filter = gtk_combo_box_new_text ();
+ priv->level_filter = gtk_combo_box_text_new ();
gtk_widget_show (priv->level_filter);
item = gtk_tool_item_new ();
diff --git a/src/empathy-debugger.c b/src/empathy-debugger.c
index 9ff142b1c..2203041d1 100644
--- a/src/empathy-debugger.c
+++ b/src/empathy-debugger.c
@@ -27,16 +27,20 @@
#include "empathy-debug-window.h"
+#define EMPATHY_DEBUGGER_DBUS_NAME "org.gnome.Empathy.Debugger"
+
int
main (int argc,
char **argv)
{
GtkWidget *window;
+ GtkApplication *app;
g_thread_init (NULL);
- gtk_init (&argc, &argv);
empathy_gtk_init ();
+ app = gtk_application_new (EMPATHY_DEBUGGER_DBUS_NAME, &argc, &argv);
+
g_set_application_name (_("Empathy Debugger"));
gtk_window_set_default_icon_name ("empathy");
@@ -45,7 +49,8 @@ main (int argc,
window = empathy_debug_window_new (NULL);
g_signal_connect (window, "destroy", gtk_main_quit, NULL);
- gtk_main ();
+ gtk_application_run (app);
+ g_object_unref (app);
return EXIT_SUCCESS;
}
diff --git a/src/empathy-main-window.c b/src/empathy-main-window.c
index 6c9b225dc..cc49db934 100644
--- a/src/empathy-main-window.c
+++ b/src/empathy-main-window.c
@@ -101,6 +101,7 @@ G_DEFINE_TYPE (EmpathyMainWindow, empathy_main_window, GTK_TYPE_WINDOW);
#define GET_PRIV(self) ((EmpathyMainWindowPriv *)((EmpathyMainWindow *) self)->priv)
struct _EmpathyMainWindowPriv {
+ EmpathyContactList *contact_manager;
EmpathyIndividualStore *individual_store;
EmpathyIndividualView *individual_view;
TpAccountManager *account_manager;
@@ -695,6 +696,7 @@ empathy_main_window_finalize (GObject *window)
g_object_unref (priv->account_manager);
g_object_unref (priv->individual_store);
+ g_object_unref (priv->contact_manager);
g_hash_table_destroy (priv->errors);
/* disconnect all handlers of status-changed signal */
@@ -1545,7 +1547,6 @@ static void
empathy_main_window_init (EmpathyMainWindow *window)
{
EmpathyMainWindowPriv *priv;
- EmpathyContactList *list_iface;
EmpathyIndividualManager *individual_manager;
GtkBuilder *gui;
GtkWidget *sw;
@@ -1686,7 +1687,12 @@ empathy_main_window_init (EmpathyMainWindow *window)
gtk_container_add (GTK_CONTAINER (item), priv->throbber);
priv->throbber_tool_item = GTK_WIDGET (item);
- list_iface = EMPATHY_CONTACT_LIST (empathy_contact_manager_dup_singleton ());
+ /* XXX: this class is designed to live for the duration of the program,
+ * so it's got a race condition between its signal handlers and its
+ * finalization. The class is planned to be removed, so we won't fix
+ * this before then. */
+ priv->contact_manager = EMPATHY_CONTACT_LIST (
+ empathy_contact_manager_dup_singleton ());
individual_manager = empathy_individual_manager_dup_singleton ();
priv->individual_store = empathy_individual_store_new (
individual_manager);
@@ -1701,11 +1707,9 @@ empathy_main_window_init (EmpathyMainWindow *window)
EMPATHY_INDIVIDUAL_FEATURE_ALL);
priv->butterfly_log_migration_members_changed_id = g_signal_connect (
- list_iface, "members-changed",
+ priv->contact_manager, "members-changed",
G_CALLBACK (main_window_members_changed_cb), window);
- g_object_unref (list_iface);
-
gtk_widget_show (GTK_WIDGET (priv->individual_view));
gtk_container_add (GTK_CONTAINER (sw),
GTK_WIDGET (priv->individual_view));
diff --git a/src/empathy.c b/src/empathy.c
index 2a8761c6f..314e4fb0f 100644
--- a/src/empathy.c
+++ b/src/empathy.c
@@ -30,7 +30,6 @@
#include <glib/gi18n.h>
#include <gtk/gtk.h>
#include <gdk/gdkx.h>
-#include <unique/unique.h>
#ifdef HAVE_LIBCHAMPLAIN
#include <clutter-gtk/clutter-gtk.h>
@@ -73,13 +72,216 @@
#define DEBUG_FLAG EMPATHY_DEBUG_OTHER
#include <libempathy/empathy-debug.h>
-static gboolean start_hidden = FALSE;
-static gboolean no_connect = FALSE;
+#define EMPATHY_DBUS_NAME "org.gnome.Empathy"
+
+#define EMPATHY_TYPE_APP (empathy_app_get_type ())
+#define EMPATHY_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EMPATHY_TYPE_APP, EmpathyApp))
+#define EMPATHY_APP_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), EMPATHY_TYPE_APP, EmpathyAppClass))
+#define EMPATHY_IS_EMPATHY_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EMPATHY_TYPE_APP))
+#define EMPATHY_IS_EMPATHY_APP_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((obj), EMPATHY_TYPE_APP))
+#define EMPATHY_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EMPATHY_TYPE_APP, EmpathyAppClass))
+
+typedef struct _EmpathyApp EmpathyApp;
+typedef struct _EmpathyAppClass EmpathyAppClass;
+
+enum
+{
+ PROP_NO_CONNECT = 1,
+ PROP_START_HIDDEN
+};
+
+GType empathy_app_get_type (void);
+
+struct _EmpathyAppClass
+{
+ GtkApplicationClass parent_class;
+};
+
+struct _EmpathyApp
+{
+ GtkApplication parent;
+
+ /* Properties */
+ gboolean no_connect;
+ gboolean start_hidden;
+
+ GtkWidget *window;
+ EmpathyStatusIcon *icon;
+ EmpathyDispatcher *dispatcher;
+ TpAccountManager *account_manager;
+ TplLogManager *log_manager;
+ EmpathyChatroomManager *chatroom_manager;
+ EmpathyFTFactory *ft_factory;
+ EmpathyIdle *idle;
+ EmpathyConnectivity *connectivity;
+ EmpathyChatManager *chat_manager;
+ GSettings *gsettings;
+#ifdef HAVE_GEOCLUE
+ EmpathyLocationManager *location_manager;
+#endif
+#ifdef ENABLE_DEBUG
+ TpDebugSender *debug_sender;
+#endif
+};
+
+
+G_DEFINE_TYPE(EmpathyApp, empathy_app, GTK_TYPE_APPLICATION)
+
+static void
+empathy_app_dispose (GObject *object)
+{
+ EmpathyApp *self = EMPATHY_APP (object);
+ void (*dispose) (GObject *) =
+ G_OBJECT_CLASS (empathy_app_parent_class)->dispose;
+
+ if (self->idle != NULL)
+ {
+ empathy_idle_set_state (self->idle, TP_CONNECTION_PRESENCE_TYPE_OFFLINE);
+ }
+
+#ifdef ENABLE_DEBUG
+ tp_clear_object (&self->debug_sender);
+#endif
+
+ tp_clear_object (&self->chat_manager);
+ tp_clear_object (&self->idle);
+ tp_clear_object (&self->connectivity);
+ tp_clear_object (&self->icon);
+ tp_clear_object (&self->account_manager);
+ tp_clear_object (&self->log_manager);
+ tp_clear_object (&self->dispatcher);
+ tp_clear_object (&self->chatroom_manager);
+#ifdef HAVE_GEOCLUE
+ tp_clear_object (&self->location_manager);
+#endif
+ tp_clear_object (&self->ft_factory);
+ tp_clear_object (&self->gsettings);
+
+ if (dispose != NULL)
+ dispose (object);
+}
+
+static void
+empathy_app_finalize (GObject *object)
+{
+ EmpathyApp *self = EMPATHY_APP (object);
+ void (*finalize) (GObject *) =
+ G_OBJECT_CLASS (empathy_app_parent_class)->finalize;
+
+ gtk_widget_destroy (self->window);
+
+ if (finalize != NULL)
+ finalize (object);
+}
static void account_manager_ready_cb (GObject *source_object,
GAsyncResult *result,
gpointer user_data);
+static EmpathyApp *
+empathy_app_new (guint argc,
+ const gchar * const * argv,
+ gboolean no_connect,
+ gboolean start_hidden)
+{
+ EmpathyApp *self;
+ GError *error = NULL;
+ GVariant *argv_variant;
+
+ argv_variant = g_variant_new_bytestring_array (argv, argc);
+
+ self = g_initable_new (EMPATHY_TYPE_APP,
+ NULL, &error,
+ "application-id", EMPATHY_DBUS_NAME,
+ "argv", argv_variant,
+ "register", TRUE,
+ "no-connect", no_connect,
+ "start-hidden", start_hidden,
+ NULL);
+
+ if (self == NULL)
+ {
+ g_critical ("Failed to initiate EmpathyApp: %s", error->message);
+ g_error_free (error);
+ }
+
+ return self;
+}
+
+static void
+empathy_app_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ EmpathyApp *self = EMPATHY_APP (object);
+
+ switch (prop_id)
+ {
+ case PROP_NO_CONNECT:
+ self->no_connect = g_value_get_boolean (value);
+ break;
+ case PROP_START_HIDDEN:
+ self->start_hidden = g_value_get_boolean (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+empathy_app_activated (GtkApplication *app,
+ GVariant *args)
+{
+ EmpathyApp *self = (EmpathyApp *) app;
+
+ /* We're requested to show stuff again, disable the start hidden global
+ * in case the accounts wizard wants to pop up.
+ */
+ self->start_hidden = FALSE;
+
+ empathy_window_present (GTK_WINDOW (self->window));
+
+ /* Display the accounts dialog if needed */
+ tp_account_manager_prepare_async (self->account_manager, NULL,
+ account_manager_ready_cb, self);
+}
+
+static void empathy_app_constructed (GObject *object);
+
+static void
+empathy_app_class_init (EmpathyAppClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ GtkApplicationClass *gtk_app_class = GTK_APPLICATION_CLASS (klass);
+ GParamSpec *spec;
+
+ gobject_class->set_property = empathy_app_set_property;
+ gobject_class->constructed = empathy_app_constructed;
+ gobject_class->dispose = empathy_app_dispose;
+ gobject_class->finalize = empathy_app_finalize;
+
+ gtk_app_class->activated = empathy_app_activated;
+
+ spec = g_param_spec_boolean ("no-connect", "no connect",
+ "Don't connect on startup",
+ FALSE,
+ G_PARAM_STATIC_STRINGS | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
+ g_object_class_install_property (gobject_class, PROP_NO_CONNECT, spec);
+
+ spec = g_param_spec_boolean ("start-hidden", "start hidden",
+ "Don't display the contact list or any other dialogs on startup",
+ FALSE,
+ G_PARAM_STATIC_STRINGS | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
+ g_object_class_install_property (gobject_class, PROP_START_HIDDEN, spec);
+}
+
+static void
+empathy_app_init (EmpathyApp *self)
+{
+}
+
static void
use_conn_notify_cb (GSettings *gsettings,
const gchar *key,
@@ -160,54 +362,14 @@ migrate_config_to_xdg_dir (void)
}
static void
-show_accounts_ui (GdkScreen *screen,
+show_accounts_ui (EmpathyApp *self,
+ GdkScreen *screen,
gboolean if_needed)
{
empathy_accounts_dialog_show_application (screen,
- NULL, if_needed, start_hidden);
+ NULL, if_needed, self->start_hidden);
}
-static UniqueResponse
-unique_app_message_cb (UniqueApp *unique_app,
- gint command,
- UniqueMessageData *data,
- guint timestamp,
- gpointer user_data)
-{
- GtkWindow *window = user_data;
- TpAccountManager *account_manager;
-
- DEBUG ("Other instance launched, presenting the main window. "
- "Command=%d, timestamp %u", command, timestamp);
-
- /* XXX: the standalone app somewhat breaks this case, since
- * communicating it would be a pain */
-
- /* We're requested to show stuff again, disable the start hidden global
- * in case the accounts wizard wants to pop up.
- */
- start_hidden = FALSE;
-
- gtk_window_set_screen (GTK_WINDOW (window),
- unique_message_data_get_screen (data));
- gtk_window_set_startup_id (GTK_WINDOW (window),
- unique_message_data_get_startup_id (data));
- gtk_window_present_with_time (GTK_WINDOW (window), timestamp);
- gtk_window_set_skip_taskbar_hint (window, FALSE);
-
- account_manager = tp_account_manager_dup ();
- tp_account_manager_prepare_async (account_manager, NULL,
- account_manager_ready_cb, NULL);
- g_object_unref (account_manager);
-
- return UNIQUE_RESPONSE_OK;
-}
-
-static gboolean show_version_cb (const char *option_name,
- const char *value,
- gpointer data,
- GError **error) G_GNUC_NORETURN;
-
static gboolean
show_version_cb (const char *option_name,
const char *value,
@@ -251,11 +413,9 @@ account_manager_ready_cb (GObject *source_object,
gpointer user_data)
{
TpAccountManager *manager = TP_ACCOUNT_MANAGER (source_object);
+ EmpathyApp *self = user_data;
GError *error = NULL;
- EmpathyIdle *idle;
- EmpathyConnectivity *connectivity;
TpConnectionPresenceType presence;
- GSettings *gsettings = g_settings_new (EMPATHY_PREFS_SCHEMA);
if (!tp_account_manager_prepare_finish (manager, result, &error))
{
@@ -279,27 +439,21 @@ account_manager_ready_cb (GObject *source_object,
}
/* Autoconnect */
- idle = empathy_idle_dup_singleton ();
- connectivity = empathy_connectivity_dup_singleton ();
-
presence = tp_account_manager_get_most_available_presence (manager, NULL,
NULL);
- if (g_settings_get_boolean (gsettings, EMPATHY_PREFS_AUTOCONNECT) &&
- !no_connect &&
+ if (g_settings_get_boolean (self->gsettings, EMPATHY_PREFS_AUTOCONNECT) &&
+ !self->no_connect &&
tp_connection_presence_type_cmp_availability
(presence, TP_CONNECTION_PRESENCE_TYPE_OFFLINE)
<= 0)
/* if current state is Offline, then put it online */
- empathy_idle_set_state (idle, TP_CONNECTION_PRESENCE_TYPE_AVAILABLE);
+ empathy_idle_set_state (self->idle,
+ TP_CONNECTION_PRESENCE_TYPE_AVAILABLE);
/* Pop up the accounts dialog if we don't have any account */
if (!empathy_accounts_has_accounts (manager))
- show_accounts_ui (gdk_screen_get_default (), TRUE);
-
- g_object_unref (idle);
- g_object_unref (connectivity);
- g_object_unref (gsettings);
+ show_accounts_ui (self, gdk_screen_get_default (), TRUE);
}
static void
@@ -396,70 +550,14 @@ empathy_idle_set_auto_away_cb (GSettings *gsettings,
g_settings_get_boolean (gsettings, key));
}
-int
-main (int argc, char *argv[])
+static void
+empathy_app_constructed (GObject *object)
{
-#ifdef HAVE_GEOCLUE
- EmpathyLocationManager *location_manager = NULL;
-#endif
- EmpathyStatusIcon *icon;
- EmpathyDispatcher *dispatcher;
- TpAccountManager *account_manager;
- TplLogManager *log_manager;
- EmpathyChatroomManager *chatroom_manager;
- EmpathyFTFactory *ft_factory;
- GtkWidget *window;
- EmpathyIdle *idle;
- EmpathyConnectivity *connectivity;
- EmpathyChatManager *chat_manager;
+ EmpathyApp *self = (EmpathyApp *) object;
GError *error = NULL;
- UniqueApp *unique_app;
gboolean chatroom_manager_ready;
- gboolean autoaway = TRUE;
-#ifdef ENABLE_DEBUG
- TpDebugSender *debug_sender;
-#endif
- GSettings *gsettings;
+ gboolean autoaway;
- GOptionContext *optcontext;
- GOptionEntry options[] = {
- { "no-connect", 'n',
- 0, G_OPTION_ARG_NONE, &no_connect,
- N_("Don't connect on startup"),
- NULL },
- { "start-hidden", 'h',
- 0, G_OPTION_ARG_NONE, &start_hidden,
- N_("Don't display the contact list or any other dialogs on startup"),
- NULL },
- { "version", 'v',
- G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK, show_version_cb,
- NULL, NULL },
- { NULL }
- };
-
- /* Init */
- g_thread_init (NULL);
-
-#ifdef HAVE_LIBCHAMPLAIN
- gtk_clutter_init (&argc, &argv);
-#endif
-
- empathy_init ();
-
- optcontext = g_option_context_new (N_("- Empathy IM Client"));
- g_option_context_add_group (optcontext, gtk_get_option_group (TRUE));
- g_option_context_add_main_entries (optcontext, options, GETTEXT_PACKAGE);
-
- if (!g_option_context_parse (optcontext, &argc, &argv, &error)) {
- g_print ("%s\nRun '%s --help' to see a full list of available command line options.\n",
- error->message, argv[0]);
- g_warning ("Error in empathy init: %s", error->message);
- return EXIT_FAILURE;
- }
-
- g_option_context_free (optcontext);
-
- empathy_gtk_init ();
g_set_application_name (_(PACKAGE_NAME));
gtk_window_set_default_icon_name ("empathy");
@@ -467,90 +565,77 @@ main (int argc, char *argv[])
#ifdef ENABLE_DEBUG
/* Set up debug sender */
- debug_sender = tp_debug_sender_dup ();
+ self->debug_sender = tp_debug_sender_dup ();
g_log_set_default_handler (tp_debug_sender_log_handler, G_LOG_DOMAIN);
#endif
- unique_app = unique_app_new ("org.gnome."PACKAGE_NAME, NULL);
-
- if (unique_app_is_running (unique_app))
- {
- if (unique_app_send_message (unique_app, UNIQUE_ACTIVATE, NULL) ==
- UNIQUE_RESPONSE_OK)
- {
- g_object_unref (unique_app);
- return EXIT_SUCCESS;
- }
- }
-
notify_init (_(PACKAGE_NAME));
/* Setting up Idle */
- idle = empathy_idle_dup_singleton ();
+ self->idle = empathy_idle_dup_singleton ();
- gsettings = g_settings_new (EMPATHY_PREFS_SCHEMA);
- autoaway = g_settings_get_boolean (gsettings, EMPATHY_PREFS_AUTOAWAY);
+ self->gsettings = g_settings_new (EMPATHY_PREFS_SCHEMA);
+ autoaway = g_settings_get_boolean (self->gsettings, EMPATHY_PREFS_AUTOAWAY);
- g_signal_connect (gsettings,
+ g_signal_connect (self->gsettings,
"changed::" EMPATHY_PREFS_AUTOAWAY,
- G_CALLBACK (empathy_idle_set_auto_away_cb), idle);
+ G_CALLBACK (empathy_idle_set_auto_away_cb), self->idle);
- empathy_idle_set_auto_away (idle, autoaway);
+ empathy_idle_set_auto_away (self->idle, autoaway);
/* Setting up Connectivity */
- connectivity = empathy_connectivity_dup_singleton ();
- use_conn_notify_cb (gsettings, EMPATHY_PREFS_USE_CONN,
- connectivity);
- g_signal_connect (gsettings,
+ self->connectivity = empathy_connectivity_dup_singleton ();
+ use_conn_notify_cb (self->gsettings, EMPATHY_PREFS_USE_CONN,
+ self->connectivity);
+ g_signal_connect (self->gsettings,
"changed::" EMPATHY_PREFS_USE_CONN,
- G_CALLBACK (use_conn_notify_cb), connectivity);
+ G_CALLBACK (use_conn_notify_cb), self->connectivity);
/* account management */
- account_manager = tp_account_manager_dup ();
- tp_account_manager_prepare_async (account_manager, NULL,
- account_manager_ready_cb, NULL);
+ self->account_manager = tp_account_manager_dup ();
+ tp_account_manager_prepare_async (self->account_manager, NULL,
+ account_manager_ready_cb, self);
/* The EmpathyDispatcher doesn't dispatch anything any more but we have to
* keep it around as we still use it to request channels */
- dispatcher = empathy_dispatcher_dup_singleton ();
+ self->dispatcher = empathy_dispatcher_dup_singleton ();
migrate_config_to_xdg_dir ();
/* Setting up UI */
- window = empathy_main_window_dup ();
- gtk_widget_show (window);
- icon = empathy_status_icon_new (GTK_WINDOW (window), start_hidden);
+ self->window = empathy_main_window_dup ();
+ gtk_widget_show (self->window);
+ self->icon = empathy_status_icon_new (GTK_WINDOW (self->window),
+ self->start_hidden);
/* Chat manager */
- chat_manager = empathy_chat_manager_dup_singleton ();
-
- g_signal_connect (unique_app, "message-received",
- G_CALLBACK (unique_app_message_cb), window);
+ self->chat_manager = empathy_chat_manager_dup_singleton ();
/* Logging */
- log_manager = tpl_log_manager_dup_singleton ();
+ self->log_manager = tpl_log_manager_dup_singleton ();
- chatroom_manager = empathy_chatroom_manager_dup_singleton (NULL);
+ self->chatroom_manager = empathy_chatroom_manager_dup_singleton (NULL);
- g_object_get (chatroom_manager, "ready", &chatroom_manager_ready, NULL);
+ g_object_get (self->chatroom_manager, "ready", &chatroom_manager_ready, NULL);
if (!chatroom_manager_ready)
{
- g_signal_connect (G_OBJECT (chatroom_manager), "notify::ready",
- G_CALLBACK (chatroom_manager_ready_cb), account_manager);
+ g_signal_connect (G_OBJECT (self->chatroom_manager), "notify::ready",
+ G_CALLBACK (chatroom_manager_ready_cb), self->account_manager);
}
else
{
- chatroom_manager_ready_cb (chatroom_manager, NULL, account_manager);
+ chatroom_manager_ready_cb (self->chatroom_manager, NULL,
+ self->account_manager);
}
/* Create the FT factory */
- ft_factory = empathy_ft_factory_dup_singleton ();
- g_signal_connect (ft_factory, "new-ft-handler",
+ self->ft_factory = empathy_ft_factory_dup_singleton ();
+ g_signal_connect (self->ft_factory, "new-ft-handler",
G_CALLBACK (new_ft_handler_cb), NULL);
- g_signal_connect (ft_factory, "new-incoming-transfer",
+ g_signal_connect (self->ft_factory, "new-incoming-transfer",
G_CALLBACK (new_incoming_transfer_cb), NULL);
- if (!empathy_ft_factory_register (ft_factory, &error))
+ if (!empathy_ft_factory_register (self->ft_factory, &error))
{
g_warning ("Failed to register FileTransfer handler: %s", error->message);
g_error_free (error);
@@ -558,35 +643,64 @@ main (int argc, char *argv[])
/* Location mananger */
#ifdef HAVE_GEOCLUE
- location_manager = empathy_location_manager_dup_singleton ();
+ self->location_manager = empathy_location_manager_dup_singleton ();
#endif
+}
- gtk_main ();
+int
+main (int argc, char *argv[])
+{
+ EmpathyApp *app;
+ GError *error = NULL;
+ GOptionContext *optcontext;
+ gboolean no_connect = FALSE, start_hidden = FALSE;
+ GOptionEntry options[] = {
+ { "no-connect", 'n',
+ 0, G_OPTION_ARG_NONE, &no_connect,
+ N_("Don't connect on startup"),
+ NULL },
+ { "start-hidden", 'h',
+ 0, G_OPTION_ARG_NONE, &start_hidden,
+ N_("Don't display the contact list or any other dialogs on startup"),
+ NULL },
+ { "version", 'v',
+ G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK, show_version_cb,
+ NULL, NULL },
+ { NULL }
+ };
- empathy_idle_set_state (idle, TP_CONNECTION_PRESENCE_TYPE_OFFLINE);
+ g_thread_init (NULL);
+ g_type_init ();
-#ifdef ENABLE_DEBUG
- g_object_unref (debug_sender);
+#ifdef HAVE_LIBCHAMPLAIN
+ gtk_clutter_init (&argc, &argv);
#endif
- g_object_unref (chat_manager);
- g_object_unref (idle);
- g_object_unref (connectivity);
- g_object_unref (icon);
- g_object_unref (account_manager);
- g_object_unref (log_manager);
- g_object_unref (dispatcher);
- g_object_unref (chatroom_manager);
-#ifdef HAVE_GEOCLUE
- g_object_unref (location_manager);
-#endif
- g_object_unref (ft_factory);
- g_object_unref (unique_app);
- g_object_unref (gsettings);
- gtk_widget_destroy (window);
+ empathy_init ();
+
+ optcontext = g_option_context_new (N_("- Empathy IM Client"));
+ g_option_context_add_group (optcontext, gtk_get_option_group (TRUE));
+ g_option_context_add_main_entries (optcontext, options, GETTEXT_PACKAGE);
+
+ if (!g_option_context_parse (optcontext, &argc, &argv, &error)) {
+ g_print ("%s\nRun '%s --help' to see a full list of available command line options.\n",
+ error->message, argv[0]);
+ g_warning ("Error in empathy init: %s", error->message);
+ return EXIT_FAILURE;
+ }
+
+ g_option_context_free (optcontext);
+
+ empathy_gtk_init ();
+
+ app = empathy_app_new (argc, (const gchar * const *) argv,
+ no_connect, start_hidden);
+
+ gtk_application_run (GTK_APPLICATION (app));
notify_uninit ();
xmlCleanupParser ();
+ g_object_unref (app);
return EXIT_SUCCESS;
}