diff options
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); @@ -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" @@ -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" @@ -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; } |