aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac38
-rw-r--r--data/empathy.schemas.in52
-rw-r--r--docs/libempathy-gtk/libempathy-gtk-docs.sgml1
-rw-r--r--docs/libempathy-gtk/libempathy-gtk.types1
-rw-r--r--libempathy-gtk/Makefile.am6
-rw-r--r--libempathy-gtk/empathy-account-chooser.c77
-rw-r--r--libempathy-gtk/empathy-account-chooser.h10
-rw-r--r--libempathy-gtk/empathy-account-widget-irc.c39
-rw-r--r--libempathy-gtk/empathy-account-widget-irc.h4
-rw-r--r--libempathy-gtk/empathy-account-widget-sip.c9
-rw-r--r--libempathy-gtk/empathy-account-widget-sip.h4
-rw-r--r--libempathy-gtk/empathy-account-widget.c83
-rw-r--r--libempathy-gtk/empathy-account-widget.h22
-rw-r--r--libempathy-gtk/empathy-avatar-chooser.c6
-rw-r--r--libempathy-gtk/empathy-chat-text-view.c296
-rw-r--r--libempathy-gtk/empathy-chat-view.c32
-rw-r--r--libempathy-gtk/empathy-chat.c92
-rw-r--r--libempathy-gtk/empathy-chat.h4
-rw-r--r--libempathy-gtk/empathy-conf.h3
-rw-r--r--libempathy-gtk/empathy-contact-dialogs.c14
-rw-r--r--libempathy-gtk/empathy-contact-list-store.c10
-rw-r--r--libempathy-gtk/empathy-contact-list-view.c29
-rw-r--r--libempathy-gtk/empathy-contact-menu.c8
-rw-r--r--libempathy-gtk/empathy-contact-widget.c6
-rw-r--r--libempathy-gtk/empathy-irc-network-dialog.c2
-rw-r--r--libempathy-gtk/empathy-log-window.c49
-rw-r--r--libempathy-gtk/empathy-log-window.h4
-rw-r--r--libempathy-gtk/empathy-new-message-dialog.c4
-rw-r--r--libempathy-gtk/empathy-plist.c336
-rw-r--r--libempathy-gtk/empathy-plist.h34
-rw-r--r--libempathy-gtk/empathy-smiley-manager.c2
-rw-r--r--libempathy-gtk/empathy-sound.c385
-rw-r--r--libempathy-gtk/empathy-sound.h56
-rw-r--r--libempathy-gtk/empathy-spell.c4
-rw-r--r--libempathy-gtk/empathy-theme-adium.c542
-rw-r--r--libempathy-gtk/empathy-theme-adium.h18
-rw-r--r--libempathy-gtk/empathy-theme-boxes.c6
-rw-r--r--libempathy-gtk/empathy-theme-irc.c2
-rw-r--r--libempathy-gtk/empathy-theme-manager.c60
-rw-r--r--libempathy-gtk/empathy-ui-utils.c145
-rw-r--r--libempathy-gtk/empathy-ui-utils.h30
-rw-r--r--libempathy/Makefile.am10
-rw-r--r--libempathy/empathy-account-manager.c565
-rw-r--r--libempathy/empathy-account-manager.h19
-rw-r--r--libempathy/empathy-account-priv.h44
-rw-r--r--libempathy/empathy-account.c575
-rw-r--r--libempathy/empathy-account.h94
-rw-r--r--libempathy/empathy-call-handler.c3
-rw-r--r--libempathy/empathy-chatroom-manager.c21
-rw-r--r--libempathy/empathy-chatroom-manager.h11
-rw-r--r--libempathy/empathy-chatroom.c24
-rw-r--r--libempathy/empathy-chatroom.h11
-rw-r--r--libempathy/empathy-contact-manager.c50
-rw-r--r--libempathy/empathy-contact.c13
-rw-r--r--libempathy/empathy-contact.h6
-rw-r--r--libempathy/empathy-debug.c76
-rw-r--r--libempathy/empathy-debug.h6
-rw-r--r--libempathy/empathy-debugger.c270
-rw-r--r--libempathy/empathy-debugger.h88
-rw-r--r--libempathy/empathy-dispatch-operation.c4
-rw-r--r--libempathy/empathy-dispatch-operation.h2
-rw-r--r--libempathy/empathy-idle.c127
-rw-r--r--libempathy/empathy-log-manager.c15
-rw-r--r--libempathy/empathy-log-manager.h12
-rw-r--r--libempathy/empathy-log-store-empathy.c34
-rw-r--r--libempathy/empathy-log-store.c12
-rw-r--r--libempathy/empathy-log-store.h26
-rw-r--r--libempathy/empathy-time.c2
-rw-r--r--libempathy/empathy-tp-chat.c2
-rw-r--r--libempathy/empathy-tp-contact-factory.c42
-rw-r--r--libempathy/empathy-tp-contact-list.c4
-rw-r--r--libempathy/empathy-tp-roomlist.c46
-rw-r--r--libempathy/empathy-tp-roomlist.h4
-rw-r--r--libempathy/empathy-utils.c21
-rw-r--r--libempathy/empathy-utils.h1
-rw-r--r--megaphone/src/megaphone-applet.c28
-rw-r--r--po/LINGUAS1
-rw-r--r--po/POTFILES.in1
-rw-r--r--po/bn_IN.po2367
-rw-r--r--po/es.po614
-rw-r--r--po/lt.po2361
-rw-r--r--po/or.po2490
-rw-r--r--po/ta.po1284
-rw-r--r--python/pyempathy/pyempathy.defs137
-rw-r--r--python/pyempathygtk/pyempathygtk.defs101
-rw-r--r--src/Makefile.am3
-rw-r--r--src/empathy-accounts-dialog.c136
-rw-r--r--src/empathy-accounts-dialog.h4
-rw-r--r--src/empathy-accounts-dialog.ui6
-rw-r--r--src/empathy-call-window.c91
-rw-r--r--src/empathy-chat-window.c104
-rw-r--r--src/empathy-chat-window.h4
-rw-r--r--src/empathy-chat-window.ui8
-rw-r--r--src/empathy-chatrooms-window.c4
-rw-r--r--src/empathy-debug-dialog.c12
-rw-r--r--src/empathy-event-manager.c175
-rw-r--r--src/empathy-event-manager.h1
-rw-r--r--src/empathy-import-dialog.c24
-rw-r--r--src/empathy-import-dialog.h1
-rw-r--r--src/empathy-import-pidgin.c1
-rw-r--r--src/empathy-main-window.c38
-rw-r--r--src/empathy-map-view.c2
-rw-r--r--src/empathy-new-chatroom-dialog.c22
-rw-r--r--src/empathy-preferences.c38
-rw-r--r--src/empathy-preferences.ui45
-rw-r--r--src/empathy-sidebar.c2
-rw-r--r--src/empathy-status-icon.c35
-rw-r--r--src/empathy.c59
-rw-r--r--tests/check-empathy-chatroom-manager.c45
-rw-r--r--tests/check-empathy-chatroom.c2
-rw-r--r--tests/check-empathy-helpers.c25
-rw-r--r--tests/check-empathy-helpers.h6
-rw-r--r--tests/check-helpers.h1
-rw-r--r--tools/check-whitespace.sh6
114 files changed, 10746 insertions, 4303 deletions
diff --git a/configure.ac b/configure.ac
index ce87cb873..0dab5e4fc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -40,6 +40,7 @@ LIBCHAMPLAIN_GTK_REQUIRED=0.3.3
CLUTTER_GTK_REQUIRED=0.8.2
GEOCLUE_REQUIRED=0.11
WEBKIT_REQUIRED=1.1.7
+NETWORK_MANAGER_REQUIRED=0.7.0
# Use --enable-maintainer-mode to disabled deprecated symbols
GNOME_MAINTAINER_MODE_DEFINES
@@ -96,6 +97,8 @@ PKG_CHECK_MODULES(LIBEMPATHY,
telepathy-glib >= $TELEPATHY_GLIB_REQUIRED
libmissioncontrol >= $MISSION_CONTROL_REQUIRED
telepathy-farsight
+ farsight2-0.10
+ gstreamer-0.10
])
PKG_CHECK_MODULES(LIBEMPATHYGTK,
@@ -109,7 +112,6 @@ PKG_CHECK_MODULES(LIBEMPATHYGTK,
libcanberra-gtk >= $LIBCANBERRA_GTK_REQUIRED
telepathy-glib >= $TELEPATHY_GLIB_REQUIRED
libmissioncontrol >= $MISSION_CONTROL_REQUIRED
- telepathy-farsight
farsight2-0.10
gstreamer-0.10
gstreamer-interfaces-0.10
@@ -120,16 +122,14 @@ PKG_CHECK_MODULES(EMPATHY,
glib-2.0 >= $GLIB_REQUIRED
gobject-2.0
gio-2.0 >= $GLIB_REQUIRED
- gconf-2.0 >= $GCONF_REQUIRED
- x11
+ gdk-x11-2.0
gtk+-2.0 >= $GTK_REQUIRED
- libcanberra-gtk >= $LIBCANBERRA_GTK_REQUIRED
libebook-1.2
+ dbus-glib-1
telepathy-glib >= $TELEPATHY_GLIB_REQUIRED
libmissioncontrol >= $MISSION_CONTROL_REQUIRED
telepathy-farsight
gstreamer-0.10
- gstreamer-interfaces-0.10
])
PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= $LIBNOTIFY_REQUIRED)
@@ -157,6 +157,32 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Gettext package name])
AM_GLIB_GNU_GETTEXT
# -----------------------------------------------------------
+# NM integration
+# -----------------------------------------------------------
+AC_ARG_ENABLE(network-manager,
+ AS_HELP_STRING([--enable-network-manager=@<:@no/yes/auto@:>@],
+ [build with network-manager support]), ,
+ enable_webkit=auto)
+
+if test "x$enable_network_manager" != "xno"; then
+ PKG_CHECK_MODULES(NETWORK_MANAGER,
+ [
+ libnm_glib >= $NETWORK_MANAGER_REQUIRED
+ ], have_nm="yes", have_nm="no")
+
+ if test "x$have_nm" = "xyes"; then
+ AC_DEFINE(HAVE_NM, 1, [Define if you have libnm-glib])
+ fi
+else
+ have_nm=no
+fi
+
+if test "x$enable_network_manager" = "xyes" -a "x$have_nm" != "xyes"; then
+ AC_MSG_ERROR([Couldn't find libnm-glib dependencies.])
+fi
+AM_CONDITIONAL(HAVE_NM, test "x$have_NM" = "xyes")
+
+# -----------------------------------------------------------
# Webkit
# -----------------------------------------------------------
AC_ARG_ENABLE(webkit,
@@ -180,7 +206,6 @@ fi
if test "x$enable_webkit" = "xyes" -a "x$have_webkit" != "xyes"; then
AC_MSG_ERROR([Couldn't find webkit dependencies.])
fi
-
AM_CONDITIONAL(HAVE_WEBKIT, test "x$have_webkit" = "xyes")
# -----------------------------------------------------------
@@ -454,6 +479,7 @@ Configure summary:
Display maps (libchamplain).: ${have_libchamplain}
Location awareness (Geoclue): ${have_geoclue}
Adium themes (Webkit).......: ${have_webkit}
+ NetworkManager integration..: ${have_nm}
Extras:
Documentation...............: ${enable_gtk_doc}
diff --git a/data/empathy.schemas.in b/data/empathy.schemas.in
index 81ea5e864..fb068e5bd 100644
--- a/data/empathy.schemas.in
+++ b/data/empathy.schemas.in
@@ -172,7 +172,7 @@
</long>
</locale>
</schema>
-
+
<schema>
<key>/schemas/apps/empathy/sounds/sounds_contact_logout</key>
<applyto>/apps/empathy/sounds/sounds_contact_logout</applyto>
@@ -201,7 +201,7 @@
</long>
</locale>
</schema>
-
+
<schema>
<key>/schemas/apps/empathy/sounds/sounds_service_logout</key>
<applyto>/apps/empathy/sounds/sounds_service_logout</applyto>
@@ -261,6 +261,36 @@
</schema>
<schema>
+ <key>/schemas/apps/empathy/notifications/notifications_contact_signin</key>
+ <applyto>/apps/empathy/notifications/notifications_contact_signin</applyto>
+ <owner>empathy</owner>
+ <type>bool</type>
+ <default>false</default>
+ <locale name="C">
+ <short>Popup notifications when a contact sign in</short>
+ <long>
+ Whether or not to show a popup notification when a contact goes
+ online.
+ </long>
+ </locale>
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/empathy/notifications/notifications_contact_signout</key>
+ <applyto>/apps/empathy/notifications/notifications_contact_signout</applyto>
+ <owner>empathy</owner>
+ <type>bool</type>
+ <default>false</default>
+ <locale name="C">
+ <short>Popup notifications when a contact sign out</short>
+ <long>
+ Whether or not to show a popup notification when a contact goes
+ offline.
+ </long>
+ </locale>
+ </schema>
+
+ <schema>
<key>/schemas/apps/empathy/ui/separate_chat_windows</key>
<applyto>/apps/empathy/ui/separate_chat_windows</applyto>
<owner>empathy</owner>
@@ -290,6 +320,20 @@
</schema>
<schema>
+ <key>/schemas/apps/empathy/conversation/show_contacts_in_rooms</key>
+ <applyto>/apps/empathy/conversation/show_contacts_in_rooms</applyto>
+ <owner>empathy</owner>
+ <type>bool</type>
+ <default>true</default>
+ <locale name="C">
+ <short>Show contact list in rooms</short>
+ <long>
+ Whether or not to show the contact list in chat rooms.
+ </long>
+ </locale>
+ </schema>
+
+ <schema>
<key>/schemas/apps/empathy/conversation/theme</key>
<applyto>/apps/empathy/conversation/theme</applyto>
<owner>empathy</owner>
@@ -372,7 +416,7 @@
Character to add after nickname when using nick completion (tab)
in group chat.
</long>
-
+
</locale>
</schema>
@@ -434,7 +478,7 @@
</long>
</locale>
</schema>
-
+
<schema>
<key>/schemas/apps/empathy/autoconnect</key>
<applyto>/apps/empathy/autoconnect</applyto>
diff --git a/docs/libempathy-gtk/libempathy-gtk-docs.sgml b/docs/libempathy-gtk/libempathy-gtk-docs.sgml
index 71f8ed3b6..edb31afb9 100644
--- a/docs/libempathy-gtk/libempathy-gtk-docs.sgml
+++ b/docs/libempathy-gtk/libempathy-gtk-docs.sgml
@@ -48,6 +48,7 @@
<xi:include href="xml/empathy-profile-chooser.xml"/>
<xi:include href="xml/empathy-smiley-manager.xml"/>
<xi:include href="xml/empathy-spell.xml"/>
+ <xi:include href="xml/empathy-sound.xml"/>
<xi:include href="xml/empathy-status-preset-dialog.xml"/>
<xi:include href="xml/empathy-theme-adium.xml"/>
<xi:include href="xml/empathy-theme-boxes.xml"/>
diff --git a/docs/libempathy-gtk/libempathy-gtk.types b/docs/libempathy-gtk/libempathy-gtk.types
index 7672cc983..ead69316b 100644
--- a/docs/libempathy-gtk/libempathy-gtk.types
+++ b/docs/libempathy-gtk/libempathy-gtk.types
@@ -1,4 +1,5 @@
empathy_account_chooser_get_type
+empathy_adium_data_get_type
empathy_audio_sink_get_type
empathy_audio_src_get_type
empathy_avatar_chooser_get_type
diff --git a/libempathy-gtk/Makefile.am b/libempathy-gtk/Makefile.am
index 2a4438e57..10931012a 100644
--- a/libempathy-gtk/Makefile.am
+++ b/libempathy-gtk/Makefile.am
@@ -54,6 +54,7 @@ libempathy_gtk_handwritten_source = \
empathy-presence-chooser.c \
empathy-profile-chooser.c \
empathy-smiley-manager.c \
+ empathy-sound.c \
empathy-spell.c \
empathy-status-preset-dialog.c \
empathy-theme-boxes.c \
@@ -113,6 +114,7 @@ libempathy_gtk_headers = \
empathy-presence-chooser.h \
empathy-profile-chooser.h \
empathy-smiley-manager.h \
+ empathy-sound.h \
empathy-spell.h \
empathy-status-preset-dialog.h \
empathy-theme-boxes.h \
@@ -226,11 +228,15 @@ endif
if HAVE_WEBKIT
libempathy_gtk_handwritten_source += \
+ empathy-plist.c \
empathy-theme-adium.c
libempathy_gtk_headers += \
+ empathy-plist.h \
empathy-theme-adium.h
else
EXTRA_DIST += \
+ empathy-plist.c \
+ empathy-plist.h \
empathy-theme-adium.c \
empathy-theme-adium.h
endif
diff --git a/libempathy-gtk/empathy-account-chooser.c b/libempathy-gtk/empathy-account-chooser.c
index 915b37b23..7dccb2179 100644
--- a/libempathy-gtk/empathy-account-chooser.c
+++ b/libempathy-gtk/empathy-account-chooser.c
@@ -65,7 +65,7 @@ typedef struct {
typedef struct {
EmpathyAccountChooser *chooser;
- McAccount *account;
+ EmpathyAccount *account;
gboolean set;
} SetAccountData;
@@ -88,19 +88,19 @@ static void account_chooser_set_property (GObject
GParamSpec *pspec);
static void account_chooser_setup (EmpathyAccountChooser *chooser);
static void account_chooser_account_created_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
EmpathyAccountChooser *chooser);
-static void account_chooser_account_add_foreach (McAccount *account,
+static void account_chooser_account_add_foreach (EmpathyAccount *account,
EmpathyAccountChooser *chooser);
static void account_chooser_account_deleted_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
EmpathyAccountChooser *chooser);
-static void account_chooser_account_remove_foreach (McAccount *account,
+static void account_chooser_account_remove_foreach (EmpathyAccount *account,
EmpathyAccountChooser *chooser);
static void account_chooser_update_iter (EmpathyAccountChooser *chooser,
GtkTreeIter *iter);
static void account_chooser_connection_changed_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
TpConnectionStatusReason reason,
TpConnectionStatus new_status,
TpConnectionStatus old_status,
@@ -253,16 +253,16 @@ empathy_account_chooser_new (void)
* @chooser: an #EmpathyAccountChooser
*
* Returns the account which is currently selected in the chooser or %NULL
- * if there is no account selected. The #McAccount returned should be
+ * if there is no account selected. The #EmpathyAccount returned should be
* unrefed with g_object_unref() when finished with.
*
- * Return value: a new ref to the #McAccount currently selected, or %NULL.
+ * Return value: a new ref to the #EmpathyAccount currently selected, or %NULL.
*/
-McAccount *
+EmpathyAccount *
empathy_account_chooser_dup_account (EmpathyAccountChooser *chooser)
{
EmpathyAccountChooserPriv *priv;
- McAccount *account;
+ EmpathyAccount *account;
GtkTreeModel *model;
GtkTreeIter iter;
@@ -295,7 +295,7 @@ TpConnection *
empathy_account_chooser_get_connection (EmpathyAccountChooser *chooser)
{
EmpathyAccountChooserPriv *priv;
- McAccount *account;
+ EmpathyAccount *account;
TpConnection *connection;
g_return_val_if_fail (EMPATHY_IS_ACCOUNT_CHOOSER (chooser), NULL);
@@ -303,7 +303,7 @@ empathy_account_chooser_get_connection (EmpathyAccountChooser *chooser)
priv = GET_PRIV (chooser);
account = empathy_account_chooser_dup_account (chooser);
- connection = empathy_account_manager_get_connection (priv->manager, account);
+ connection = empathy_account_get_connection (account);
g_object_unref (account);
return connection;
@@ -312,7 +312,7 @@ empathy_account_chooser_get_connection (EmpathyAccountChooser *chooser)
/**
* empathy_account_chooser_set_account:
* @chooser: an #EmpathyAccountChooser
- * @account: an #McAccount
+ * @account: an #EmpathyAccount
*
* Sets the currently selected account to @account, if it exists in the list.
*
@@ -320,7 +320,7 @@ empathy_account_chooser_get_connection (EmpathyAccountChooser *chooser)
*/
gboolean
empathy_account_chooser_set_account (EmpathyAccountChooser *chooser,
- McAccount *account)
+ EmpathyAccount *account)
{
GtkComboBox *combobox;
GtkTreeModel *model;
@@ -361,7 +361,7 @@ empathy_account_chooser_get_has_all_option (EmpathyAccountChooser *chooser)
g_return_val_if_fail (EMPATHY_IS_ACCOUNT_CHOOSER (chooser), FALSE);
priv = GET_PRIV (chooser);
-
+
return priv->has_all_option;
}
@@ -457,7 +457,7 @@ account_chooser_setup (EmpathyAccountChooser *chooser)
G_TYPE_STRING, /* Image */
G_TYPE_STRING, /* Name */
G_TYPE_BOOLEAN, /* Enabled */
- MC_TYPE_ACCOUNT);
+ EMPATHY_TYPE_ACCOUNT);
gtk_combo_box_set_model (combobox, GTK_TREE_MODEL (store));
@@ -477,25 +477,25 @@ account_chooser_setup (EmpathyAccountChooser *chooser)
NULL);
/* Populate accounts */
- accounts = mc_accounts_list ();
+ accounts = empathy_account_manager_dup_accounts (priv->manager);
g_list_foreach (accounts,
(GFunc) account_chooser_account_add_foreach,
chooser);
- mc_accounts_list_free (accounts);
+ g_list_free (accounts);
g_object_unref (store);
}
static void
account_chooser_account_created_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
EmpathyAccountChooser *chooser)
{
account_chooser_account_add_foreach (account, chooser);
}
static void
-account_chooser_account_add_foreach (McAccount *account,
+account_chooser_account_add_foreach (EmpathyAccount *account,
EmpathyAccountChooser *chooser)
{
GtkListStore *store;
@@ -511,18 +511,20 @@ account_chooser_account_add_foreach (McAccount *account,
COL_ACCOUNT_POINTER, account,
-1);
account_chooser_update_iter (chooser, &iter);
+ /* We got a reffed account and it was reffed by the liststore as well */
+ g_object_unref (account);
}
static void
account_chooser_account_deleted_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
EmpathyAccountChooser *chooser)
{
account_chooser_account_remove_foreach (account, chooser);
}
typedef struct {
- McAccount *account;
+ EmpathyAccount *account;
GtkTreeIter *iter;
gboolean found;
} FindAccountData;
@@ -534,7 +536,7 @@ account_chooser_find_account_foreach (GtkTreeModel *model,
gpointer user_data)
{
FindAccountData *data = user_data;
- McAccount *account;
+ EmpathyAccount *account;
gtk_tree_model_get (model, iter, COL_ACCOUNT_POINTER, &account, -1);
@@ -553,7 +555,7 @@ account_chooser_find_account_foreach (GtkTreeModel *model,
static gboolean
account_chooser_find_account (EmpathyAccountChooser *chooser,
- McAccount *account,
+ EmpathyAccount *account,
GtkTreeIter *iter)
{
GtkListStore *store;
@@ -573,7 +575,7 @@ account_chooser_find_account (EmpathyAccountChooser *chooser,
}
static void
-account_chooser_account_remove_foreach (McAccount *account,
+account_chooser_account_remove_foreach (EmpathyAccount *account,
EmpathyAccountChooser *chooser)
{
GtkListStore *store;
@@ -595,7 +597,7 @@ account_chooser_update_iter (EmpathyAccountChooser *chooser,
EmpathyAccountChooserPriv *priv;
GtkListStore *store;
GtkComboBox *combobox;
- McAccount *account;
+ EmpathyAccount *account;
const gchar *icon_name;
gboolean is_enabled = TRUE;
@@ -615,7 +617,7 @@ account_chooser_update_iter (EmpathyAccountChooser *chooser,
gtk_list_store_set (store, iter,
COL_ACCOUNT_IMAGE, icon_name,
- COL_ACCOUNT_TEXT, mc_account_get_display_name (account),
+ COL_ACCOUNT_TEXT, empathy_account_get_display_name (account),
COL_ACCOUNT_ENABLED, is_enabled,
-1);
@@ -630,7 +632,7 @@ account_chooser_update_iter (EmpathyAccountChooser *chooser,
static void
account_chooser_connection_changed_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
TpConnectionStatusReason reason,
TpConnectionStatus new_status,
TpConnectionStatus old_status,
@@ -653,11 +655,11 @@ account_chooser_separator_func (GtkTreeModel *model,
gboolean is_separator;
priv = GET_PRIV (chooser);
-
+
if (!priv->has_all_option) {
return FALSE;
}
-
+
gtk_tree_model_get (model, iter, COL_ACCOUNT_TEXT, &text, -1);
is_separator = text == NULL;
g_free (text);
@@ -671,7 +673,7 @@ account_chooser_set_account_foreach (GtkTreeModel *model,
GtkTreeIter *iter,
SetAccountData *data)
{
- McAccount *account;
+ EmpathyAccount *account;
gboolean equal;
gtk_tree_model_get (model, iter, COL_ACCOUNT_POINTER, &account, -1);
@@ -744,7 +746,7 @@ empathy_account_chooser_set_filter (EmpathyAccountChooser *chooser,
/**
* EmpathyAccountChooserFilterFunc:
- * @account: an #McAccount
+ * @account: an #EmpathyAccount
* @user_data: user data, or %NULL
*
* A function which decides whether the account indicated by @account
@@ -755,7 +757,7 @@ empathy_account_chooser_set_filter (EmpathyAccountChooser *chooser,
/**
* empathy_account_chooser_filter_is_connected:
- * @account: an #McAccount
+ * @account: an #EmpathyAccount
* @user_data: user data or %NULL
*
* A useful #EmpathyAccountChooserFilterFunc that one could pass into
@@ -764,17 +766,12 @@ empathy_account_chooser_set_filter (EmpathyAccountChooser *chooser,
* Return value: Whether @account is connected
*/
gboolean
-empathy_account_chooser_filter_is_connected (McAccount *account,
+empathy_account_chooser_filter_is_connected (EmpathyAccount *account,
gpointer user_data)
{
- MissionControl *mc;
TpConnectionStatus status;
- g_return_val_if_fail (MC_IS_ACCOUNT (account), FALSE);
-
- mc = empathy_mission_control_dup_singleton ();
- status = mission_control_get_connection_status (mc, account, NULL);
- g_object_unref (mc);
+ g_object_get (account, "status", &status, NULL);
return status == TP_CONNECTION_STATUS_CONNECTED;
}
diff --git a/libempathy-gtk/empathy-account-chooser.h b/libempathy-gtk/empathy-account-chooser.h
index c2105406a..255b6841f 100644
--- a/libempathy-gtk/empathy-account-chooser.h
+++ b/libempathy-gtk/empathy-account-chooser.h
@@ -27,7 +27,7 @@
#include <gtk/gtk.h>
-#include <libmissioncontrol/mc-account.h>
+#include <libempathy/empathy-account.h>
G_BEGIN_DECLS
@@ -38,7 +38,7 @@ G_BEGIN_DECLS
#define EMPATHY_IS_ACCOUNT_CHOOSER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_ACCOUNT_CHOOSER))
#define EMPATHY_ACCOUNT_CHOOSER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_ACCOUNT_CHOOSER, EmpathyAccountChooserClass))
-typedef gboolean (* EmpathyAccountChooserFilterFunc) (McAccount *account,
+typedef gboolean (* EmpathyAccountChooserFilterFunc) (EmpathyAccount *account,
gpointer user_data);
@@ -58,17 +58,17 @@ struct _EmpathyAccountChooserClass {
GType empathy_account_chooser_get_type (void) G_GNUC_CONST;
GtkWidget * empathy_account_chooser_new (void);
-McAccount * empathy_account_chooser_dup_account (EmpathyAccountChooser *chooser);
+EmpathyAccount * empathy_account_chooser_dup_account (EmpathyAccountChooser *chooser);
TpConnection * empathy_account_chooser_get_connection (EmpathyAccountChooser *chooser);
gboolean empathy_account_chooser_set_account (EmpathyAccountChooser *chooser,
- McAccount *account);
+ EmpathyAccount *account);
gboolean empathy_account_chooser_get_has_all_option (EmpathyAccountChooser *chooser);
void empathy_account_chooser_set_has_all_option (EmpathyAccountChooser *chooser,
gboolean has_all_option);
void empathy_account_chooser_set_filter (EmpathyAccountChooser *chooser,
EmpathyAccountChooserFilterFunc filter,
gpointer user_data);
-gboolean empathy_account_chooser_filter_is_connected (McAccount *account,
+gboolean empathy_account_chooser_filter_is_connected (EmpathyAccount *account,
gpointer user_data);
G_END_DECLS
diff --git a/libempathy-gtk/empathy-account-widget-irc.c b/libempathy-gtk/empathy-account-widget-irc.c
index 1306f517f..688a3e0e6 100644
--- a/libempathy-gtk/empathy-account-widget-irc.c
+++ b/libempathy-gtk/empathy-account-widget-irc.c
@@ -27,7 +27,6 @@
#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
-#include <libmissioncontrol/mc-account.h>
#include <libmissioncontrol/mc-protocol.h>
#include <libempathy/empathy-utils.h>
@@ -44,7 +43,7 @@
#define IRC_NETWORKS_FILENAME "irc-networks.xml"
typedef struct {
- McAccount *account;
+ EmpathyAccount *account;
EmpathyIrcNetworkManager *network_manager;
GtkWidget *vbox_settings;
@@ -70,9 +69,9 @@ static void
unset_server_params (EmpathyAccountWidgetIrc *settings)
{
DEBUG ("Unset server, port and use-ssl");
- mc_account_unset_param (settings->account, "server");
- mc_account_unset_param (settings->account, "port");
- mc_account_unset_param (settings->account, "use-ssl");
+ empathy_account_unset_param (settings->account, "server");
+ empathy_account_unset_param (settings->account, "port");
+ empathy_account_unset_param (settings->account, "use-ssl");
}
static void
@@ -98,7 +97,7 @@ update_server_params (EmpathyAccountWidgetIrc *settings)
g_object_get (network, "charset", &charset, NULL);
DEBUG ("Setting charset to %s", charset);
- mc_account_set_param_string (settings->account, "charset", charset);
+ empathy_account_set_param_string (settings->account, "charset", charset);
g_free (charset);
servers = empathy_irc_network_get_servers (network);
@@ -117,11 +116,11 @@ update_server_params (EmpathyAccountWidgetIrc *settings)
NULL);
DEBUG ("Setting server to %s", address);
- mc_account_set_param_string (settings->account, "server", address);
+ empathy_account_set_param_string (settings->account, "server", address);
DEBUG ("Setting port to %u", port);
- mc_account_set_param_int (settings->account, "port", port);
+ empathy_account_set_param_int (settings->account, "port", port);
DEBUG ("Setting use-ssl to %s", ssl ? "TRUE": "FALSE" );
- mc_account_set_param_boolean (settings->account, "use-ssl", ssl);
+ empathy_account_set_param_boolean (settings->account, "use-ssl", ssl);
g_free (address);
}
@@ -332,17 +331,17 @@ account_widget_irc_setup (EmpathyAccountWidgetIrc *settings)
gboolean ssl = FALSE;
EmpathyIrcNetwork *network = NULL;
- mc_account_get_param_string (settings->account, "account", &nick);
- mc_account_get_param_string (settings->account, "fullname", &fullname);
- mc_account_get_param_string (settings->account, "server", &server);
- mc_account_get_param_string (settings->account, "charset", &charset);
- mc_account_get_param_int (settings->account, "port", &port);
- mc_account_get_param_boolean (settings->account, "use-ssl", &ssl);
+ nick = empathy_account_get_param_string (settings->account, "account");
+ fullname = empathy_account_get_param_string (settings->account, "fullname");
+ server = empathy_account_get_param_string (settings->account, "server");
+ charset = empathy_account_get_param_string (settings->account, "charset");
+ port = empathy_account_get_param_int (settings->account, "port");
+ ssl = empathy_account_get_param_boolean (settings->account, "use-ssl");
if (!nick)
{
nick = g_strdup (g_get_user_name ());
- mc_account_set_param_string (settings->account, "account", nick);
+ empathy_account_set_param_string (settings->account, "account", nick);
}
if (!fullname)
@@ -352,7 +351,7 @@ account_widget_irc_setup (EmpathyAccountWidgetIrc *settings)
{
fullname = g_strdup (nick);
}
- mc_account_set_param_string (settings->account, "fullname", fullname);
+ empathy_account_set_param_string (settings->account, "fullname", fullname);
}
if (server != NULL)
@@ -414,14 +413,14 @@ account_widget_irc_setup (EmpathyAccountWidgetIrc *settings)
/**
* empathy_account_widget_irc_new:
- * @account: the #McAccount to configure
+ * @account: the #EmpathyAccount to configure
*
- * Creates a new IRC account widget to configure a given #McAccount
+ * Creates a new IRC account widget to configure a given #EmpathyAccount
*
* Returns: The toplevel container of the configuration widget
*/
GtkWidget *
-empathy_account_widget_irc_new (McAccount *account)
+empathy_account_widget_irc_new (EmpathyAccount *account)
{
EmpathyAccountWidgetIrc *settings;
gchar *dir, *user_file_with_path, *global_file_with_path;
diff --git a/libempathy-gtk/empathy-account-widget-irc.h b/libempathy-gtk/empathy-account-widget-irc.h
index a89081fc0..40e58bbc3 100644
--- a/libempathy-gtk/empathy-account-widget-irc.h
+++ b/libempathy-gtk/empathy-account-widget-irc.h
@@ -22,11 +22,11 @@
#define __EMPATHY_ACCOUNT_WIDGET_IRC_H__
#include <gtk/gtk.h>
-#include <libmissioncontrol/mc-account.h>
+#include <libempathy/empathy-account.h>
G_BEGIN_DECLS
-GtkWidget * empathy_account_widget_irc_new (McAccount *account);
+GtkWidget * empathy_account_widget_irc_new (EmpathyAccount *account);
G_END_DECLS
diff --git a/libempathy-gtk/empathy-account-widget-sip.c b/libempathy-gtk/empathy-account-widget-sip.c
index da6082495..05e917e53 100644
--- a/libempathy-gtk/empathy-account-widget-sip.c
+++ b/libempathy-gtk/empathy-account-widget-sip.c
@@ -28,7 +28,6 @@
#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
-#include <libmissioncontrol/mc-account.h>
#include <libmissioncontrol/mc-protocol.h>
#include <libempathy/empathy-utils.h>
@@ -38,7 +37,7 @@
#include "empathy-ui-utils.h"
typedef struct {
- McAccount *account;
+ EmpathyAccount *account;
GtkWidget *vbox_settings;
@@ -69,14 +68,14 @@ account_widget_sip_discover_stun_toggled_cb (
/**
* empathy_account_widget_sip_new:
- * @account: the #McAccount to configure
+ * @account: the #EmpathyAccount to configure
*
- * Creates a new SIP account widget to configure a given #McAccount
+ * Creates a new SIP account widget to configure a given #EmpathyAccount
*
* Returns: The toplevel container of the configuration widget
*/
GtkWidget *
-empathy_account_widget_sip_new (McAccount *account)
+empathy_account_widget_sip_new (EmpathyAccount *account)
{
EmpathyAccountWidgetSip *settings;
GtkBuilder *gui;
diff --git a/libempathy-gtk/empathy-account-widget-sip.h b/libempathy-gtk/empathy-account-widget-sip.h
index 9187c1e0c..69f60aacc 100644
--- a/libempathy-gtk/empathy-account-widget-sip.h
+++ b/libempathy-gtk/empathy-account-widget-sip.h
@@ -22,11 +22,11 @@
#define __EMPATHY_ACCOUNT_WIDGET_SIP_H__
#include <gtk/gtk.h>
-#include <libmissioncontrol/mc-account.h>
+#include <libempathy/empathy-account.h>
G_BEGIN_DECLS
-GtkWidget * empathy_account_widget_sip_new (McAccount *account);
+GtkWidget * empathy_account_widget_sip_new (EmpathyAccount *account);
G_END_DECLS
diff --git a/libempathy-gtk/empathy-account-widget.c b/libempathy-gtk/empathy-account-widget.c
index 669869a4d..f602cd8bd 100644
--- a/libempathy-gtk/empathy-account-widget.c
+++ b/libempathy-gtk/empathy-account-widget.c
@@ -29,10 +29,10 @@
#include <gtk/gtk.h>
#include <glib/gi18n-lib.h>
-#include <libmissioncontrol/mc-account.h>
#include <libmissioncontrol/mc-protocol.h>
#include <libempathy/empathy-utils.h>
+#include <libempathy/empathy-account.h>
#include "empathy-account-widget.h"
#include "empathy-ui-utils.h"
@@ -43,7 +43,7 @@
static gboolean
account_widget_entry_focus_cb (GtkWidget *widget,
GdkEventFocus *event,
- McAccount *account)
+ EmpathyAccount *account)
{
const gchar *str;
const gchar *param_name;
@@ -54,8 +54,8 @@ account_widget_entry_focus_cb (GtkWidget *widget,
if (EMP_STR_EMPTY (str)) {
gchar *value = NULL;
- mc_account_unset_param (account, param_name);
- mc_account_get_param_string (account, param_name, &value);
+ empathy_account_unset_param (account, param_name);
+ value = empathy_account_get_param_string (account, param_name);
DEBUG ("Unset %s and restore to %s", param_name, value);
gtk_entry_set_text (GTK_ENTRY (widget), value ? value : "");
g_free (value);
@@ -64,7 +64,7 @@ account_widget_entry_focus_cb (GtkWidget *widget,
const gchar *domain = NULL;
gchar *dup_str = NULL;
- profile = mc_account_get_profile (account);
+ profile = empathy_account_get_profile (account);
if (mc_profile_get_capabilities (profile) &
MC_PROFILE_CAPABILITY_SPLIT_ACCOUNT) {
domain = mc_profile_get_default_account_domain (profile);
@@ -78,7 +78,7 @@ account_widget_entry_focus_cb (GtkWidget *widget,
}
DEBUG ("Setting %s to %s", param_name,
strstr (param_name, "password") ? "***" : str);
- mc_account_set_param_string (account, param_name, str);
+ empathy_account_set_param_string (account, param_name, str);
g_free (dup_str);
g_object_unref (profile);
}
@@ -88,7 +88,7 @@ account_widget_entry_focus_cb (GtkWidget *widget,
static void
account_widget_int_changed_cb (GtkWidget *widget,
- McAccount *account)
+ EmpathyAccount *account)
{
const gchar *param_name;
gint value;
@@ -97,19 +97,19 @@ account_widget_int_changed_cb (GtkWidget *widget,
param_name = g_object_get_data (G_OBJECT (widget), "param_name");
if (value == 0) {
- mc_account_unset_param (account, param_name);
- mc_account_get_param_int (account, param_name, &value);
+ empathy_account_unset_param (account, param_name);
+ value = empathy_account_get_param_int (account, param_name);
DEBUG ("Unset %s and restore to %d", param_name, value);
gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), value);
} else {
DEBUG ("Setting %s to %d", param_name, value);
- mc_account_set_param_int (account, param_name, value);
+ empathy_account_set_param_int (account, param_name, value);
}
}
static void
account_widget_checkbutton_toggled_cb (GtkWidget *widget,
- McAccount *account)
+ EmpathyAccount *account)
{
gboolean value;
gboolean default_value;
@@ -121,14 +121,14 @@ account_widget_checkbutton_toggled_cb (GtkWidget *widget,
/* FIXME: This is ugly! checkbox don't have a "not-set" value so we
* always unset the param and set the value if different from the
* default value. */
- mc_account_unset_param (account, param_name);
- mc_account_get_param_boolean (account, param_name, &default_value);
+ empathy_account_unset_param (account, param_name);
+ default_value = empathy_account_get_param_boolean (account, param_name);
if (default_value == value) {
DEBUG ("Unset %s and restore to %d", param_name, default_value);
} else {
DEBUG ("Setting %s to %d", param_name, value);
- mc_account_set_param_boolean (account, param_name, value);
+ empathy_account_set_param_boolean (account, param_name, value);
}
}
@@ -136,14 +136,14 @@ static void
account_widget_forget_clicked_cb (GtkWidget *button,
GtkWidget *entry)
{
- McAccount *account;
+ EmpathyAccount *account;
const gchar *param_name;
param_name = g_object_get_data (G_OBJECT (entry), "param_name");
account = g_object_get_data (G_OBJECT (entry), "account");
DEBUG ("Unset %s", param_name);
- mc_account_unset_param (account, param_name);
+ empathy_account_unset_param (account, param_name);
gtk_entry_set_text (GTK_ENTRY (entry), "");
}
@@ -161,13 +161,13 @@ static void
account_widget_jabber_ssl_toggled_cb (GtkWidget *checkbutton_ssl,
GtkWidget *spinbutton_port)
{
- McAccount *account;
+ EmpathyAccount *account;
gboolean value;
gint port = 0;
value = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbutton_ssl));
account = g_object_get_data (G_OBJECT (spinbutton_port), "account");
- mc_account_get_param_int (account, "port", &port);
+ port = empathy_account_get_param_int (account, "port");
if (value) {
if (port == 5222 || port == 0) {
@@ -184,7 +184,7 @@ account_widget_jabber_ssl_toggled_cb (GtkWidget *checkbutton_ssl,
static void
account_widget_setup_widget (GtkWidget *widget,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *param_name)
{
g_object_set_data_full (G_OBJECT (widget), "param_name",
@@ -195,7 +195,7 @@ account_widget_setup_widget (GtkWidget *widget,
if (GTK_IS_SPIN_BUTTON (widget)) {
gint value = 0;
- mc_account_get_param_int (account, param_name, &value);
+ value = empathy_account_get_param_int (account, param_name);
gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), value);
g_signal_connect (widget, "value-changed",
@@ -205,7 +205,7 @@ account_widget_setup_widget (GtkWidget *widget,
else if (GTK_IS_ENTRY (widget)) {
gchar *str = NULL;
- mc_account_get_param_string (account, param_name, &str);
+ str = empathy_account_get_param_string (account, param_name);
gtk_entry_set_text (GTK_ENTRY (widget), str ? str : "");
g_free (str);
@@ -220,7 +220,7 @@ account_widget_setup_widget (GtkWidget *widget,
else if (GTK_IS_TOGGLE_BUTTON (widget)) {
gboolean value = FALSE;
- mc_account_get_param_boolean (account, param_name, &value);
+ value = empathy_account_get_param_boolean (account, param_name);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), value);
g_signal_connect (widget, "toggled",
@@ -238,11 +238,11 @@ account_widget_generic_format_param_name (const gchar *param_name)
gchar *p;
str = g_strdup (param_name);
-
+
if (str && g_ascii_isalpha (str[0])) {
str[0] = g_ascii_toupper (str[0]);
}
-
+
while ((p = strchr (str, '-')) != NULL) {
if (p[1] != '\0' && g_ascii_isalpha (p[1])) {
p[0] = ' ';
@@ -251,12 +251,12 @@ account_widget_generic_format_param_name (const gchar *param_name)
p++;
}
-
+
return str;
}
static void
-accounts_widget_generic_setup (McAccount *account,
+accounts_widget_generic_setup (EmpathyAccount *account,
GtkWidget *table_common_settings,
GtkWidget *table_advanced_settings)
{
@@ -264,7 +264,7 @@ accounts_widget_generic_setup (McAccount *account,
McProfile *profile;
GSList *params, *l;
- profile = mc_account_get_profile (account);
+ profile = empathy_account_get_profile (account);
protocol = mc_profile_get_protocol (profile);
if (!protocol) {
@@ -400,7 +400,7 @@ accounts_widget_generic_setup (McAccount *account,
}
static void
-account_widget_handle_params_valist (McAccount *account,
+account_widget_handle_params_valist (EmpathyAccount *account,
GtkBuilder *gui,
const gchar *first_widget,
va_list args)
@@ -424,14 +424,13 @@ account_widget_handle_params_valist (McAccount *account,
}
void
-empathy_account_widget_handle_params (McAccount *account,
+empathy_account_widget_handle_params (EmpathyAccount *account,
GtkBuilder *gui,
const gchar *first_widget,
...)
{
va_list args;
- g_return_if_fail (MC_IS_ACCOUNT (account));
g_return_if_fail (GTK_IS_BUILDER (gui));
va_start (args, first_widget);
@@ -440,7 +439,7 @@ empathy_account_widget_handle_params (McAccount *account,
}
void
-empathy_account_widget_add_forget_button (McAccount *account,
+empathy_account_widget_add_forget_button (EmpathyAccount *account,
GtkBuilder *gui,
const gchar *button,
const gchar *entry)
@@ -448,11 +447,11 @@ empathy_account_widget_add_forget_button (McAccount *account,
GtkWidget *button_forget;
GtkWidget *entry_password;
gchar *password = NULL;
-
+
button_forget = GTK_WIDGET (gtk_builder_get_object (gui, button));
entry_password = GTK_WIDGET (gtk_builder_get_object (gui, entry));
- mc_account_get_param_string (account, "password", &password);
+ password = empathy_account_get_param_string (account, "password");
gtk_widget_set_sensitive (button_forget, !EMP_STR_EMPTY (password));
g_free (password);
@@ -477,7 +476,7 @@ empathy_account_widget_set_default_focus (GtkBuilder *gui,
}
GtkWidget *
-empathy_account_widget_generic_new (McAccount *account)
+empathy_account_widget_generic_new (EmpathyAccount *account)
{
GtkBuilder *gui;
GtkWidget *widget;
@@ -485,8 +484,6 @@ empathy_account_widget_generic_new (McAccount *account)
GtkWidget *table_advanced_settings;
gchar *filename;
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
-
filename = empathy_file_lookup ("empathy-account-widget-generic.ui",
"libempathy-gtk");
gui = empathy_builder_get_file (filename,
@@ -502,7 +499,7 @@ empathy_account_widget_generic_new (McAccount *account)
}
GtkWidget *
-empathy_account_widget_salut_new (McAccount *account)
+empathy_account_widget_salut_new (EmpathyAccount *account)
{
GtkBuilder *gui;
GtkWidget *widget;
@@ -530,7 +527,7 @@ empathy_account_widget_salut_new (McAccount *account)
}
GtkWidget *
-empathy_account_widget_msn_new (McAccount *account)
+empathy_account_widget_msn_new (EmpathyAccount *account)
{
GtkBuilder *gui;
GtkWidget *widget;
@@ -560,7 +557,7 @@ empathy_account_widget_msn_new (McAccount *account)
}
GtkWidget *
-empathy_account_widget_jabber_new (McAccount *account)
+empathy_account_widget_jabber_new (EmpathyAccount *account)
{
GtkBuilder *gui;
GtkWidget *widget;
@@ -603,7 +600,7 @@ empathy_account_widget_jabber_new (McAccount *account)
}
GtkWidget *
-empathy_account_widget_icq_new (McAccount *account)
+empathy_account_widget_icq_new (EmpathyAccount *account)
{
GtkBuilder *gui;
GtkWidget *widget;
@@ -636,7 +633,7 @@ empathy_account_widget_icq_new (McAccount *account)
}
GtkWidget *
-empathy_account_widget_aim_new (McAccount *account)
+empathy_account_widget_aim_new (EmpathyAccount *account)
{
GtkBuilder *gui;
GtkWidget *widget;
@@ -668,7 +665,7 @@ empathy_account_widget_aim_new (McAccount *account)
}
GtkWidget *
-empathy_account_widget_yahoo_new (McAccount *account)
+empathy_account_widget_yahoo_new (EmpathyAccount *account)
{
GtkBuilder *gui;
GtkWidget *widget;
@@ -702,7 +699,7 @@ empathy_account_widget_yahoo_new (McAccount *account)
}
GtkWidget *
-empathy_account_widget_groupwise_new (McAccount *account)
+empathy_account_widget_groupwise_new (EmpathyAccount *account)
{
GtkBuilder *gui;
GtkWidget *widget;
diff --git a/libempathy-gtk/empathy-account-widget.h b/libempathy-gtk/empathy-account-widget.h
index 7287f5675..7a76db9e0 100644
--- a/libempathy-gtk/empathy-account-widget.h
+++ b/libempathy-gtk/empathy-account-widget.h
@@ -27,28 +27,28 @@
#include <gtk/gtk.h>
-#include <libmissioncontrol/mc-account.h>
+#include <libempathy/empathy-account.h>
G_BEGIN_DECLS
-void empathy_account_widget_handle_params (McAccount *account,
+void empathy_account_widget_handle_params (EmpathyAccount *account,
GtkBuilder *gui,
const gchar *first_widget,
...);
-void empathy_account_widget_add_forget_button (McAccount *account,
+void empathy_account_widget_add_forget_button (EmpathyAccount *account,
GtkBuilder *gui,
const gchar *button,
const gchar *entry);
void empathy_account_widget_set_default_focus (GtkBuilder *gui,
const gchar *entry);
-GtkWidget *empathy_account_widget_generic_new (McAccount *account);
-GtkWidget *empathy_account_widget_salut_new (McAccount *account);
-GtkWidget *empathy_account_widget_msn_new (McAccount *account);
-GtkWidget *empathy_account_widget_jabber_new (McAccount *account);
-GtkWidget *empathy_account_widget_icq_new (McAccount *account);
-GtkWidget *empathy_account_widget_aim_new (McAccount *account);
-GtkWidget *empathy_account_widget_yahoo_new (McAccount *account);
-GtkWidget *empathy_account_widget_groupwise_new (McAccount *account);
+GtkWidget *empathy_account_widget_generic_new (EmpathyAccount *account);
+GtkWidget *empathy_account_widget_salut_new (EmpathyAccount *account);
+GtkWidget *empathy_account_widget_msn_new (EmpathyAccount *account);
+GtkWidget *empathy_account_widget_jabber_new (EmpathyAccount *account);
+GtkWidget *empathy_account_widget_icq_new (EmpathyAccount *account);
+GtkWidget *empathy_account_widget_aim_new (EmpathyAccount *account);
+GtkWidget *empathy_account_widget_yahoo_new (EmpathyAccount *account);
+GtkWidget *empathy_account_widget_groupwise_new (EmpathyAccount *account);
G_END_DECLS
diff --git a/libempathy-gtk/empathy-avatar-chooser.c b/libempathy-gtk/empathy-avatar-chooser.c
index 8c005a029..83475b565 100644
--- a/libempathy-gtk/empathy-avatar-chooser.c
+++ b/libempathy-gtk/empathy-avatar-chooser.c
@@ -810,14 +810,14 @@ avatar_chooser_drag_data_received_cb (GtkWidget *widget,
if (input_stream != NULL) {
GFileInfo *info;
-
+
info = g_file_query_info (file,
G_FILE_ATTRIBUTE_STANDARD_SIZE,
0, NULL, NULL);
if (info != NULL) {
goffset size;
gssize bytes_read;
-
+
size = g_file_info_get_size (info);
data = g_malloc (size);
@@ -838,7 +838,7 @@ avatar_chooser_drag_data_received_cb (GtkWidget *widget,
g_object_unref (input_stream);
}
-
+
g_object_unref (file);
}
diff --git a/libempathy-gtk/empathy-chat-text-view.c b/libempathy-gtk/empathy-chat-text-view.c
index 95e67b714..5ed7c69c3 100644
--- a/libempathy-gtk/empathy-chat-text-view.c
+++ b/libempathy-gtk/empathy-chat-text-view.c
@@ -34,9 +34,9 @@
#include <gtk/gtk.h>
#include <telepathy-glib/util.h>
-#include <libmissioncontrol/mc-account.h>
#include <libempathy/empathy-utils.h>
+#include <libempathy/empathy-account.h>
#include "empathy-chat-text-view.h"
#include "empathy-chat.h"
@@ -103,10 +103,10 @@ chat_text_view_url_event_cb (GtkTextTag *tag,
if (gtk_text_iter_get_offset (&start) != gtk_text_iter_get_offset (&end)) {
return FALSE;
}
-
+
if (event->type == GDK_BUTTON_RELEASE && event->button.button == 1) {
start = end = *iter;
-
+
if (gtk_text_iter_backward_to_tag_toggle (&start, tag) &&
gtk_text_iter_forward_to_tag_toggle (&end, tag)) {
str = gtk_text_buffer_get_text (priv->buffer,
@@ -118,7 +118,7 @@ chat_text_view_url_event_cb (GtkTextTag *tag,
g_free (str);
}
}
-
+
return FALSE;
}
@@ -133,31 +133,31 @@ chat_text_view_event_cb (EmpathyChatTextView *view,
GtkTextIter iter;
GdkWindow *win;
gint x, y, buf_x, buf_y;
-
+
type = gtk_text_view_get_window_type (GTK_TEXT_VIEW (view),
event->window);
-
+
if (type != GTK_TEXT_WINDOW_TEXT) {
return FALSE;
}
-
+
/* Get where the pointer really is. */
win = gtk_text_view_get_window (GTK_TEXT_VIEW (view), type);
if (!win) {
return FALSE;
}
-
+
gdk_window_get_pointer (win, &x, &y, NULL);
-
+
/* Get the iter where the cursor is at */
gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (view), type,
x, y,
&buf_x, &buf_y);
-
+
gtk_text_view_get_iter_at_location (GTK_TEXT_VIEW (view),
&iter,
buf_x, buf_y);
-
+
if (gtk_text_iter_has_tag (&iter, tag)) {
if (!hand) {
hand = gdk_cursor_new (GDK_HAND2);
@@ -170,7 +170,7 @@ chat_text_view_event_cb (EmpathyChatTextView *view,
}
gdk_window_set_cursor (win, beam);
}
-
+
return FALSE;
}
@@ -192,7 +192,7 @@ chat_text_view_create_tags (EmpathyChatTextView *view)
g_signal_connect (tag, "event",
G_CALLBACK (chat_text_view_url_event_cb),
view);
-
+
g_signal_connect (view, "motion-notify-event",
G_CALLBACK (chat_text_view_event_cb),
tag);
@@ -203,7 +203,7 @@ chat_text_view_system_font_update (EmpathyChatTextView *view)
{
PangoFontDescription *font_description = NULL;
gchar *font_name;
-
+
if (empathy_conf_get_string (empathy_conf_get (),
"/desktop/gnome/interface/document_font_name",
&font_name) && font_name) {
@@ -212,9 +212,9 @@ chat_text_view_system_font_update (EmpathyChatTextView *view)
} else {
font_description = NULL;
}
-
+
gtk_widget_modify_font (GTK_WIDGET (view), font_description);
-
+
if (font_description) {
pango_font_description_free (font_description);
}
@@ -226,7 +226,7 @@ chat_text_view_notify_system_font_cb (EmpathyConf *conf,
gpointer user_data)
{
EmpathyChatTextView *view = user_data;
-
+
chat_text_view_system_font_update (view);
}
@@ -240,10 +240,10 @@ static void
chat_text_view_copy_address_cb (GtkMenuItem *menuitem, const gchar *url)
{
GtkClipboard *clipboard;
-
+
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
gtk_clipboard_set_text (clipboard, url, -1);
-
+
clipboard = gtk_clipboard_get (GDK_SELECTION_PRIMARY);
gtk_clipboard_set_text (clipboard, url, -1);
}
@@ -260,66 +260,66 @@ chat_text_view_populate_popup (EmpathyChatTextView *view,
GtkTextIter iter, start, end;
GtkWidget *item;
gchar *str = NULL;
-
+
priv = GET_PRIV (view);
-
+
/* Clear menu item */
if (gtk_text_buffer_get_char_count (priv->buffer) > 0) {
item = gtk_separator_menu_item_new ();
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item);
gtk_widget_show (item);
-
+
item = gtk_image_menu_item_new_from_stock (GTK_STOCK_CLEAR, NULL);
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item);
gtk_widget_show (item);
-
+
g_signal_connect_swapped (item, "activate",
G_CALLBACK (empathy_chat_view_clear),
view);
}
-
+
/* Link context menu items */
table = gtk_text_buffer_get_tag_table (priv->buffer);
tag = gtk_text_tag_table_lookup (table, EMPATHY_CHAT_TEXT_VIEW_TAG_LINK);
-
+
gtk_widget_get_pointer (GTK_WIDGET (view), &x, &y);
-
+
gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (view),
GTK_TEXT_WINDOW_WIDGET,
x, y,
&x, &y);
-
+
gtk_text_view_get_iter_at_location (GTK_TEXT_VIEW (view), &iter, x, y);
-
+
start = end = iter;
-
+
if (gtk_text_iter_backward_to_tag_toggle (&start, tag) &&
gtk_text_iter_forward_to_tag_toggle (&end, tag)) {
str = gtk_text_buffer_get_text (priv->buffer,
&start, &end, FALSE);
}
-
+
if (EMP_STR_EMPTY (str)) {
g_free (str);
return;
}
-
+
/* NOTE: Set data just to get the string freed when not needed. */
g_object_set_data_full (G_OBJECT (menu),
"url", str,
(GDestroyNotify) g_free);
-
+
item = gtk_separator_menu_item_new ();
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item);
gtk_widget_show (item);
-
+
item = gtk_menu_item_new_with_mnemonic (_("_Copy Link Address"));
g_signal_connect (item, "activate",
G_CALLBACK (chat_text_view_copy_address_cb),
str);
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item);
gtk_widget_show (item);
-
+
item = gtk_menu_item_new_with_mnemonic (_("_Open Link"));
g_signal_connect (item, "activate",
G_CALLBACK (chat_text_view_open_address_cb),
@@ -332,18 +332,24 @@ static gboolean
chat_text_view_is_scrolled_down (EmpathyChatTextView *view)
{
GtkWidget *sw;
-
+
sw = gtk_widget_get_parent (GTK_WIDGET (view));
if (GTK_IS_SCROLLED_WINDOW (sw)) {
GtkAdjustment *vadj;
-
+ gdouble value;
+ gdouble upper;
+ gdouble page_size;
+
vadj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (sw));
-
- if (vadj->value + vadj->page_size / 2 < vadj->upper - vadj->page_size) {
+ value = gtk_adjustment_get_value (vadj);
+ upper = gtk_adjustment_get_upper (vadj);
+ page_size = gtk_adjustment_get_page_size (vadj);
+
+ if (value < upper - page_size) {
return FALSE;
}
}
-
+
return TRUE;
}
@@ -356,23 +362,23 @@ chat_text_view_maybe_trim_buffer (EmpathyChatTextView *view)
gint remove;
GtkTextTagTable *table;
GtkTextTag *tag;
-
+
priv = GET_PRIV (view);
-
+
gtk_text_buffer_get_end_iter (priv->buffer, &bottom);
line = gtk_text_iter_get_line (&bottom);
if (line < MAX_LINES) {
return;
}
-
+
remove = line - MAX_LINES;
gtk_text_buffer_get_start_iter (priv->buffer, &top);
-
+
bottom = top;
if (!gtk_text_iter_forward_lines (&bottom, remove)) {
return;
}
-
+
/* Track backwords to a place where we can safely cut, we don't do it in
* the middle of a tag.
*/
@@ -381,11 +387,11 @@ chat_text_view_maybe_trim_buffer (EmpathyChatTextView *view)
if (!tag) {
return;
}
-
+
if (!gtk_text_iter_forward_to_tag_toggle (&bottom, tag)) {
return;
}
-
+
if (!gtk_text_iter_equal (&top, &bottom)) {
gtk_text_buffer_delete (priv->buffer, &top, &bottom);
}
@@ -436,7 +442,7 @@ chat_text_view_append_timestamp (EmpathyChatTextView *view,
priv->last_timestamp = timestamp;
- g_string_free (str, TRUE);
+ g_string_free (str, TRUE);
}
static void
@@ -461,7 +467,7 @@ chat_text_maybe_append_date_and_time (EmpathyChatTextView *view,
append_date = TRUE;
append_time = TRUE;
}
-
+
g_date_free (last_date);
g_date_free (date);
@@ -480,14 +486,14 @@ chat_text_view_size_allocate (GtkWidget *widget,
GtkAllocation *alloc)
{
gboolean down;
-
+
down = chat_text_view_is_scrolled_down (EMPATHY_CHAT_TEXT_VIEW (widget));
-
+
GTK_WIDGET_CLASS (empathy_chat_text_view_parent_class)->size_allocate (widget, alloc);
-
+
if (down) {
GtkAdjustment *adj;
-
+
adj = GTK_TEXT_VIEW (widget)->vadjustment;
gtk_adjustment_set_value (adj, adj->upper - adj->page_size);
}
@@ -502,7 +508,7 @@ chat_text_view_drag_motion (GtkWidget *widget,
{
/* Don't handle drag motion, since we don't want the view to scroll as
* the result of dragging something across it. */
-
+
return FALSE;
}
@@ -550,14 +556,14 @@ chat_text_view_finalize (GObject *object)
{
EmpathyChatTextView *view;
EmpathyChatTextViewPriv *priv;
-
+
view = EMPATHY_CHAT_TEXT_VIEW (object);
priv = GET_PRIV (view);
-
+
DEBUG ("%p", object);
-
+
empathy_conf_notify_remove (empathy_conf_get (), priv->notify_system_fonts_id);
-
+
if (priv->last_contact) {
g_object_unref (priv->last_contact);
}
@@ -568,7 +574,7 @@ chat_text_view_finalize (GObject *object)
g_source_remove (priv->scroll_timeout);
}
g_object_unref (priv->smiley_manager);
-
+
G_OBJECT_CLASS (empathy_chat_text_view_parent_class)->finalize (object);
}
@@ -577,7 +583,7 @@ empathy_chat_text_view_class_init (EmpathyChatTextViewClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
-
+
object_class->finalize = chat_text_view_finalize;
object_class->get_property = chat_text_view_get_property;
object_class->set_property = chat_text_view_set_property;
@@ -610,18 +616,18 @@ empathy_chat_text_view_init (EmpathyChatTextView *view)
EmpathyChatTextViewPriv *priv = G_TYPE_INSTANCE_GET_PRIVATE (view,
EMPATHY_TYPE_CHAT_TEXT_VIEW, EmpathyChatTextViewPriv);
- view->priv = priv;
+ view->priv = priv;
priv->buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
priv->last_timestamp = 0;
priv->allow_scrolling = TRUE;
priv->smiley_manager = empathy_smiley_manager_dup_singleton ();
-
+
g_object_set (view,
"wrap-mode", GTK_WRAP_WORD_CHAR,
"editable", FALSE,
"cursor-visible", FALSE,
NULL);
-
+
priv->notify_system_fonts_id =
empathy_conf_notify_add (empathy_conf_get (),
"/desktop/gnome/interface/document_font_name",
@@ -643,13 +649,13 @@ chat_text_view_scroll_cb (EmpathyChatTextView *view)
EmpathyChatTextViewPriv *priv;
GtkAdjustment *adj;
gdouble max_val;
-
+
priv = GET_PRIV (view);
adj = GTK_TEXT_VIEW (view)->vadjustment;
max_val = adj->upper - adj->page_size;
-
+
g_return_val_if_fail (priv->scroll_time != NULL, FALSE);
-
+
if (g_timer_elapsed (priv->scroll_time, NULL) > MAX_SCROLL_TIME) {
/* time's up. jump to the end and kill the timer */
gtk_adjustment_set_value (adj, max_val);
@@ -658,7 +664,7 @@ chat_text_view_scroll_cb (EmpathyChatTextView *view)
priv->scroll_timeout = 0;
return FALSE;
}
-
+
/* scroll by 1/3rd the remaining distance */
gtk_adjustment_set_value (adj, gtk_adjustment_get_value (adj) + ((max_val - gtk_adjustment_get_value (adj)) / 3));
return TRUE;
@@ -668,9 +674,9 @@ static void
chat_text_view_scroll_down (EmpathyChatView *view)
{
EmpathyChatTextViewPriv *priv = GET_PRIV (view);
-
+
g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view));
-
+
if (!priv->allow_scrolling) {
return;
}
@@ -697,29 +703,29 @@ chat_text_view_append_message (EmpathyChatView *view,
EmpathyChatTextViewPriv *priv = GET_PRIV (text_view);
gboolean bottom;
time_t timestamp;
-
+
g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view));
g_return_if_fail (EMPATHY_IS_MESSAGE (msg));
-
+
if (!empathy_message_get_body (msg)) {
return;
}
-
+
bottom = chat_text_view_is_scrolled_down (text_view);
-
+
chat_text_view_maybe_trim_buffer (EMPATHY_CHAT_TEXT_VIEW (view));
-
+
timestamp = empathy_message_get_timestamp (msg);
chat_text_maybe_append_date_and_time (text_view, timestamp);
if (EMPATHY_CHAT_TEXT_VIEW_GET_CLASS (view)->append_message) {
EMPATHY_CHAT_TEXT_VIEW_GET_CLASS (view)->append_message (text_view,
msg);
}
-
+
if (bottom) {
chat_text_view_scroll_down (view);
}
-
+
if (priv->last_contact) {
g_object_unref (priv->last_contact);
}
@@ -757,7 +763,7 @@ chat_text_view_append_event (EmpathyChatView *view,
if (bottom) {
chat_text_view_scroll_down (view);
}
-
+
if (priv->last_contact) {
g_object_unref (priv->last_contact);
priv->last_contact = NULL;
@@ -770,9 +776,9 @@ chat_text_view_scroll (EmpathyChatView *view,
gboolean allow_scrolling)
{
EmpathyChatTextViewPriv *priv = GET_PRIV (view);
-
+
g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view));
-
+
DEBUG ("Scrolling %s", allow_scrolling ? "enabled" : "disabled");
priv->allow_scrolling = allow_scrolling;
@@ -785,11 +791,11 @@ static gboolean
chat_text_view_get_has_selection (EmpathyChatView *view)
{
GtkTextBuffer *buffer;
-
+
g_return_val_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view), FALSE);
-
+
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
-
+
return gtk_text_buffer_get_has_selection (buffer);
}
@@ -798,18 +804,18 @@ chat_text_view_clear (EmpathyChatView *view)
{
GtkTextBuffer *buffer;
EmpathyChatTextViewPriv *priv;
-
+
g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view));
-
+
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
gtk_text_buffer_set_text (buffer, "", -1);
-
+
/* We set these back to the initial values so we get
* timestamps when clearing the window to know when
* conversations start.
*/
priv = GET_PRIV (view);
-
+
priv->last_timestamp = 0;
}
@@ -825,18 +831,18 @@ chat_text_view_find_previous (EmpathyChatView *view,
GtkTextIter iter_match_end;
gboolean found;
gboolean from_start = FALSE;
-
+
g_return_val_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view), FALSE);
g_return_val_if_fail (search_criteria != NULL, FALSE);
-
+
priv = GET_PRIV (view);
-
+
buffer = priv->buffer;
-
+
if (EMP_STR_EMPTY (search_criteria)) {
if (priv->find_mark_previous) {
gtk_text_buffer_get_start_iter (buffer, &iter_at_mark);
-
+
gtk_text_buffer_move_mark (buffer,
priv->find_mark_previous,
&iter_at_mark);
@@ -850,14 +856,14 @@ chat_text_view_find_previous (EmpathyChatView *view,
&iter_at_mark,
&iter_at_mark);
}
-
+
return FALSE;
}
-
+
if (new_search) {
from_start = TRUE;
}
-
+
if (priv->find_mark_previous) {
gtk_text_buffer_get_iter_at_mark (buffer,
&iter_at_mark,
@@ -866,22 +872,22 @@ chat_text_view_find_previous (EmpathyChatView *view,
gtk_text_buffer_get_end_iter (buffer, &iter_at_mark);
from_start = TRUE;
}
-
+
priv->find_last_direction = FALSE;
-
+
found = empathy_text_iter_backward_search (&iter_at_mark,
search_criteria,
&iter_match_start,
&iter_match_end,
NULL);
-
+
if (!found) {
gboolean result = FALSE;
-
+
if (from_start) {
return result;
}
-
+
/* Here we wrap around. */
if (!new_search && !priv->find_wrapped) {
priv->find_wrapped = TRUE;
@@ -890,10 +896,10 @@ chat_text_view_find_previous (EmpathyChatView *view,
FALSE);
priv->find_wrapped = FALSE;
}
-
+
return result;
}
-
+
/* Set new mark and show on screen */
if (!priv->find_mark_previous) {
priv->find_mark_previous = gtk_text_buffer_create_mark (buffer, NULL,
@@ -904,7 +910,7 @@ chat_text_view_find_previous (EmpathyChatView *view,
priv->find_mark_previous,
&iter_match_start);
}
-
+
if (!priv->find_mark_next) {
priv->find_mark_next = gtk_text_buffer_create_mark (buffer, NULL,
&iter_match_end,
@@ -914,17 +920,17 @@ chat_text_view_find_previous (EmpathyChatView *view,
priv->find_mark_next,
&iter_match_end);
}
-
+
gtk_text_view_scroll_to_mark (GTK_TEXT_VIEW (view),
priv->find_mark_previous,
0.0,
TRUE,
0.5,
0.5);
-
+
gtk_text_buffer_move_mark_by_name (buffer, "selection_bound", &iter_match_start);
gtk_text_buffer_move_mark_by_name (buffer, "insert", &iter_match_end);
-
+
return TRUE;
}
@@ -940,18 +946,18 @@ chat_text_view_find_next (EmpathyChatView *view,
GtkTextIter iter_match_end;
gboolean found;
gboolean from_start = FALSE;
-
+
g_return_val_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view), FALSE);
g_return_val_if_fail (search_criteria != NULL, FALSE);
-
+
priv = GET_PRIV (view);
-
+
buffer = priv->buffer;
-
+
if (EMP_STR_EMPTY (search_criteria)) {
if (priv->find_mark_next) {
gtk_text_buffer_get_start_iter (buffer, &iter_at_mark);
-
+
gtk_text_buffer_move_mark (buffer,
priv->find_mark_next,
&iter_at_mark);
@@ -965,14 +971,14 @@ chat_text_view_find_next (EmpathyChatView *view,
&iter_at_mark,
&iter_at_mark);
}
-
+
return FALSE;
}
-
+
if (new_search) {
from_start = TRUE;
}
-
+
if (priv->find_mark_next) {
gtk_text_buffer_get_iter_at_mark (buffer,
&iter_at_mark,
@@ -981,22 +987,22 @@ chat_text_view_find_next (EmpathyChatView *view,
gtk_text_buffer_get_start_iter (buffer, &iter_at_mark);
from_start = TRUE;
}
-
+
priv->find_last_direction = TRUE;
-
+
found = empathy_text_iter_forward_search (&iter_at_mark,
search_criteria,
&iter_match_start,
&iter_match_end,
NULL);
-
+
if (!found) {
gboolean result = FALSE;
-
+
if (from_start) {
return result;
}
-
+
/* Here we wrap around. */
if (!new_search && !priv->find_wrapped) {
priv->find_wrapped = TRUE;
@@ -1005,10 +1011,10 @@ chat_text_view_find_next (EmpathyChatView *view,
FALSE);
priv->find_wrapped = FALSE;
}
-
+
return result;
}
-
+
/* Set new mark and show on screen */
if (!priv->find_mark_next) {
priv->find_mark_next = gtk_text_buffer_create_mark (buffer, NULL,
@@ -1019,7 +1025,7 @@ chat_text_view_find_next (EmpathyChatView *view,
priv->find_mark_next,
&iter_match_end);
}
-
+
if (!priv->find_mark_previous) {
priv->find_mark_previous = gtk_text_buffer_create_mark (buffer, NULL,
&iter_match_start,
@@ -1029,17 +1035,17 @@ chat_text_view_find_next (EmpathyChatView *view,
priv->find_mark_previous,
&iter_match_start);
}
-
+
gtk_text_view_scroll_to_mark (GTK_TEXT_VIEW (view),
priv->find_mark_next,
0.0,
TRUE,
0.5,
0.5);
-
+
gtk_text_buffer_move_mark_by_name (buffer, "selection_bound", &iter_match_start);
gtk_text_buffer_move_mark_by_name (buffer, "insert", &iter_match_end);
-
+
return TRUE;
}
@@ -1054,15 +1060,15 @@ chat_text_view_find_abilities (EmpathyChatView *view,
GtkTextIter iter_at_mark;
GtkTextIter iter_match_start;
GtkTextIter iter_match_end;
-
+
g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view));
g_return_if_fail (search_criteria != NULL);
g_return_if_fail (can_do_previous != NULL && can_do_next != NULL);
-
+
priv = GET_PRIV (view);
-
+
buffer = priv->buffer;
-
+
if (can_do_previous) {
if (priv->find_mark_previous) {
gtk_text_buffer_get_iter_at_mark (buffer,
@@ -1071,14 +1077,14 @@ chat_text_view_find_abilities (EmpathyChatView *view,
} else {
gtk_text_buffer_get_start_iter (buffer, &iter_at_mark);
}
-
+
*can_do_previous = empathy_text_iter_backward_search (&iter_at_mark,
search_criteria,
&iter_match_start,
&iter_match_end,
NULL);
}
-
+
if (can_do_next) {
if (priv->find_mark_next) {
gtk_text_buffer_get_iter_at_mark (buffer,
@@ -1087,7 +1093,7 @@ chat_text_view_find_abilities (EmpathyChatView *view,
} else {
gtk_text_buffer_get_start_iter (buffer, &iter_at_mark);
}
-
+
*can_do_next = empathy_text_iter_forward_search (&iter_at_mark,
search_criteria,
&iter_match_start,
@@ -1107,37 +1113,37 @@ chat_text_view_highlight (EmpathyChatView *view,
GtkTextIter iter_match_start;
GtkTextIter iter_match_end;
gboolean found;
-
+
g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view));
-
+
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
-
+
gtk_text_buffer_get_start_iter (buffer, &iter);
-
+
gtk_text_buffer_get_bounds (buffer, &iter_start, &iter_end);
gtk_text_buffer_remove_tag_by_name (buffer, EMPATHY_CHAT_TEXT_VIEW_TAG_HIGHLIGHT,
&iter_start,
&iter_end);
-
+
if (EMP_STR_EMPTY (text)) {
return;
}
-
+
while (1) {
found = empathy_text_iter_forward_search (&iter,
text,
&iter_match_start,
&iter_match_end,
NULL);
-
+
if (!found) {
break;
}
-
+
gtk_text_buffer_apply_tag_by_name (buffer, EMPATHY_CHAT_TEXT_VIEW_TAG_HIGHLIGHT,
&iter_match_start,
&iter_match_end);
-
+
iter = iter_match_end;
gtk_text_iter_forward_char (&iter);
}
@@ -1148,12 +1154,12 @@ chat_text_view_copy_clipboard (EmpathyChatView *view)
{
GtkTextBuffer *buffer;
GtkClipboard *clipboard;
-
+
g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view));
-
+
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
-
+
gtk_text_buffer_copy_clipboard (buffer, clipboard);
}
@@ -1177,9 +1183,9 @@ EmpathyContact *
empathy_chat_text_view_get_last_contact (EmpathyChatTextView *view)
{
EmpathyChatTextViewPriv *priv = GET_PRIV (view);
-
+
g_return_val_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view), NULL);
-
+
return priv->last_contact;
}
@@ -1188,7 +1194,7 @@ empathy_chat_text_view_set_only_if_date (EmpathyChatTextView *view,
gboolean only_if_date)
{
EmpathyChatTextViewPriv *priv = GET_PRIV (view);
-
+
g_return_if_fail (EMPATHY_IS_CHAT_TEXT_VIEW (view));
if (only_if_date != priv->only_if_date) {
diff --git a/libempathy-gtk/empathy-chat-view.c b/libempathy-gtk/empathy-chat-view.c
index e0a7905df..ed5740a8e 100644
--- a/libempathy-gtk/empathy-chat-view.c
+++ b/libempathy-gtk/empathy-chat-view.c
@@ -31,21 +31,21 @@ GType
empathy_chat_view_get_type (void)
{
static GType type = 0;
-
+
if (!type) {
static const GTypeInfo type_info = {
sizeof (EmpathyChatViewIface),
chat_view_base_init,
NULL,
};
-
+
type = g_type_register_static (G_TYPE_INTERFACE,
"EmpathyChatView",
&type_info, 0);
-
+
g_type_interface_add_prerequisite (type, GTK_TYPE_WIDGET);
}
-
+
return type;
}
@@ -53,7 +53,7 @@ static void
chat_view_base_init (gpointer klass)
{
static gboolean initialized = FALSE;
-
+
if (!initialized) {
initialized = TRUE;
}
@@ -64,7 +64,7 @@ empathy_chat_view_append_message (EmpathyChatView *view,
EmpathyMessage *msg)
{
g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view));
-
+
if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->append_message) {
EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->append_message (view,
msg);
@@ -76,7 +76,7 @@ empathy_chat_view_append_event (EmpathyChatView *view,
const gchar *str)
{
g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view));
-
+
if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->append_event) {
EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->append_event (view,
str);
@@ -88,7 +88,7 @@ empathy_chat_view_scroll (EmpathyChatView *view,
gboolean allow_scrolling)
{
g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view));
-
+
if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->scroll) {
EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->scroll (view,
allow_scrolling);
@@ -99,7 +99,7 @@ void
empathy_chat_view_scroll_down (EmpathyChatView *view)
{
g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view));
-
+
if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->scroll_down) {
EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->scroll_down (view);
}
@@ -109,7 +109,7 @@ gboolean
empathy_chat_view_get_has_selection (EmpathyChatView *view)
{
g_return_val_if_fail (EMPATHY_IS_CHAT_VIEW (view), FALSE);
-
+
if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->get_has_selection) {
return EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->get_has_selection (view);
}
@@ -120,7 +120,7 @@ void
empathy_chat_view_clear (EmpathyChatView *view)
{
g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view));
-
+
if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->clear) {
EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->clear (view);
}
@@ -132,7 +132,7 @@ empathy_chat_view_find_previous (EmpathyChatView *view,
gboolean new_search)
{
g_return_val_if_fail (EMPATHY_IS_CHAT_VIEW (view), FALSE);
-
+
if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_previous) {
return EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_previous (view,
search_criteria,
@@ -147,7 +147,7 @@ empathy_chat_view_find_next (EmpathyChatView *view,
gboolean new_search)
{
g_return_val_if_fail (EMPATHY_IS_CHAT_VIEW (view), FALSE);
-
+
if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_next) {
return EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_next (view,
search_criteria,
@@ -164,7 +164,7 @@ empathy_chat_view_find_abilities (EmpathyChatView *view,
gboolean *can_do_next)
{
g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view));
-
+
if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_abilities) {
EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_abilities (view,
search_criteria,
@@ -178,7 +178,7 @@ empathy_chat_view_highlight (EmpathyChatView *view,
const gchar *text)
{
g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view));
-
+
if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->highlight) {
EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->highlight (view, text);
}
@@ -188,7 +188,7 @@ void
empathy_chat_view_copy_clipboard (EmpathyChatView *view)
{
g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view));
-
+
if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->copy_clipboard) {
EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->copy_clipboard (view);
}
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c
index f25734a10..1729e5305 100644
--- a/libempathy-gtk/empathy-chat.c
+++ b/libempathy-gtk/empathy-chat.c
@@ -64,11 +64,12 @@
#define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyChat)
typedef struct {
EmpathyTpChat *tp_chat;
- McAccount *account;
+ EmpathyAccount *account;
gchar *id;
gchar *name;
gchar *subject;
EmpathyContact *remote_contact;
+ gboolean show_contacts;
EmpathyLogManager *log_manager;
EmpathyAccountManager *account_manager;
@@ -107,6 +108,7 @@ enum {
PROP_NAME,
PROP_SUBJECT,
PROP_REMOTE_CONTACT,
+ PROP_SHOW_CONTACTS,
};
static guint signals[LAST_SIGNAL] = { 0 };
@@ -141,6 +143,9 @@ chat_get_property (GObject *object,
case PROP_REMOTE_CONTACT:
g_value_set_object (value, priv->remote_contact);
break;
+ case PROP_SHOW_CONTACTS:
+ g_value_set_boolean (value, priv->show_contacts);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
break;
@@ -159,6 +164,9 @@ chat_set_property (GObject *object,
case PROP_TP_CHAT:
empathy_chat_set_tp_chat (chat, EMPATHY_TP_CHAT (g_value_get_object (value)));
break;
+ case PROP_SHOW_CONTACTS:
+ empathy_chat_set_show_contacts (chat, g_value_get_boolean (value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
break;
@@ -193,13 +201,13 @@ chat_new_connection_cb (EmpathyAccountManager *manager,
EmpathyChat *chat)
{
EmpathyChatPriv *priv = GET_PRIV (chat);
- McAccount *account;
+ EmpathyAccount *account;
account = empathy_account_manager_get_account (manager, connection);
if (!priv->tp_chat && empathy_account_equal (account, priv->account) &&
priv->handle_type != TP_HANDLE_TYPE_NONE &&
!EMP_STR_EMPTY (priv->id)) {
-
+
DEBUG ("Account reconnected, request a new Text channel");
switch (priv->handle_type) {
@@ -294,7 +302,7 @@ chat_sent_message_add (EmpathyChat *chat,
/* Save the sent message in our repeat buffer */
list = priv->sent_messages;
-
+
/* Remove any other occurances of this msg */
while ((item = g_slist_find_custom (list, str, (GCompareFunc) strcmp)) != NULL) {
list = g_slist_remove_link (list, item);
@@ -325,7 +333,7 @@ chat_sent_message_get_next (EmpathyChat *chat)
{
EmpathyChatPriv *priv;
gint max;
-
+
priv = GET_PRIV (chat);
if (!priv->sent_messages) {
@@ -338,7 +346,7 @@ chat_sent_message_get_next (EmpathyChat *chat)
if (priv->sent_messages_index < max) {
priv->sent_messages_index++;
}
-
+
DEBUG ("Returning next message index:%d", priv->sent_messages_index);
return g_slist_nth_data (priv->sent_messages, priv->sent_messages_index);
@@ -352,7 +360,7 @@ chat_sent_message_get_last (EmpathyChat *chat)
g_return_val_if_fail (EMPATHY_IS_CHAT (chat), NULL);
priv = GET_PRIV (chat);
-
+
if (!priv->sent_messages) {
DEBUG ("No sent messages, last message is NULL");
return NULL;
@@ -1239,15 +1247,18 @@ chat_reset_size_request (gpointer widget)
}
static void
-chat_set_show_contacts (EmpathyChat *chat, gboolean show)
+chat_update_contacts_visibility (EmpathyChat *chat)
{
EmpathyChatPriv *priv = GET_PRIV (chat);
+ gboolean show;
+
+ show = priv->remote_contact == NULL && priv->show_contacts;
if (!priv->scrolled_window_contacts) {
return;
}
- if (show) {
+ if (show && priv->contact_list_view == NULL) {
EmpathyContactListStore *store;
gint min_width;
@@ -1278,34 +1289,47 @@ chat_set_show_contacts (EmpathyChat *chat, gboolean show)
gtk_widget_show (priv->contact_list_view);
gtk_widget_show (priv->scrolled_window_contacts);
g_object_unref (store);
- } else {
+ } else if (!show) {
priv->contacts_width = gtk_paned_get_position (GTK_PANED (priv->hpaned));
gtk_widget_hide (priv->scrolled_window_contacts);
- if (priv->contact_list_view) {
+ if (priv->contact_list_view != NULL) {
gtk_widget_destroy (priv->contact_list_view);
priv->contact_list_view = NULL;
}
}
}
+void
+empathy_chat_set_show_contacts (EmpathyChat *chat,
+ gboolean show)
+{
+ EmpathyChatPriv *priv = GET_PRIV (chat);
+
+ priv->show_contacts = show;
+
+ chat_update_contacts_visibility (chat);
+
+ g_object_notify (G_OBJECT (chat), "show-contacts");
+}
+
static void
chat_remote_contact_changed_cb (EmpathyChat *chat)
{
EmpathyChatPriv *priv = GET_PRIV (chat);
- if (priv->remote_contact) {
+ if (priv->remote_contact != NULL) {
g_object_unref (priv->remote_contact);
priv->remote_contact = NULL;
}
priv->remote_contact = empathy_tp_chat_get_remote_contact (priv->tp_chat);
- if (priv->remote_contact) {
+ if (priv->remote_contact != NULL) {
g_object_ref (priv->remote_contact);
priv->handle_type = TP_HANDLE_TYPE_CONTACT;
g_free (priv->id);
priv->id = g_strdup (empathy_contact_get_id (priv->remote_contact));
}
- else if (priv->tp_chat) {
+ else if (priv->tp_chat != NULL) {
TpChannel *channel;
channel = empathy_tp_chat_get_channel (priv->tp_chat);
@@ -1314,7 +1338,7 @@ chat_remote_contact_changed_cb (EmpathyChat *chat)
priv->id = g_strdup (empathy_tp_chat_get_id (priv->tp_chat));
}
- chat_set_show_contacts (chat, priv->remote_contact == NULL);
+ chat_update_contacts_visibility (chat);
g_object_notify (G_OBJECT (chat), "remote-contact");
g_object_notify (G_OBJECT (chat), "id");
@@ -1339,7 +1363,7 @@ chat_destroy_cb (EmpathyTpChat *tp_chat,
empathy_chat_view_append_event (chat->view, _("Disconnected"));
gtk_widget_set_sensitive (chat->input_text_view, FALSE);
- chat_set_show_contacts (chat, FALSE);
+ empathy_chat_set_show_contacts (chat, FALSE);
}
static void
@@ -1424,7 +1448,7 @@ chat_create_ui (EmpathyChat *chat)
gtk_widget_show (chat->input_text_view);
/* Create contact list */
- chat_set_show_contacts (chat, priv->remote_contact == NULL);
+ chat_update_contacts_visibility (chat);
/* Initialy hide the topic, will be shown if not empty */
gtk_widget_hide (priv->hbox_topic);
@@ -1582,42 +1606,56 @@ empathy_chat_class_init (EmpathyChatClass *klass)
"The tp chat object",
EMPATHY_TYPE_TP_CHAT,
G_PARAM_CONSTRUCT |
- G_PARAM_READWRITE));
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_STRINGS));
g_object_class_install_property (object_class,
PROP_ACCOUNT,
g_param_spec_object ("account",
"Account of the chat",
"The account of the chat",
- MC_TYPE_ACCOUNT,
- G_PARAM_READABLE));
+ EMPATHY_TYPE_ACCOUNT,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS));
g_object_class_install_property (object_class,
PROP_ID,
g_param_spec_string ("id",
"Chat's id",
"The id of the chat",
NULL,
- G_PARAM_READABLE));
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS));
g_object_class_install_property (object_class,
PROP_NAME,
g_param_spec_string ("name",
"Chat's name",
"The name of the chat",
NULL,
- G_PARAM_READABLE));
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS));
g_object_class_install_property (object_class,
PROP_SUBJECT,
g_param_spec_string ("subject",
"Chat's subject",
"The subject or topic of the chat",
NULL,
- G_PARAM_READABLE));
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS));
g_object_class_install_property (object_class,
PROP_REMOTE_CONTACT,
g_param_spec_object ("remote-contact",
"The remote contact",
"The remote contact is any",
EMPATHY_TYPE_CONTACT,
- G_PARAM_READABLE));
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (object_class,
+ PROP_SHOW_CONTACTS,
+ g_param_spec_boolean ("show-contacts",
+ "Contacts' visibility",
+ "The visibility of the contacts' list",
+ TRUE,
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_STRINGS));
signals[COMPOSING] =
g_signal_new ("composing",
@@ -1670,6 +1708,10 @@ empathy_chat_init (EmpathyChat *chat)
G_CALLBACK (chat_new_connection_cb),
chat);
+ empathy_conf_get_bool (empathy_conf_get (),
+ EMPATHY_PREFS_CHAT_SHOW_CONTACTS_IN_ROOMS,
+ &priv->show_contacts);
+
/* Block events for some time to avoid having "has come online" or
* "joined" messages. */
priv->block_events_timeout_id =
@@ -1762,7 +1804,7 @@ empathy_chat_set_tp_chat (EmpathyChat *chat,
show_pending_messages (chat);
}
-McAccount *
+EmpathyAccount *
empathy_chat_get_account (EmpathyChat *chat)
{
EmpathyChatPriv *priv = GET_PRIV (chat);
diff --git a/libempathy-gtk/empathy-chat.h b/libempathy-gtk/empathy-chat.h
index 12fac9617..c7158759a 100644
--- a/libempathy-gtk/empathy-chat.h
+++ b/libempathy-gtk/empathy-chat.h
@@ -66,7 +66,7 @@ EmpathyChat * empathy_chat_new (EmpathyTpChat *tp_chat);
EmpathyTpChat * empathy_chat_get_tp_chat (EmpathyChat *chat);
void empathy_chat_set_tp_chat (EmpathyChat *chat,
EmpathyTpChat *tp_chat);
-McAccount * empathy_chat_get_account (EmpathyChat *chat);
+EmpathyAccount * empathy_chat_get_account (EmpathyChat *chat);
const gchar * empathy_chat_get_id (EmpathyChat *chat);
const gchar * empathy_chat_get_name (EmpathyChat *chat);
const gchar * empathy_chat_get_subject (EmpathyChat *chat);
@@ -82,6 +82,8 @@ void empathy_chat_correct_word (EmpathyChat *chat,
GtkTextIter *end,
const gchar *new_word);
gboolean empathy_chat_is_room (EmpathyChat *chat);
+void empathy_chat_set_show_contacts (EmpathyChat *chat,
+ gboolean show);
G_END_DECLS
#endif /* __EMPATHY_CHAT_H__ */
diff --git a/libempathy-gtk/empathy-conf.h b/libempathy-gtk/empathy-conf.h
index 47949139e..937a4bf9c 100644
--- a/libempathy-gtk/empathy-conf.h
+++ b/libempathy-gtk/empathy-conf.h
@@ -48,6 +48,8 @@ struct _EmpathyConfClass {
#define EMPATHY_PREFS_NOTIFICATIONS_ENABLED EMPATHY_PREFS_PATH "/notifications/notifications_enabled"
#define EMPATHY_PREFS_NOTIFICATIONS_DISABLED_AWAY EMPATHY_PREFS_PATH "/notifications/notifications_disabled_away"
#define EMPATHY_PREFS_NOTIFICATIONS_FOCUS EMPATHY_PREFS_PATH "/notifications/notifications_focus"
+#define EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNIN EMPATHY_PREFS_PATH "/notifications/notifications_contact_signin"
+#define EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNOUT EMPATHY_PREFS_PATH "/notifications/notifications_contact_signout"
#define EMPATHY_PREFS_SOUNDS_ENABLED EMPATHY_PREFS_PATH "/sounds/sounds_enabled"
#define EMPATHY_PREFS_SOUNDS_DISABLED_AWAY EMPATHY_PREFS_PATH "/sounds/sounds_disabled_away"
#define EMPATHY_PREFS_SOUNDS_INCOMING_MESSAGE EMPATHY_PREFS_PATH "/sounds/sounds_incoming_message"
@@ -59,6 +61,7 @@ struct _EmpathyConfClass {
#define EMPATHY_PREFS_SOUNDS_CONTACT_LOGOUT EMPATHY_PREFS_PATH "/sounds/sounds_contact_logout"
#define EMPATHY_PREFS_POPUPS_WHEN_AVAILABLE EMPATHY_PREFS_PATH "/notifications/popups_when_available"
#define EMPATHY_PREFS_CHAT_SHOW_SMILEYS EMPATHY_PREFS_PATH "/conversation/graphical_smileys"
+#define EMPATHY_PREFS_CHAT_SHOW_CONTACTS_IN_ROOMS EMPATHY_PREFS_PATH "/conversation/show_contacts_in_rooms"
#define EMPATHY_PREFS_CHAT_THEME EMPATHY_PREFS_PATH "/conversation/theme"
#define EMPATHY_PREFS_CHAT_ADIUM_PATH EMPATHY_PREFS_PATH "/conversation/adium_path"
#define EMPATHY_PREFS_CHAT_SPELL_CHECKER_LANGUAGES EMPATHY_PREFS_PATH "/conversation/spell_checker_languages"
diff --git a/libempathy-gtk/empathy-contact-dialogs.c b/libempathy-gtk/empathy-contact-dialogs.c
index 307b0fbb3..c1cca3e2b 100644
--- a/libempathy-gtk/empathy-contact-dialogs.c
+++ b/libempathy-gtk/empathy-contact-dialogs.c
@@ -328,26 +328,18 @@ empathy_contact_personal_dialog_show (GtkWindow *parent)
*/
static gboolean
-can_add_contact_to_account (McAccount *account,
+can_add_contact_to_account (EmpathyAccount *account,
gpointer user_data)
{
- EmpathyAccountManager *account_manager;
EmpathyContactManager *contact_manager;
TpConnection *connection;
gboolean result;
- account_manager = empathy_account_manager_dup_singleton ();
- connection = empathy_account_manager_get_connection (account_manager,
- account);
- if (!connection) {
- g_object_unref (account_manager);
- return FALSE;
- }
+ connection = empathy_account_get_connection (account);
contact_manager = empathy_contact_manager_dup_singleton ();
result = empathy_contact_manager_can_add (contact_manager, connection);
g_object_unref (contact_manager);
- g_object_unref (account_manager);
return result;
}
@@ -398,7 +390,7 @@ empathy_new_contact_dialog_show (GtkWindow *parent)
button,
GTK_RESPONSE_CANCEL);
gtk_widget_show (button);
-
+
/* Add button */
button = gtk_button_new_with_label (GTK_STOCK_ADD);
gtk_button_set_use_stock (GTK_BUTTON (button), TRUE);
diff --git a/libempathy-gtk/empathy-contact-list-store.c b/libempathy-gtk/empathy-contact-list-store.c
index 261b2cc60..0e9372be1 100644
--- a/libempathy-gtk/empathy-contact-list-store.c
+++ b/libempathy-gtk/empathy-contact-list-store.c
@@ -601,7 +601,7 @@ empathy_contact_list_store_set_sort_criterium (EmpathyContactListStore *stor
EMPATHY_CONTACT_LIST_STORE_COL_STATUS,
GTK_SORT_ASCENDING);
break;
-
+
case EMPATHY_CONTACT_LIST_STORE_SORT_NAME:
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store),
EMPATHY_CONTACT_LIST_STORE_COL_NAME,
@@ -738,7 +738,7 @@ contact_list_store_setup (EmpathyContactListStore *store)
G_TYPE_BOOLEAN, /* Is separator */
G_TYPE_BOOLEAN, /* Can make audio calls */
G_TYPE_BOOLEAN}; /* Can make video calls */
-
+
priv = GET_PRIV (store);
gtk_tree_store_set_column_types (GTK_TREE_STORE (store),
@@ -853,7 +853,7 @@ contact_list_store_add_contact (EmpathyContactListStore *store,
GList *groups = NULL, *l;
priv = GET_PRIV (store);
-
+
if (EMP_STR_EMPTY (empathy_contact_get_name (contact)) ||
(!priv->show_offline && !empathy_contact_is_online (contact))) {
return;
@@ -922,7 +922,7 @@ contact_list_store_remove_contact (EmpathyContactListStore *store,
if (!iters) {
return;
}
-
+
/* Clean up model */
model = GTK_TREE_MODEL (store);
@@ -1156,7 +1156,7 @@ contact_list_store_contact_active_new (EmpathyContactListStore *store,
DEBUG ("Contact:'%s' now active, and %s be removed",
empathy_contact_get_name (contact),
remove ? "WILL" : "WILL NOT");
-
+
data = g_slice_new0 (ShowActiveData);
data->store = g_object_ref (store);
diff --git a/libempathy-gtk/empathy-contact-list-view.c b/libempathy-gtk/empathy-contact-list-view.c
index c106653b1..f7b506e7c 100644
--- a/libempathy-gtk/empathy-contact-list-view.c
+++ b/libempathy-gtk/empathy-contact-list-view.c
@@ -32,7 +32,6 @@
#include <gtk/gtk.h>
#include <telepathy-glib/util.h>
-#include <libmissioncontrol/mc-account.h>
#include <libempathy/empathy-account-manager.h>
#include <libempathy/empathy-call-factory.h>
@@ -121,7 +120,7 @@ contact_list_view_tooltip_destroy_cb (GtkWidget *widget,
EmpathyContactListView *view)
{
EmpathyContactListViewPriv *priv = GET_PRIV (view);
-
+
if (priv->tooltip_widget) {
DEBUG ("Tooltip destroyed");
g_object_unref (priv->tooltip_widget);
@@ -230,7 +229,7 @@ contact_list_view_drag_got_contact (EmpathyTpContactFactory *factory,
if (data->new_group) {
empathy_contact_list_add_to_group (list, contact, data->new_group);
}
- if (data->old_group && data->action == GDK_ACTION_MOVE) {
+ if (data->old_group && data->action == GDK_ACTION_MOVE) {
empathy_contact_list_remove_from_group (list, contact, data->old_group);
}
}
@@ -247,7 +246,7 @@ contact_list_view_drag_data_received (GtkWidget *view,
EmpathyContactListViewPriv *priv;
EmpathyAccountManager *account_manager;
EmpathyTpContactFactory *factory = NULL;
- McAccount *account;
+ EmpathyAccount *account;
GtkTreeModel *model;
GtkTreeViewDropPosition position;
GtkTreePath *path;
@@ -302,19 +301,17 @@ contact_list_view_drag_data_received (GtkWidget *view,
strv = g_strsplit (id, "/", 2);
account_id = strv[0];
contact_id = strv[1];
- account = mc_account_lookup (account_id);
+ account_manager = empathy_account_manager_dup_singleton ();
+ account = empathy_account_manager_lookup (account_manager, account_id);
if (account) {
TpConnection *connection;
- /* FIXME: We assume we have already an account manager */
- account_manager = empathy_account_manager_dup_singleton ();
- connection = empathy_account_manager_get_connection (account_manager,
- account);
+ connection = empathy_account_get_connection (account);
if (connection) {
factory = empathy_tp_contact_factory_dup_singleton (connection);
}
- g_object_unref (account_manager);
}
+ g_object_unref (account_manager);
if (!factory) {
DEBUG ("Failed to get factory for account '%s'", account_id);
@@ -451,7 +448,7 @@ contact_list_view_drag_data_get (GtkWidget *widget,
GtkTreeIter iter;
GtkTreeModel *model;
EmpathyContact *contact;
- McAccount *account;
+ EmpathyAccount *account;
const gchar *contact_id;
const gchar *account_id;
gchar *str;
@@ -481,7 +478,7 @@ contact_list_view_drag_data_get (GtkWidget *widget,
}
account = empathy_contact_get_account (contact);
- account_id = mc_account_get_unique_name (account);
+ account_id = empathy_account_get_unique_name (account);
contact_id = empathy_contact_get_id (contact);
g_object_unref (contact);
str = g_strconcat (account_id, "/", contact_id, NULL);
@@ -1272,7 +1269,7 @@ empathy_contact_list_view_new (EmpathyContactListStore *store,
EmpathyContactFeatureFlags contact_features)
{
g_return_val_if_fail (EMPATHY_IS_CONTACT_LIST_STORE (store), NULL);
-
+
return g_object_new (EMPATHY_TYPE_CONTACT_LIST_VIEW,
"store", store,
"contact-features", contact_features,
@@ -1344,7 +1341,7 @@ contact_list_view_remove_dialog_show (GtkWindow *parent,
{
GtkWidget *dialog;
gboolean res;
-
+
dialog = gtk_message_dialog_new (parent, GTK_DIALOG_MODAL,
GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE,
"%s", message);
@@ -1446,7 +1443,7 @@ contact_list_view_remove_activate_cb (GtkMenuItem *menuitem,
{
EmpathyContactListViewPriv *priv = GET_PRIV (view);
EmpathyContact *contact;
-
+
contact = empathy_contact_list_view_dup_selected (view);
if (contact) {
@@ -1455,7 +1452,7 @@ contact_list_view_remove_activate_cb (GtkMenuItem *menuitem,
parent = empathy_get_toplevel_window (GTK_WIDGET (view));
text = g_strdup_printf (_("Do you really want to remove the contact '%s'?"),
- empathy_contact_get_name (contact));
+ empathy_contact_get_name (contact));
if (contact_list_view_remove_dialog_show (parent, _("Removing contact"), text)) {
EmpathyContactList *list;
diff --git a/libempathy-gtk/empathy-contact-menu.c b/libempathy-gtk/empathy-contact-menu.c
index fdd9c34a1..2bad5c9fe 100644
--- a/libempathy-gtk/empathy-contact-menu.c
+++ b/libempathy-gtk/empathy-contact-menu.c
@@ -141,7 +141,7 @@ empathy_contact_chat_menu_item_new (EmpathyContact *contact)
g_signal_connect (item, "activate",
G_CALLBACK (empathy_contact_chat_menu_item_activated),
contact);
-
+
return item;
}
@@ -244,7 +244,7 @@ empathy_contact_log_menu_item_new (EmpathyContact *contact)
g_signal_connect_swapped (item, "activate",
G_CALLBACK (contact_log_menu_item_activate_cb),
contact);
-
+
return item;
}
@@ -293,7 +293,7 @@ empathy_contact_info_menu_item_new (EmpathyContact *contact)
g_signal_connect_swapped (item, "activate",
G_CALLBACK (contact_info_menu_item_activate_cb),
contact);
-
+
return item;
}
@@ -320,7 +320,7 @@ empathy_contact_edit_menu_item_new (EmpathyContact *contact)
g_signal_connect_swapped (item, "activate",
G_CALLBACK (contact_edit_menu_item_activate_cb),
contact);
-
+
return item;
}
diff --git a/libempathy-gtk/empathy-contact-widget.c b/libempathy-gtk/empathy-contact-widget.c
index 12a139303..7e80d0d65 100644
--- a/libempathy-gtk/empathy-contact-widget.c
+++ b/libempathy-gtk/empathy-contact-widget.c
@@ -32,7 +32,6 @@
#include <champlain-gtk/champlain-gtk.h>
#endif
-#include <libmissioncontrol/mc-account.h>
#include <telepathy-glib/util.h>
#include <libempathy/empathy-tp-contact-factory.h>
@@ -41,6 +40,7 @@
#include <libempathy/empathy-location.h>
#include <libempathy/empathy-time.h>
#include <libempathy/empathy-utils.h>
+#include <libempathy/empathy-account.h>
#include "empathy-contact-widget.h"
#include "empathy-account-chooser.h"
@@ -697,7 +697,7 @@ contact_widget_contact_setup (EmpathyContactWidget *information)
static void
contact_widget_contact_update (EmpathyContactWidget *information)
{
- McAccount *account = NULL;
+ EmpathyAccount *account = NULL;
const gchar *id = NULL;
/* Connect and get info from new contact */
@@ -737,7 +737,7 @@ contact_widget_contact_update (EmpathyContactWidget *information)
{
const gchar *name;
- name = mc_account_get_display_name (account);
+ name = empathy_account_get_display_name (account);
gtk_label_set_label (GTK_LABEL (information->widget_account), name);
}
}
diff --git a/libempathy-gtk/empathy-irc-network-dialog.c b/libempathy-gtk/empathy-irc-network-dialog.c
index 63222badc..e6b4a6f7f 100644
--- a/libempathy-gtk/empathy-irc-network-dialog.c
+++ b/libempathy-gtk/empathy-irc-network-dialog.c
@@ -27,10 +27,10 @@
#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
-#include <libmissioncontrol/mc-account.h>
#include <libmissioncontrol/mc-protocol.h>
#include <libempathy/empathy-utils.h>
+#include <libempathy/empathy-account.h>
#include <libempathy/empathy-irc-network-manager.h>
#include "empathy-ui-utils.h"
diff --git a/libempathy-gtk/empathy-log-window.c b/libempathy-gtk/empathy-log-window.c
index dc2efa332..f05017c9c 100644
--- a/libempathy-gtk/empathy-log-window.c
+++ b/libempathy-gtk/empathy-log-window.c
@@ -31,6 +31,7 @@
#include <gtk/gtk.h>
#include <libempathy/empathy-log-manager.h>
+#include <libempathy/empathy-account-manager.h>
#include <libempathy/empathy-chatroom-manager.h>
#include <libempathy/empathy-chatroom.h>
#include <libempathy/empathy-message.h>
@@ -94,11 +95,11 @@ static void log_window_chats_setup (EmpathyLogWindow *wi
static void log_window_chats_accounts_changed_cb (GtkWidget *combobox,
EmpathyLogWindow *window);
static void log_window_chats_set_selected (EmpathyLogWindow *window,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean is_chatroom);
static gboolean log_window_chats_get_selected (EmpathyLogWindow *window,
- McAccount **account,
+ EmpathyAccount **account,
gchar **chat_id,
gboolean *is_chatroom);
static void log_window_chats_get_messages (EmpathyLogWindow *window,
@@ -134,14 +135,14 @@ enum {
};
GtkWidget *
-empathy_log_window_show (McAccount *account,
+empathy_log_window_show (EmpathyAccount *account,
const gchar *chat_id,
gboolean is_chatroom,
GtkWindow *parent)
{
static EmpathyLogWindow *window = NULL;
EmpathyAccountChooser *account_chooser;
- GList *accounts;
+ EmpathyAccountManager *account_manager;
gint account_num;
GtkBuilder *gui;
gchar *filename;
@@ -228,9 +229,9 @@ empathy_log_window_show (McAccount *account,
window);
/* Populate */
- accounts = mc_accounts_list ();
- account_num = g_list_length (accounts);
- mc_accounts_list_free (accounts);
+ account_manager = empathy_account_manager_dup_singleton ();
+ account_num = empathy_account_manager_get_count (account_manager);
+ g_object_unref (account_manager);
if (account_num > 1) {
gtk_widget_show (window->vbox_chats);
@@ -301,7 +302,7 @@ log_window_find_changed_cb (GtkTreeSelection *selection,
GtkTreeView *view;
GtkTreeModel *model;
GtkTreeIter iter;
- McAccount *account;
+ EmpathyAccount *account;
gchar *chat_id;
gboolean is_chatroom;
gchar *date;
@@ -320,7 +321,7 @@ log_window_find_changed_cb (GtkTreeSelection *selection,
gtk_widget_set_sensitive (window->button_next, FALSE);
empathy_chat_view_clear (window->chatview_find);
-
+
return;
}
@@ -417,7 +418,7 @@ log_window_find_populate (EmpathyLogWindow *window,
}
date_readable = empathy_log_manager_get_date_readable (hit->date);
- account_name = mc_account_get_display_name (hit->account);
+ account_name = empathy_account_get_display_name (hit->account);
account_icon = empathy_icon_name_from_account (hit->account);
gtk_list_store_append (store, &iter);
@@ -464,7 +465,7 @@ log_window_find_setup (EmpathyLogWindow *window)
store = gtk_list_store_new (COL_FIND_COUNT,
G_TYPE_STRING, /* account icon name */
G_TYPE_STRING, /* account name */
- MC_TYPE_ACCOUNT, /* account */
+ EMPATHY_TYPE_ACCOUNT, /* account */
G_TYPE_STRING, /* chat name */
G_TYPE_STRING, /* chat id */
G_TYPE_BOOLEAN, /* is chatroom */
@@ -608,7 +609,7 @@ static void
log_window_chats_populate (EmpathyLogWindow *window)
{
EmpathyAccountChooser *account_chooser;
- McAccount *account;
+ EmpathyAccount *account;
GList *chats, *l;
GtkTreeView *view;
@@ -646,7 +647,7 @@ log_window_chats_populate (EmpathyLogWindow *window)
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
COL_CHAT_ICON, "empathy-available", /* FIXME */
- COL_CHAT_NAME, hit->chat_id,
+ COL_CHAT_NAME, hit->chat_id,
COL_CHAT_ACCOUNT, account,
COL_CHAT_ID, hit->chat_id,
COL_CHAT_IS_CHATROOM, hit->is_chatroom,
@@ -684,11 +685,11 @@ log_window_chats_setup (EmpathyLogWindow *window)
/* new store */
store = gtk_list_store_new (COL_CHAT_COUNT,
- G_TYPE_STRING, /* icon */
- G_TYPE_STRING, /* name */
- MC_TYPE_ACCOUNT, /* account */
- G_TYPE_STRING, /* id */
- G_TYPE_BOOLEAN); /* is chatroom */
+ G_TYPE_STRING, /* icon */
+ G_TYPE_STRING, /* name */
+ EMPATHY_TYPE_ACCOUNT, /* account */
+ G_TYPE_STRING, /* id */
+ G_TYPE_BOOLEAN); /* is chatroom */
model = GTK_TREE_MODEL (store);
sortable = GTK_TREE_SORTABLE (store);
@@ -739,7 +740,7 @@ log_window_chats_accounts_changed_cb (GtkWidget *combobox,
static void
log_window_chats_set_selected (EmpathyLogWindow *window,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean is_chatroom)
{
@@ -763,7 +764,7 @@ log_window_chats_set_selected (EmpathyLogWindow *window,
}
for (ok = TRUE; ok; ok = gtk_tree_model_iter_next (model, &iter)) {
- McAccount *this_account;
+ EmpathyAccount *this_account;
gchar *this_chat_id;
gboolean this_is_chatroom;
@@ -792,7 +793,7 @@ log_window_chats_set_selected (EmpathyLogWindow *window,
static gboolean
log_window_chats_get_selected (EmpathyLogWindow *window,
- McAccount **account,
+ EmpathyAccount **account,
gchar **chat_id,
gboolean *is_chatroom)
{
@@ -801,7 +802,7 @@ log_window_chats_get_selected (EmpathyLogWindow *window,
GtkTreeSelection *selection;
GtkTreeIter iter;
gchar *id = NULL;
- McAccount *acc = NULL;
+ EmpathyAccount *acc = NULL;
gboolean room = FALSE;
view = GTK_TREE_VIEW (window->treeview_chats);
@@ -839,7 +840,7 @@ static void
log_window_chats_get_messages (EmpathyLogWindow *window,
const gchar *date_to_show)
{
- McAccount *account;
+ EmpathyAccount *account;
gchar *chat_id;
gboolean is_chatroom;
EmpathyMessage *message;
@@ -999,7 +1000,7 @@ static void
log_window_calendar_chats_month_changed_cb (GtkWidget *calendar,
EmpathyLogWindow *window)
{
- McAccount *account;
+ EmpathyAccount *account;
gchar *chat_id;
gboolean is_chatroom;
guint year_selected;
diff --git a/libempathy-gtk/empathy-log-window.h b/libempathy-gtk/empathy-log-window.h
index 6dd8c0303..298d96099 100644
--- a/libempathy-gtk/empathy-log-window.h
+++ b/libempathy-gtk/empathy-log-window.h
@@ -25,11 +25,11 @@
#ifndef __EMPATHY_LOG_WINDOW_H__
#define __EMPATHY_LOG_WINDOW_H__
-#include <libmissioncontrol/mc-account.h>
+#include <libempathy/empathy-account.h>
G_BEGIN_DECLS
-GtkWidget * empathy_log_window_show (McAccount *account,
+GtkWidget * empathy_log_window_show (EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom,
GtkWindow *parent);
diff --git a/libempathy-gtk/empathy-new-message-dialog.c b/libempathy-gtk/empathy-new-message-dialog.c
index 512cd1ba3..77b368bd9 100644
--- a/libempathy-gtk/empathy-new-message-dialog.c
+++ b/libempathy-gtk/empathy-new-message-dialog.c
@@ -27,7 +27,6 @@
#include <gtk/gtk.h>
#include <glib/gi18n-lib.h>
-#include <libmissioncontrol/mc-account.h>
#include <libmissioncontrol/mission-control.h>
#include <libempathy/empathy-call-factory.h>
@@ -35,6 +34,7 @@
#include <libempathy/empathy-contact-manager.h>
#include <libempathy/empathy-dispatcher.h>
#include <libempathy/empathy-utils.h>
+#include <libempathy/empathy-account.h>
#define DEBUG_FLAG EMPATHY_DEBUG_CONTACT
#include <libempathy/empathy-debug.h>
@@ -239,7 +239,7 @@ new_message_change_state_button_cb (GtkEditable *editable,
id = gtk_entry_get_text (GTK_ENTRY (editable));
sensitive = !EMP_STR_EMPTY (id);
-
+
gtk_widget_set_sensitive (dialog->button_chat, sensitive);
gtk_widget_set_sensitive (dialog->button_call, sensitive);
}
diff --git a/libempathy-gtk/empathy-plist.c b/libempathy-gtk/empathy-plist.c
new file mode 100644
index 000000000..4cc392bec
--- /dev/null
+++ b/libempathy-gtk/empathy-plist.c
@@ -0,0 +1,336 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Copyright (C) 2008 Christophe Fergeau <teuf@gnome.org>
+ * Based on itdb_plist parser from the gtkpod project.
+ *
+ * The code contained in this file is free software; you can redistribute
+ * it and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either version
+ * 2.1 of the License, or (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this code; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+
+#include <string.h>
+#include <libxml/parser.h>
+#include <libxml/tree.h>
+#include <telepathy-glib/util.h>
+#include <telepathy-glib/dbus.h>
+
+#include "empathy-plist.h"
+
+static GValue *empathy_plist_parse_node (xmlNode *a_node);
+
+static GValue *
+empathy_plist_parse_integer (xmlNode *a_node)
+{
+ char *str_val;
+ char *end_ptr;
+ gint int_val;
+
+ str_val = (char *) xmlNodeGetContent (a_node);
+ int_val = strtol (str_val, &end_ptr, 0);
+ if (*end_ptr != '\0') {
+ xmlFree (str_val);
+ return NULL;
+ }
+ xmlFree (str_val);
+
+ return tp_g_value_slice_new_int (int_val);
+}
+
+static GValue *
+empathy_plist_parse_string (xmlNode *a_node)
+{
+ char *str_val;
+ GValue *value;
+
+ str_val = (char *) xmlNodeGetContent (a_node);
+
+ value = tp_g_value_slice_new_string (str_val);
+
+ xmlFree (str_val);
+
+ return value;
+}
+
+static GValue *
+empathy_plist_parse_real (xmlNode *a_node)
+{
+ char *str_val;
+ char *end_ptr;
+ gdouble double_val;
+
+ str_val = (char *) xmlNodeGetContent (a_node);
+ double_val = g_ascii_strtod (str_val, &end_ptr);
+ if (*end_ptr != '\0') {
+ xmlFree (str_val);
+ return NULL;
+ }
+ xmlFree (str_val);
+
+ return tp_g_value_slice_new_double (double_val);
+}
+
+static GValue *
+empathy_plist_parse_boolean (xmlNode *a_node)
+{
+ gboolean bool_val;
+
+ if (strcmp ((char *) a_node->name, "true") == 0) {
+ bool_val = TRUE;
+ } else if (strcmp ((char *) a_node->name, "false") == 0) {
+ bool_val = FALSE;
+ } else {
+ return NULL;
+ }
+
+ return tp_g_value_slice_new_boolean (bool_val);
+}
+
+static GValue *
+empathy_plist_parse_data (xmlNode *a_node)
+{
+ char *str_val;
+ guchar *raw_data;
+ gsize len;
+ GValue *value;
+
+ str_val = (char *) xmlNodeGetContent (a_node);
+ raw_data = g_base64_decode (str_val, &len);
+ xmlFree (str_val);
+
+ value = tp_g_value_slice_new_bytes (len, raw_data);
+
+ g_free (raw_data);
+
+ return value;
+}
+
+static xmlNode *
+empathy_plist_parse_one_dict_entry (xmlNode *a_node, GHashTable *dict)
+{
+ xmlNode *cur_node = a_node;
+ xmlChar *key_name;
+ GValue *value;
+
+ while (cur_node &&
+ (xmlStrcmp (cur_node->name, (xmlChar *) "key") != 0)) {
+ cur_node = cur_node->next;
+ }
+ if (!cur_node) {
+ return NULL;
+ }
+ key_name = xmlNodeGetContent (cur_node);
+ cur_node = cur_node->next;
+ while (cur_node && xmlIsBlankNode (cur_node)) {
+ cur_node = cur_node->next;
+ }
+ if (!cur_node) {
+ xmlFree (key_name);
+ return NULL;
+ }
+
+ value = empathy_plist_parse_node (cur_node);
+ if (value) {
+ g_hash_table_insert (dict, g_strdup ((char *) key_name), value);
+ }
+ xmlFree (key_name);
+
+ return cur_node->next;
+}
+
+static GValue *
+empathy_plist_parse_dict (xmlNode *a_node)
+{
+ xmlNode *cur_node = a_node->children;
+ GHashTable *dict;
+
+ dict = g_hash_table_new_full (g_str_hash, g_str_equal,
+ g_free, (GDestroyNotify) tp_g_value_slice_free);
+
+ while (cur_node) {
+ if (xmlIsBlankNode (cur_node)) {
+ cur_node = cur_node->next;
+ } else {
+ cur_node = empathy_plist_parse_one_dict_entry (cur_node, dict);
+ }
+ }
+
+ return tp_g_value_slice_new_take_boxed (G_TYPE_HASH_TABLE, dict);
+}
+
+static GValue *
+empathy_plist_parse_array (xmlNode *a_node)
+{
+ xmlNode *cur_node = a_node->children;
+ GValueArray *array;
+
+ array = g_value_array_new (4);
+
+ while (cur_node) {
+ GValue *cur_value;
+
+ cur_value = empathy_plist_parse_node (cur_node);
+ if (cur_value) {
+ g_value_array_append (array, cur_value);
+ tp_g_value_slice_free (cur_value);
+ }
+
+ /* When an array contains an element enclosed in "unknown" tags (ie
+ * non-type ones), we silently skip them since early
+ * SysInfoExtended files used to have <key> values enclosed within
+ * <array> tags.
+ */
+ cur_node = cur_node->next;
+ }
+
+ return tp_g_value_slice_new_take_boxed (G_TYPE_VALUE_ARRAY, array);
+}
+
+typedef GValue *(*ParseCallback) (xmlNode *);
+
+struct Parser {
+ const char * const type_name;
+ ParseCallback parser;
+};
+
+static const struct Parser parsers[] = { {"integer", empathy_plist_parse_integer},
+ {"real", empathy_plist_parse_real},
+ {"string", empathy_plist_parse_string},
+ {"true", empathy_plist_parse_boolean},
+ {"false", empathy_plist_parse_boolean},
+ {"data", empathy_plist_parse_data},
+ {"dict", empathy_plist_parse_dict},
+ {"array", empathy_plist_parse_array},
+ {NULL, NULL} };
+
+static ParseCallback
+empathy_plist_get_parser_for_type (const xmlChar *type)
+{
+ guint i = 0;
+
+ while (parsers[i].type_name) {
+ if (xmlStrcmp (type, (xmlChar *) parsers[i].type_name) == 0) {
+ if (parsers[i].parser) {
+ return parsers[i].parser;
+ }
+ }
+ i++;
+ }
+ return NULL;
+}
+
+static GValue *
+empathy_plist_parse_node (xmlNode *a_node)
+{
+ ParseCallback parser;
+
+ g_return_val_if_fail (a_node != NULL, NULL);
+ parser = empathy_plist_get_parser_for_type (a_node->name);
+ if (parser) {
+ return parser (a_node);
+ } else {
+ return NULL;
+ }
+}
+
+static GValue *
+empathy_plist_parse (xmlNode * a_node)
+{
+ xmlNode *cur_node;
+
+ if (!a_node) {
+ return NULL;
+ }
+ if (xmlStrcmp (a_node->name, (xmlChar *) "plist") != 0) {
+ return NULL;
+ }
+ cur_node = a_node->xmlChildrenNode;
+ while (cur_node && (xmlIsBlankNode (cur_node))) {
+ cur_node = cur_node->next;
+ }
+ if (cur_node) {
+ return empathy_plist_parse_node (cur_node);
+ }
+
+ return NULL;
+}
+
+/**
+ * empathy_plist_parse_from_file:
+ * @filename: file containing XML plist data to parse
+ *
+ * Parses the XML plist file. If an error occurs during the parsing,
+ * empathy_plist_parse_from_file() will return NULL.
+ *
+ * Returns: NULL on error, a newly allocated
+ * #GValue otherwise. Free it using tp_g_value_slice_free()
+ */
+GValue *
+empathy_plist_parse_from_file (const char *filename)
+{
+ xmlDoc *doc = NULL;
+ xmlNode *root_element = NULL;
+ GValue *parsed_doc;
+
+ doc = xmlReadFile (filename, NULL, 0);
+
+ if (!doc) {
+ return NULL;
+ }
+
+ root_element = xmlDocGetRootElement (doc);
+
+ parsed_doc = empathy_plist_parse (root_element);
+
+ xmlFreeDoc (doc);
+ xmlCleanupParser ();
+
+ return parsed_doc;
+}
+
+/**
+ * empathy_plist_parse_from_memory:
+ * @data: memory location containing XML plist data to parse
+ * @len: length in bytes of the string to parse
+ *
+ * Parses the XML plist file stored in @data which length is @len
+ * bytes. If an error occurs during the parsing,
+ * empathy_plist_parse_from_memory() will return NULL.
+ *
+ * Returns: NULL on error, a newly allocated
+ * #GValue otherwise. Free it using tp_g_value_slice_free()
+ */
+GValue *
+empathy_plist_parse_from_memory (const char *data, gsize len)
+{
+ xmlDoc *doc = NULL;
+ xmlNode *root_element = NULL;
+ GValue *parsed_doc;
+
+ doc = xmlReadMemory (data, len, "noname.xml", NULL, 0);
+
+ if (doc == NULL) {
+ return NULL;
+ }
+
+ root_element = xmlDocGetRootElement (doc);
+
+ parsed_doc = empathy_plist_parse (root_element);
+
+ xmlFreeDoc (doc);
+ xmlCleanupParser ();
+
+ return parsed_doc;
+}
+
diff --git a/libempathy-gtk/empathy-plist.h b/libempathy-gtk/empathy-plist.h
new file mode 100644
index 000000000..a15ad6a01
--- /dev/null
+++ b/libempathy-gtk/empathy-plist.h
@@ -0,0 +1,34 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Copyright (C) 2008 Christophe Fergeau <teuf@gnome.org>
+ * Based on itdb_plist parser from the gtkpod project.
+ *
+ * The code contained in this file is free software; you can redistribute
+ * it and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either version
+ * 2.1 of the License, or (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this code; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef __EMPATHY_PLIST_H__
+#define __EMPATHY_PLIST_H__
+
+#include <glib.h>
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+GValue * empathy_plist_parse_from_file (const char *filename);
+GValue * empathy_plist_parse_from_memory (const char *data, gsize len);
+
+G_END_DECLS
+
+#endif
diff --git a/libempathy-gtk/empathy-smiley-manager.c b/libempathy-gtk/empathy-smiley-manager.c
index e8f623424..900e9211c 100644
--- a/libempathy-gtk/empathy-smiley-manager.c
+++ b/libempathy-gtk/empathy-smiley-manager.c
@@ -314,7 +314,7 @@ empathy_smiley_manager_parse (EmpathySmileyManager *manager,
for (t = text; *t; t = g_utf8_next_char (t)) {
SmileyManagerTree *child;
gunichar c;
-
+
c = g_utf8_get_char (t);
child = smiley_manager_tree_find_child (cur_tree, c);
diff --git a/libempathy-gtk/empathy-sound.c b/libempathy-gtk/empathy-sound.c
new file mode 100644
index 000000000..d97f72bef
--- /dev/null
+++ b/libempathy-gtk/empathy-sound.c
@@ -0,0 +1,385 @@
+/*
+ * empathy-sound.c - Various sound related utility functions.
+ * Copyright (C) 2009 Collabora Ltd.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <config.h>
+
+#include "empathy-sound.h"
+
+#include <canberra-gtk.h>
+#include <glib/gi18n-lib.h>
+#include <gtk/gtk.h>
+
+#define DEBUG_FLAG EMPATHY_DEBUG_OTHER
+#include <libempathy/empathy-debug.h>
+#include <libempathy/empathy-utils.h>
+
+#include "empathy-conf.h"
+
+typedef struct {
+ EmpathySound sound_id;
+ const char * event_ca_id;
+ const char * event_ca_description;
+ const char * gconf_key;
+} EmpathySoundEntry;
+
+typedef struct {
+ GtkWidget *widget;
+ gint sound_id;
+ guint play_interval;
+ guint replay_timeout_id;
+} EmpathyRepeatableSound;
+
+/* NOTE: these entries MUST be in the same order than EmpathySound enum */
+static EmpathySoundEntry sound_entries[LAST_EMPATHY_SOUND] = {
+ { EMPATHY_SOUND_MESSAGE_INCOMING, "message-new-instant",
+ N_("Received an instant message"), EMPATHY_PREFS_SOUNDS_INCOMING_MESSAGE } ,
+ { EMPATHY_SOUND_MESSAGE_OUTGOING, "message-sent-instant",
+ N_("Sent an instant message"), EMPATHY_PREFS_SOUNDS_OUTGOING_MESSAGE } ,
+ { EMPATHY_SOUND_CONVERSATION_NEW, "message-new-instant",
+ N_("Incoming chat request"), EMPATHY_PREFS_SOUNDS_NEW_CONVERSATION },
+ { EMPATHY_SOUND_CONTACT_CONNECTED, "service-login",
+ N_("Contact connected"), EMPATHY_PREFS_SOUNDS_CONTACT_LOGIN },
+ { EMPATHY_SOUND_CONTACT_DISCONNECTED, "service-logout",
+ N_("Contact disconnected"), EMPATHY_PREFS_SOUNDS_CONTACT_LOGOUT },
+ { EMPATHY_SOUND_ACCOUNT_CONNECTED, "service-login",
+ N_("Connected to server"), EMPATHY_PREFS_SOUNDS_SERVICE_LOGIN },
+ { EMPATHY_SOUND_ACCOUNT_DISCONNECTED, "service-logout",
+ N_("Disconnected from server"), EMPATHY_PREFS_SOUNDS_SERVICE_LOGOUT },
+ { EMPATHY_SOUND_PHONE_INCOMING, "phone-incoming-call",
+ N_("Incoming voice call"), NULL },
+ { EMPATHY_SOUND_PHONE_OUTGOING, "phone-outgoing-calling",
+ N_("Outgoing voice call"), NULL },
+ { EMPATHY_SOUND_PHONE_HANGUP, "phone-hangup",
+ N_("Voice call ended"), NULL },
+};
+
+/* An hash table containing currently repeating sounds. The format is the
+ * following:
+ * Key: An EmpathySound
+ * Value : The EmpathyRepeatableSound associated with that EmpathySound. */
+static GHashTable *repeating_sounds;
+
+static gboolean
+empathy_sound_pref_is_enabled (EmpathySound sound_id)
+{
+ EmpathySoundEntry *entry;
+ EmpathyConf *conf;
+ gboolean res;
+
+ entry = &(sound_entries[sound_id]);
+ g_return_val_if_fail (entry->sound_id == sound_id, FALSE);
+
+ if (entry->gconf_key == NULL)
+ return TRUE;
+
+ conf = empathy_conf_get ();
+ res = FALSE;
+
+ empathy_conf_get_bool (conf, EMPATHY_PREFS_SOUNDS_ENABLED, &res);
+
+ if (!res)
+ return FALSE;
+
+ if (!empathy_check_available_state ())
+ {
+ empathy_conf_get_bool (conf, EMPATHY_PREFS_SOUNDS_DISABLED_AWAY, &res);
+
+ if (res)
+ return FALSE;
+ }
+
+ empathy_conf_get_bool (conf, entry->gconf_key, &res);
+
+ return res;
+}
+
+/**
+ * empathy_sound_stop:
+ * @sound_id: The #EmpathySound to stop playing.
+ *
+ * Stop playing a sound. If it has been stated in loop with
+ * empathy_sound_start_playing(), it will also stop replaying.
+ */
+void
+empathy_sound_stop (EmpathySound sound_id)
+{
+ EmpathySoundEntry *entry;
+
+ g_return_if_fail (sound_id < LAST_EMPATHY_SOUND);
+
+ entry = &(sound_entries[sound_id]);
+ g_return_if_fail (entry->sound_id == sound_id);
+
+ if (repeating_sounds != NULL)
+ {
+ EmpathyRepeatableSound *repeatable_sound;
+
+ repeatable_sound = g_hash_table_lookup (repeating_sounds,
+ GINT_TO_POINTER (sound_id));
+ if (repeatable_sound != NULL)
+ {
+ /* The sound must be stopped... If it is waiting for replay, remove
+ * it from hash table to cancel. Otherwise we'll cancel the sound
+ * being played. */
+ if (repeatable_sound->replay_timeout_id != 0)
+ {
+ g_hash_table_remove (repeating_sounds, GINT_TO_POINTER (sound_id));
+ return;
+ }
+ }
+ }
+
+ ca_context_cancel (ca_gtk_context_get (), entry->sound_id);
+}
+
+static gboolean
+empathy_sound_play_internal (GtkWidget *widget, EmpathySound sound_id,
+ ca_finish_callback_t callback, gpointer user_data)
+{
+ EmpathySoundEntry *entry;
+ ca_context *c;
+ ca_proplist *p = NULL;
+
+ entry = &(sound_entries[sound_id]);
+ g_return_val_if_fail (entry->sound_id == sound_id, FALSE);
+
+ c = ca_gtk_context_get ();
+ ca_context_cancel (c, entry->sound_id);
+
+ DEBUG ("Play sound \"%s\" (%s)",
+ entry->event_ca_id,
+ entry->event_ca_description);
+
+ if (ca_proplist_create (&p) < 0)
+ goto failed;
+
+ if (ca_proplist_sets (p, CA_PROP_EVENT_ID, entry->event_ca_id) < 0)
+ goto failed;
+
+ if (ca_proplist_sets (p, CA_PROP_EVENT_DESCRIPTION,
+ gettext (entry->event_ca_id)) < 0)
+ goto failed;
+
+ if (ca_gtk_proplist_set_for_widget (p, widget) < 0)
+ goto failed;
+
+ ca_context_play_full (ca_gtk_context_get (), entry->sound_id, p, callback,
+ user_data);
+
+ ca_proplist_destroy (p);
+
+ return TRUE;
+
+failed:
+ if (p != NULL)
+ ca_proplist_destroy (p);
+
+ return FALSE;
+}
+
+/**
+ * empathy_sound_play_full:
+ * @widget: The #GtkWidget from which the sound is originating.
+ * @sound_id: The #EmpathySound to play.
+ * @callback: The #ca_finish_callback_t function that will be called when the
+ * sound has stopped playing.
+ * @user_data: user data to pass to the function.
+ *
+ * Plays a sound.
+ *
+ * Returns %TRUE if the sound has successfully started playing, otherwise
+ * returning %FALSE and @callback won't be called.
+ *
+ * This function returns %FALSE if the sound is already playing in loop using
+ * %empathy_sound_start_playing.
+ *
+ * This function returns %FALSE if the sound is disabled in empathy preferences.
+ *
+ * Return value: %TRUE if the sound has successfully started playing, %FALSE
+ * otherwise.
+ */
+gboolean
+empathy_sound_play_full (GtkWidget *widget, EmpathySound sound_id,
+ ca_finish_callback_t callback, gpointer user_data)
+{
+ g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
+ g_return_val_if_fail (sound_id < LAST_EMPATHY_SOUND, FALSE);
+
+ if (!empathy_sound_pref_is_enabled (sound_id))
+ return FALSE;
+
+ /* The sound might already be playing repeatedly. If it's the case, we
+ * immediadely return since there's no need to make it play again */
+ if (repeating_sounds != NULL &&
+ g_hash_table_lookup (repeating_sounds, GINT_TO_POINTER (sound_id)) != NULL)
+ return FALSE;
+
+ return empathy_sound_play_internal (widget, sound_id, callback, user_data);
+}
+
+/**
+ * empathy_sound_play:
+ * @widget: The #GtkWidget from which the sound is originating.
+ * @sound_id: The #EmpathySound to play.
+ *
+ * Plays a sound. See %empathy_sound_play_full for details.'
+ *
+ * Return value: %TRUE if the sound has successfully started playing, %FALSE
+ * otherwise.
+ */
+gboolean
+empathy_sound_play (GtkWidget *widget, EmpathySound sound_id)
+{
+ g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
+ g_return_val_if_fail (sound_id < LAST_EMPATHY_SOUND, FALSE);
+
+ return empathy_sound_play_full (widget, sound_id, NULL, NULL);
+}
+
+static void playing_finished_cb (ca_context *c, guint id, int error_code,
+ gpointer user_data);
+
+static gboolean
+playing_timeout_cb (gpointer data)
+{
+ EmpathyRepeatableSound *repeatable_sound = data;
+ gboolean playing;
+
+ repeatable_sound->replay_timeout_id = 0;
+
+ playing = empathy_sound_play_internal (repeatable_sound->widget,
+ repeatable_sound->sound_id, playing_finished_cb, data);
+
+ if (!playing)
+ {
+ DEBUG ("Failed to replay sound, stop repeating");
+ g_hash_table_remove (repeating_sounds,
+ GINT_TO_POINTER (repeatable_sound->sound_id));
+ }
+
+ return FALSE;
+}
+
+static void
+playing_finished_cb (ca_context *c, guint id, int error_code,
+ gpointer user_data)
+{
+ EmpathyRepeatableSound *repeatable_sound = user_data;
+
+ if (error_code != CA_SUCCESS)
+ {
+ DEBUG ("Error: %s", ca_strerror (error_code));
+ g_hash_table_remove (repeating_sounds,
+ GINT_TO_POINTER (repeatable_sound->sound_id));
+ return;
+ }
+
+ repeatable_sound->replay_timeout_id = g_timeout_add (
+ repeatable_sound->play_interval, playing_timeout_cb, user_data);
+}
+
+static void
+empathy_sound_widget_destroyed_cb (GtkWidget *widget, gpointer user_data)
+{
+ EmpathyRepeatableSound *repeatable_sound = user_data;
+
+ /* The sound must be stopped... If it is waiting for replay, remove
+ * it from hash table to cancel. Otherwise playing_finished_cb will be
+ * called with an error. */
+ if (repeatable_sound->replay_timeout_id != 0)
+ {
+ g_hash_table_remove (repeating_sounds,
+ GINT_TO_POINTER (repeatable_sound->sound_id));
+ }
+}
+
+static void
+repeating_sounds_item_delete (gpointer data)
+{
+ EmpathyRepeatableSound *repeatable_sound = data;
+
+ if (repeatable_sound->replay_timeout_id != 0)
+ g_source_remove (repeatable_sound->replay_timeout_id);
+
+ g_signal_handlers_disconnect_by_func (repeatable_sound->widget,
+ empathy_sound_widget_destroyed_cb, repeatable_sound);
+
+ g_slice_free (EmpathyRepeatableSound, repeatable_sound);
+}
+
+/**
+ * empathy_sound_start_playing:
+ * @widget: The #GtkWidget from which the sound is originating.
+ * @sound_id: The #EmpathySound to play.
+ * @timeout_before_replay: The amount of time, in milliseconds, between two
+ * consecutive play.
+ *
+ * Start playing a sound in loop. To stop the sound, call empathy_call_stop ()
+ * by passing it the same @sound_id. Note that if you start playing a sound
+ * multiple times, you'll have to call %empathy_sound_stop the same number of
+ * times.
+ *
+ * Return value: %TRUE if the sound has successfully started playing.
+ */
+gboolean
+empathy_sound_start_playing (GtkWidget *widget, EmpathySound sound_id,
+ guint timeout_before_replay)
+{
+ EmpathyRepeatableSound *repeatable_sound;
+ gboolean playing = FALSE;
+
+ g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
+ g_return_val_if_fail (sound_id < LAST_EMPATHY_SOUND, FALSE);
+
+ if (!empathy_sound_pref_is_enabled (sound_id))
+ return FALSE;
+
+ if (repeating_sounds == NULL)
+ {
+ repeating_sounds = g_hash_table_new_full (g_direct_hash, g_direct_equal,
+ NULL, repeating_sounds_item_delete);
+ }
+ else if (g_hash_table_lookup (repeating_sounds,
+ GINT_TO_POINTER (sound_id)) != NULL)
+ {
+ /* The sound is already playing in loop. No need to continue. */
+ return FALSE;
+ }
+
+ repeatable_sound = g_slice_new0 (EmpathyRepeatableSound);
+ repeatable_sound->widget = widget;
+ repeatable_sound->sound_id = sound_id;
+ repeatable_sound->play_interval = timeout_before_replay;
+ repeatable_sound->replay_timeout_id = 0;
+
+ g_hash_table_insert (repeating_sounds, GINT_TO_POINTER (sound_id),
+ repeatable_sound);
+
+ g_signal_connect (G_OBJECT (widget), "destroy",
+ G_CALLBACK (empathy_sound_widget_destroyed_cb),
+ repeatable_sound);
+
+ playing = empathy_sound_play_internal (widget, sound_id, playing_finished_cb,
+ repeatable_sound);
+
+ if (!playing)
+ g_hash_table_remove (repeating_sounds, GINT_TO_POINTER (sound_id));
+
+ return playing;
+}
diff --git a/libempathy-gtk/empathy-sound.h b/libempathy-gtk/empathy-sound.h
new file mode 100644
index 000000000..f65f6260e
--- /dev/null
+++ b/libempathy-gtk/empathy-sound.h
@@ -0,0 +1,56 @@
+/*
+ * empathy-sound.h - Various sound related utility functions.
+ * Copyright (C) 2009 Collabora Ltd.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+
+#ifndef __EMPATHY_SOUND_H__
+#define __EMPATHY_SOUND_H__
+
+#include <gtk/gtk.h>
+
+#include <canberra-gtk.h>
+
+G_BEGIN_DECLS
+
+/* NOTE: Keep this sync with sound_entries in empathy-sound.c */
+typedef enum {
+ EMPATHY_SOUND_MESSAGE_INCOMING = 0,
+ EMPATHY_SOUND_MESSAGE_OUTGOING,
+ EMPATHY_SOUND_CONVERSATION_NEW,
+ EMPATHY_SOUND_CONTACT_CONNECTED,
+ EMPATHY_SOUND_CONTACT_DISCONNECTED,
+ EMPATHY_SOUND_ACCOUNT_CONNECTED,
+ EMPATHY_SOUND_ACCOUNT_DISCONNECTED,
+ EMPATHY_SOUND_PHONE_INCOMING,
+ EMPATHY_SOUND_PHONE_OUTGOING,
+ EMPATHY_SOUND_PHONE_HANGUP,
+ LAST_EMPATHY_SOUND,
+} EmpathySound;
+
+gboolean empathy_sound_play (GtkWidget *widget, EmpathySound sound_id);
+void empathy_sound_stop (EmpathySound sound_id);
+
+gboolean empathy_sound_start_playing (GtkWidget *widget, EmpathySound sound_id,
+ guint timeout_before_replay);
+
+gboolean empathy_sound_play_full (GtkWidget *widget, EmpathySound sound_id,
+ ca_finish_callback_t callback, gpointer user_data);
+
+G_END_DECLS
+
+#endif /* #ifndef __EMPATHY_SOUND_H__*/
diff --git a/libempathy-gtk/empathy-spell.c b/libempathy-gtk/empathy-spell.c
index 9cd7c555b..076e81a03 100644
--- a/libempathy-gtk/empathy-spell.c
+++ b/libempathy-gtk/empathy-spell.c
@@ -175,7 +175,7 @@ spell_notify_languages_cb (EmpathyConf *conf,
enchant_broker_free_dict (lang->config, lang->speller);
enchant_broker_free (lang->config);
-
+
g_slice_free (SpellLanguage, lang);
}
@@ -363,7 +363,7 @@ empathy_spell_get_suggestions (const gchar *word)
suggestions = enchant_dict_suggest (lang->speller, word, len,
&number_of_suggestions);
-
+
for (i = 0; i < number_of_suggestions; i++) {
suggestion_list = g_list_append (suggestion_list,
g_strdup (suggestions[i]));
diff --git a/libempathy-gtk/empathy-theme-adium.c b/libempathy-gtk/empathy-theme-adium.c
index 321d1998c..1f1b3b06d 100644
--- a/libempathy-gtk/empathy-theme-adium.c
+++ b/libempathy-gtk/empathy-theme-adium.c
@@ -25,46 +25,63 @@
#include <glib/gi18n.h>
#include <webkit/webkitnetworkrequest.h>
+#include <telepathy-glib/dbus.h>
+#include <telepathy-glib/util.h>
+
#include <libempathy/empathy-time.h>
#include <libempathy/empathy-utils.h>
+#include <libmissioncontrol/mc-profile.h>
#include "empathy-theme-adium.h"
#include "empathy-smiley-manager.h"
#include "empathy-conf.h"
#include "empathy-ui-utils.h"
+#include "empathy-plist.h"
#define DEBUG_FLAG EMPATHY_DEBUG_CHAT
#include <libempathy/empathy-debug.h>
#define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyThemeAdium)
+/* "Join" consecutive messages with timestamps within five minutes */
+#define MESSAGE_JOIN_PERIOD 5*60
+
typedef struct {
+ EmpathyAdiumData *data;
EmpathySmileyManager *smiley_manager;
EmpathyContact *last_contact;
+ time_t last_timestamp;
gboolean page_loaded;
GList *message_queue;
- gchar *path;
- gchar *default_avatar_filename;
- gchar *template_html;
- gchar *basedir;
- gchar *in_content_html;
- gsize in_content_len;
- gchar *in_nextcontent_html;
- gsize in_nextcontent_len;
- gchar *out_content_html;
- gsize out_content_len;
- gchar *out_nextcontent_html;
- gsize out_nextcontent_len;
- gchar *status_html;
- gsize status_len;
} EmpathyThemeAdiumPriv;
+struct _EmpathyAdiumData {
+ guint ref_count;
+ gchar *path;
+ gchar *basedir;
+ gchar *default_avatar_filename;
+ gchar *default_incoming_avatar_filename;
+ gchar *default_outgoing_avatar_filename;
+ gchar *template_html;
+ gchar *in_content_html;
+ gsize in_content_len;
+ gchar *in_nextcontent_html;
+ gsize in_nextcontent_len;
+ gchar *out_content_html;
+ gsize out_content_len;
+ gchar *out_nextcontent_html;
+ gsize out_nextcontent_len;
+ gchar *status_html;
+ gsize status_len;
+ GHashTable *info;
+};
+
static void theme_adium_iface_init (EmpathyChatViewIface *iface);
enum {
PROP_0,
- PROP_PATH,
+ PROP_ADIUM_DATA,
};
G_DEFINE_TYPE_WITH_CODE (EmpathyThemeAdium, empathy_theme_adium,
@@ -72,100 +89,6 @@ G_DEFINE_TYPE_WITH_CODE (EmpathyThemeAdium, empathy_theme_adium,
G_IMPLEMENT_INTERFACE (EMPATHY_TYPE_CHAT_VIEW,
theme_adium_iface_init));
-static void
-theme_adium_load (EmpathyThemeAdium *theme)
-{
- EmpathyThemeAdiumPriv *priv = GET_PRIV (theme);
- gchar *file;
- gchar *template_html = NULL;
- gsize template_len;
- GString *string;
- gchar **strv = NULL;
- gchar *css_path;
- guint len = 0;
- guint i = 0;
- gchar *basedir_uri;
-
- priv->basedir = g_strconcat (priv->path, G_DIR_SEPARATOR_S "Contents" G_DIR_SEPARATOR_S "Resources" G_DIR_SEPARATOR_S, NULL);
- basedir_uri = g_strconcat ("file://", priv->basedir, NULL);
-
- /* Load html files */
- file = g_build_filename (priv->basedir, "Incoming", "Content.html", NULL);
- g_file_get_contents (file, &priv->in_content_html, &priv->in_content_len, NULL);
- g_free (file);
-
- file = g_build_filename (priv->basedir, "Incoming", "NextContent.html", NULL);
- g_file_get_contents (file, &priv->in_nextcontent_html, &priv->in_nextcontent_len, NULL);
- g_free (file);
-
- file = g_build_filename (priv->basedir, "Outgoing", "Content.html", NULL);
- g_file_get_contents (file, &priv->out_content_html, &priv->out_content_len, NULL);
- g_free (file);
-
- file = g_build_filename (priv->basedir, "Outgoing", "NextContent.html", NULL);
- g_file_get_contents (file, &priv->out_nextcontent_html, &priv->out_nextcontent_len, NULL);
- g_free (file);
-
- file = g_build_filename (priv->basedir, "Status.html", NULL);
- g_file_get_contents (file, &priv->status_html, &priv->status_len, NULL);
- g_free (file);
-
- css_path = g_build_filename (priv->basedir, "main.css", NULL);
-
- /* There is 2 formats for Template.html: The old one has 4 parameters,
- * the new one has 5 parameters. */
- file = g_build_filename (priv->basedir, "Template.html", NULL);
- if (g_file_get_contents (file, &template_html, &template_len, NULL)) {
- strv = g_strsplit (template_html, "%@", -1);
- len = g_strv_length (strv);
- }
- g_free (file);
-
- if (len != 5 && len != 6) {
- /* Either the theme has no template or it don't have the good
- * number of parameters. Fallback to use our own template. */
- g_free (template_html);
- g_strfreev (strv);
-
- file = empathy_file_lookup ("Template.html", "data");
- g_file_get_contents (file, &template_html, &template_len, NULL);
- g_free (file);
- strv = g_strsplit (template_html, "%@", -1);
- len = g_strv_length (strv);
- }
-
- /* Replace %@ with the needed information in the template html. */
- string = g_string_sized_new (template_len);
- g_string_append (string, strv[i++]);
- g_string_append (string, priv->basedir);
- g_string_append (string, strv[i++]);
- if (len == 6) {
- /* We include main.css by default */
- g_string_append_printf (string, "@import url(\"%s\");", css_path);
- g_string_append (string, strv[i++]);
- /* FIXME: We should set the variant css here */
- g_string_append (string, "");
- } else {
- /* FIXME: We should set main.css OR the variant css */
- g_string_append (string, css_path);
- }
- g_string_append (string, strv[i++]);
- g_string_append (string, ""); /* We don't want header */
- g_string_append (string, strv[i++]);
- g_string_append (string, ""); /* FIXME: We don't support footer yet */
- g_string_append (string, strv[i++]);
- priv->template_html = g_string_free (string, FALSE);
-
- /* Load the template */
- webkit_web_view_load_html_string (WEBKIT_WEB_VIEW (theme),
- priv->template_html, basedir_uri);
-
- g_free (basedir_uri);
- g_free (template_html);
- g_free (css_path);
- g_strfreev (strv);
-}
-
static WebKitNavigationResponse
theme_adium_navigation_requested_cb (WebKitWebView *view,
WebKitWebFrame *frame,
@@ -190,12 +113,12 @@ theme_adium_populate_popup_cb (WebKitWebView *view,
/* Remove default menu items */
gtk_container_foreach (GTK_CONTAINER (menu),
(GtkCallback) gtk_widget_destroy, NULL);
-
+
/* Select all item */
item = gtk_image_menu_item_new_from_stock (GTK_STOCK_SELECT_ALL, NULL);
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item);
gtk_widget_show (item);
-
+
g_signal_connect_swapped (item, "activate",
G_CALLBACK (webkit_web_view_select_all),
view);
@@ -205,7 +128,7 @@ theme_adium_populate_popup_cb (WebKitWebView *view,
item = gtk_image_menu_item_new_from_stock (GTK_STOCK_COPY, NULL);
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item);
gtk_widget_show (item);
-
+
g_signal_connect_swapped (item, "activate",
G_CALLBACK (webkit_web_view_copy_clipboard),
view);
@@ -215,11 +138,11 @@ theme_adium_populate_popup_cb (WebKitWebView *view,
item = gtk_separator_menu_item_new ();
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item);
gtk_widget_show (item);
-
+
item = gtk_image_menu_item_new_from_stock (GTK_STOCK_CLEAR, NULL);
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item);
gtk_widget_show (item);
-
+
g_signal_connect_swapped (item, "activate",
G_CALLBACK (empathy_chat_view_clear),
view);
@@ -343,7 +266,7 @@ escape_and_append_len (GString *string, const gchar *str, gint len)
switch (*str) {
case '\\':
/* \ becomes \\ */
- g_string_append (string, "\\\\");
+ g_string_append (string, "\\\\");
break;
case '\"':
/* " becomes \" */
@@ -382,6 +305,9 @@ theme_adium_append_html (EmpathyThemeAdium *theme,
const gchar *message,
const gchar *avatar_filename,
const gchar *name,
+ const gchar *contact_id,
+ const gchar *service_name,
+ const gchar *message_classes,
time_t timestamp)
{
GString *string;
@@ -397,10 +323,28 @@ theme_adium_append_html (EmpathyThemeAdium *theme,
if (theme_adium_match (&cur, "%message%")) {
replace = message;
+ } else if (theme_adium_match (&cur, "%messageClasses%")) {
+ replace = message_classes;
} else if (theme_adium_match (&cur, "%userIconPath%")) {
replace = avatar_filename;
} else if (theme_adium_match (&cur, "%sender%")) {
replace = name;
+ } else if (theme_adium_match (&cur, "%senderScreenName%")) {
+ replace = contact_id;
+ } else if (theme_adium_match (&cur, "%senderDisplayName%")) {
+ /* %senderDisplayName% -
+ * "The serverside (remotely set) name of the sender,
+ * such as an MSN display name."
+ *
+ * We don't have access to that yet so we use local
+ * alias instead.*/
+ replace = name;
+ } else if (theme_adium_match (&cur, "%service%")) {
+ replace = service_name;
+ } else if (theme_adium_match (&cur, "%shortTime%")) {
+ dup_replace = empathy_time_to_string_local (timestamp,
+ EMPATHY_TIME_FORMAT_DISPLAY_SHORT);
+ replace = dup_replace;
} else if (theme_adium_match (&cur, "%time")) {
gchar *format = NULL;
gchar *end;
@@ -448,15 +392,20 @@ theme_adium_append_message (EmpathyChatView *view,
EmpathyThemeAdium *theme = EMPATHY_THEME_ADIUM (view);
EmpathyThemeAdiumPriv *priv = GET_PRIV (theme);
EmpathyContact *sender;
+ EmpathyAccount *account;
+ McProfile *account_profile;
gchar *dup_body = NULL;
const gchar *body;
const gchar *name;
+ const gchar *contact_id;
EmpathyAvatar *avatar;
const gchar *avatar_filename = NULL;
time_t timestamp;
gchar *html = NULL;
gsize len = 0;
const gchar *func;
+ const gchar *service_name;
+ const gchar *message_classes = NULL;
if (!priv->page_loaded) {
priv->message_queue = g_list_prepend (priv->message_queue,
@@ -466,6 +415,9 @@ theme_adium_append_message (EmpathyChatView *view,
/* Get information */
sender = empathy_message_get_sender (msg);
+ account = empathy_contact_get_account (sender);
+ account_profile = empathy_account_get_profile (account);
+ service_name = mc_profile_get_display_name (account_profile);
timestamp = empathy_message_get_timestamp (msg);
body = empathy_message_get_body (msg);
dup_body = theme_adium_parse_body (theme, body);
@@ -473,6 +425,7 @@ theme_adium_append_message (EmpathyChatView *view,
body = dup_body;
}
name = empathy_contact_get_name (sender);
+ contact_id = empathy_contact_get_id (sender);
/* If this is a /me, append an event */
if (empathy_message_get_tptype (msg) == TP_CHANNEL_TEXT_MESSAGE_TYPE_ACTION) {
@@ -491,46 +444,68 @@ theme_adium_append_message (EmpathyChatView *view,
avatar_filename = avatar->filename;
}
if (!avatar_filename) {
- if (!priv->default_avatar_filename) {
- priv->default_avatar_filename =
- empathy_filename_from_icon_name ("stock_person",
- GTK_ICON_SIZE_DIALOG);
+ if (empathy_contact_is_user (sender)) {
+ avatar_filename = priv->data->default_outgoing_avatar_filename;
+ } else {
+ avatar_filename = priv->data->default_incoming_avatar_filename;
+ }
+ if (!avatar_filename) {
+ if (!priv->data->default_avatar_filename) {
+ priv->data->default_avatar_filename =
+ empathy_filename_from_icon_name ("stock_person",
+ GTK_ICON_SIZE_DIALOG);
+ }
+ avatar_filename = priv->data->default_avatar_filename;
}
- avatar_filename = priv->default_avatar_filename;
}
/* Get the right html/func to add the message */
func = "appendMessage";
- if (empathy_contact_equal (priv->last_contact, sender)) {
+ /*
+ * To mimick Adium's behavior, we only want to join messages
+ * sent within a 5 minute time frame.
+ */
+ if (empathy_contact_equal (priv->last_contact, sender) &&
+ (timestamp - priv->last_timestamp < MESSAGE_JOIN_PERIOD)) {
func = "appendNextMessage";
if (empathy_contact_is_user (sender)) {
- html = priv->out_nextcontent_html;
- len = priv->out_nextcontent_len;
+ message_classes = "consecutive incoming message";
+ html = priv->data->out_nextcontent_html;
+ len = priv->data->out_nextcontent_len;
}
if (!html) {
- html = priv->in_nextcontent_html;
- len = priv->in_nextcontent_len;
+ message_classes = "consecutive message outgoing";
+ html = priv->data->in_nextcontent_html;
+ len = priv->data->in_nextcontent_len;
}
}
if (!html) {
if (empathy_contact_is_user (sender)) {
- html = priv->out_content_html;
- len = priv->out_content_len;
+ if (!message_classes) {
+ message_classes = "incoming message";
+ }
+ html = priv->data->out_content_html;
+ len = priv->data->out_content_len;
}
if (!html) {
- html = priv->in_content_html;
- len = priv->in_content_len;
+ if (!message_classes) {
+ message_classes = "message outgoing";
+ }
+ html = priv->data->in_content_html;
+ len = priv->data->in_content_len;
}
}
theme_adium_append_html (theme, func, html, len, body, avatar_filename,
- name, timestamp);
+ name, contact_id, service_name, message_classes,
+ timestamp);
/* Keep the sender of the last displayed message */
if (priv->last_contact) {
g_object_unref (priv->last_contact);
}
priv->last_contact = g_object_ref (sender);
+ priv->last_timestamp = timestamp;
g_free (dup_body);
}
@@ -542,10 +517,11 @@ theme_adium_append_event (EmpathyChatView *view,
EmpathyThemeAdium *theme = EMPATHY_THEME_ADIUM (view);
EmpathyThemeAdiumPriv *priv = GET_PRIV (theme);
- if (priv->status_html) {
+ if (priv->data->status_html) {
theme_adium_append_html (theme, "appendMessage",
- priv->status_html, priv->status_len,
- str, NULL, NULL,
+ priv->data->status_html,
+ priv->data->status_len,
+ str, NULL, NULL, NULL, NULL, "event",
empathy_time_get_current ());
}
@@ -583,9 +559,10 @@ theme_adium_clear (EmpathyChatView *view)
gchar *basedir_uri;
priv->page_loaded = FALSE;
- basedir_uri = g_strconcat ("file://", priv->basedir, NULL);
+ basedir_uri = g_strconcat ("file://", priv->data->basedir, NULL);
webkit_web_view_load_html_string (WEBKIT_WEB_VIEW (view),
- priv->template_html, basedir_uri);
+ priv->data->template_html,
+ basedir_uri);
g_free (basedir_uri);
}
@@ -683,14 +660,7 @@ theme_adium_finalize (GObject *object)
{
EmpathyThemeAdiumPriv *priv = GET_PRIV (object);
- g_free (priv->basedir);
- g_free (priv->template_html);
- g_free (priv->in_content_html);
- g_free (priv->in_nextcontent_html);
- g_free (priv->out_content_html);
- g_free (priv->out_nextcontent_html);
- g_free (priv->default_avatar_filename);
- g_free (priv->path);
+ empathy_adium_data_unref (priv->data);
G_OBJECT_CLASS (empathy_theme_adium_parent_class)->finalize (object);
}
@@ -716,7 +686,32 @@ theme_adium_dispose (GObject *object)
static void
theme_adium_constructed (GObject *object)
{
- theme_adium_load (EMPATHY_THEME_ADIUM (object));
+ EmpathyThemeAdiumPriv *priv = GET_PRIV (object);
+ gchar *basedir_uri;
+ const gchar *font_family = NULL;
+ gint font_size = 0;
+ WebKitWebSettings *webkit_settings;
+
+ /* Set default settings */
+ font_family = tp_asv_get_string (priv->data->info, "DefaultFontFamily");
+ font_size = tp_asv_get_int32 (priv->data->info, "DefaultFontSize", NULL);
+ webkit_settings = webkit_web_settings_new ();
+ if (font_family) {
+ g_object_set (G_OBJECT (webkit_settings), "default-font-family", font_family, NULL);
+ }
+ if (font_size) {
+ g_object_set (G_OBJECT (webkit_settings), "default-font-size", font_size, NULL);
+ }
+ webkit_web_view_set_settings (WEBKIT_WEB_VIEW (object), webkit_settings);
+
+ /* Load template */
+ basedir_uri = g_strconcat ("file://", priv->data->basedir, NULL);
+ webkit_web_view_load_html_string (WEBKIT_WEB_VIEW (object),
+ priv->data->template_html,
+ basedir_uri);
+
+ g_object_unref (webkit_settings);
+ g_free (basedir_uri);
}
static void
@@ -728,8 +723,8 @@ theme_adium_get_property (GObject *object,
EmpathyThemeAdiumPriv *priv = GET_PRIV (object);
switch (param_id) {
- case PROP_PATH:
- g_value_set_string (value, priv->path);
+ case PROP_ADIUM_DATA:
+ g_value_set_boxed (value, priv->data);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
@@ -746,9 +741,9 @@ theme_adium_set_property (GObject *object,
EmpathyThemeAdiumPriv *priv = GET_PRIV (object);
switch (param_id) {
- case PROP_PATH:
- g_free (priv->path);
- priv->path = g_value_dup_string (value);
+ case PROP_ADIUM_DATA:
+ g_assert (priv->data == NULL);
+ priv->data = g_value_dup_boxed (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
@@ -760,7 +755,7 @@ static void
empathy_theme_adium_class_init (EmpathyThemeAdiumClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
+
object_class->finalize = theme_adium_finalize;
object_class->dispose = theme_adium_dispose;
object_class->constructed = theme_adium_constructed;
@@ -768,13 +763,14 @@ empathy_theme_adium_class_init (EmpathyThemeAdiumClass *klass)
object_class->set_property = theme_adium_set_property;
g_object_class_install_property (object_class,
- PROP_PATH,
- g_param_spec_string ("path",
- "The theme path",
- "Path to the adium theme",
- g_get_home_dir (),
+ PROP_ADIUM_DATA,
+ g_param_spec_boxed ("adium-data",
+ "The theme data",
+ "Data for the adium theme",
+ EMPATHY_TYPE_ADIUM_DATA,
G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_READWRITE));
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_STRINGS));
g_type_class_add_private (object_class, sizeof (EmpathyThemeAdiumPriv));
@@ -786,7 +782,7 @@ empathy_theme_adium_init (EmpathyThemeAdium *theme)
EmpathyThemeAdiumPriv *priv = G_TYPE_INSTANCE_GET_PRIVATE (theme,
EMPATHY_TYPE_THEME_ADIUM, EmpathyThemeAdiumPriv);
- theme->priv = priv;
+ theme->priv = priv;
priv->smiley_manager = empathy_smiley_manager_dup_singleton ();
@@ -802,17 +798,17 @@ empathy_theme_adium_init (EmpathyThemeAdium *theme)
}
EmpathyThemeAdium *
-empathy_theme_adium_new (const gchar *path)
+empathy_theme_adium_new (EmpathyAdiumData *data)
{
- g_return_val_if_fail (empathy_theme_adium_is_valid (path), NULL);
+ g_return_val_if_fail (data != NULL, NULL);
return g_object_new (EMPATHY_TYPE_THEME_ADIUM,
- "path", path,
+ "adium-data", data,
NULL);
}
gboolean
-empathy_theme_adium_is_valid (const gchar *path)
+empathy_adium_path_is_valid (const gchar *path)
{
gboolean ret;
gchar *file;
@@ -829,3 +825,227 @@ empathy_theme_adium_is_valid (const gchar *path)
return ret;
}
+GHashTable *
+empathy_adium_info_new (const gchar *path)
+{
+ gchar *file;
+ GValue *value;
+ GHashTable *info = NULL;
+
+ g_return_val_if_fail (empathy_adium_path_is_valid (path), NULL);
+
+ file = g_build_filename (path, "Contents", "Info.plist", NULL);
+ value = empathy_plist_parse_from_file (file);
+ g_free (file);
+
+ if (value) {
+ info = g_value_dup_boxed (value);
+ tp_g_value_slice_free (value);
+ }
+
+ return info;
+}
+
+GType
+empathy_adium_data_get_type (void)
+{
+ static GType type_id = 0;
+
+ if (!type_id)
+ {
+ type_id = g_boxed_type_register_static ("EmpathyAdiumData",
+ (GBoxedCopyFunc) empathy_adium_data_ref,
+ (GBoxedFreeFunc) empathy_adium_data_unref);
+ }
+
+ return type_id;
+}
+
+EmpathyAdiumData *
+empathy_adium_data_new_with_info (const gchar *path, GHashTable *info)
+{
+ EmpathyAdiumData *data;
+ gchar *file;
+ gchar *template_html = NULL;
+ gsize template_len;
+ gchar *footer_html = NULL;
+ gsize footer_len;
+ GString *string;
+ gchar **strv = NULL;
+ gchar *css_path;
+ guint len = 0;
+ guint i = 0;
+
+ g_return_val_if_fail (empathy_adium_path_is_valid (path), NULL);
+
+ data = g_slice_new0 (EmpathyAdiumData);
+ data->ref_count = 1;
+ data->path = g_strdup (path);
+ data->basedir = g_strconcat (path, G_DIR_SEPARATOR_S "Contents"
+ G_DIR_SEPARATOR_S "Resources" G_DIR_SEPARATOR_S, NULL);
+ data->info = g_hash_table_ref (info);
+
+ /* Load html files */
+ file = g_build_filename (data->basedir, "Incoming", "Content.html", NULL);
+ g_file_get_contents (file, &data->in_content_html, &data->in_content_len, NULL);
+ g_free (file);
+
+ file = g_build_filename (data->basedir, "Incoming", "NextContent.html", NULL);
+ g_file_get_contents (file, &data->in_nextcontent_html, &data->in_nextcontent_len, NULL);
+ g_free (file);
+
+ file = g_build_filename (data->basedir, "Outgoing", "Content.html", NULL);
+ g_file_get_contents (file, &data->out_content_html, &data->out_content_len, NULL);
+ g_free (file);
+
+ file = g_build_filename (data->basedir, "Outgoing", "NextContent.html", NULL);
+ g_file_get_contents (file, &data->out_nextcontent_html, &data->out_nextcontent_len, NULL);
+ g_free (file);
+
+ file = g_build_filename (data->basedir, "Status.html", NULL);
+ g_file_get_contents (file, &data->status_html, &data->status_len, NULL);
+ g_free (file);
+
+ file = g_build_filename (data->basedir, "Footer.html", NULL);
+ g_file_get_contents (file, &footer_html, &footer_len, NULL);
+ g_free (file);
+
+ file = g_build_filename (data->basedir, "Incoming", "buddy_icon.png", NULL);
+ if (g_file_test (file, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) {
+ data->default_incoming_avatar_filename = file;
+ } else {
+ g_free (file);
+ }
+
+ file = g_build_filename (data->basedir, "Outgoing", "buddy_icon.png", NULL);
+ if (g_file_test (file, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) {
+ data->default_outgoing_avatar_filename = file;
+ } else {
+ g_free (file);
+ }
+
+ css_path = g_build_filename (data->basedir, "main.css", NULL);
+
+ /* There is 2 formats for Template.html: The old one has 4 parameters,
+ * the new one has 5 parameters. */
+ file = g_build_filename (data->basedir, "Template.html", NULL);
+ if (g_file_get_contents (file, &template_html, &template_len, NULL)) {
+ strv = g_strsplit (template_html, "%@", -1);
+ len = g_strv_length (strv);
+ }
+ g_free (file);
+
+ if (len != 5 && len != 6) {
+ /* Either the theme has no template or it don't have the good
+ * number of parameters. Fallback to use our own template. */
+ g_free (template_html);
+ g_strfreev (strv);
+
+ file = empathy_file_lookup ("Template.html", "data");
+ g_file_get_contents (file, &template_html, &template_len, NULL);
+ g_free (file);
+ strv = g_strsplit (template_html, "%@", -1);
+ len = g_strv_length (strv);
+ }
+
+ /* Replace %@ with the needed information in the template html. */
+ string = g_string_sized_new (template_len);
+ g_string_append (string, strv[i++]);
+ g_string_append (string, data->basedir);
+ g_string_append (string, strv[i++]);
+ if (len == 6) {
+ const gchar *variant;
+
+ /* We include main.css by default */
+ g_string_append_printf (string, "@import url(\"%s\");", css_path);
+ g_string_append (string, strv[i++]);
+ variant = tp_asv_get_string (data->info, "DefaultVariant");
+ if (variant) {
+ g_string_append (string, "Variants/");
+ g_string_append (string, variant);
+ g_string_append (string, ".css");
+ }
+ } else {
+ /* FIXME: We should set main.css OR the variant css */
+ g_string_append (string, css_path);
+ }
+ g_string_append (string, strv[i++]);
+ g_string_append (string, ""); /* We don't want header */
+ g_string_append (string, strv[i++]);
+ /* FIXME: We should replace adium %macros% in footer */
+ if (footer_html) {
+ g_string_append (string, footer_html);
+ }
+ g_string_append (string, strv[i++]);
+ data->template_html = g_string_free (string, FALSE);
+
+ g_free (footer_html);
+ g_free (template_html);
+ g_free (css_path);
+ g_strfreev (strv);
+
+ return data;
+}
+
+EmpathyAdiumData *
+empathy_adium_data_new (const gchar *path)
+{
+ EmpathyAdiumData *data;
+ GHashTable *info;
+
+ info = empathy_adium_info_new (path);
+ data = empathy_adium_data_new_with_info (path, info);
+ g_hash_table_unref (info);
+
+ return data;
+}
+
+EmpathyAdiumData *
+empathy_adium_data_ref (EmpathyAdiumData *data)
+{
+ g_return_val_if_fail (data != NULL, NULL);
+
+ data->ref_count++;
+
+ return data;
+}
+
+void
+empathy_adium_data_unref (EmpathyAdiumData *data)
+{
+ g_return_if_fail (data != NULL);
+
+ data->ref_count--;
+ if (data->ref_count == 0) {
+ g_free (data->path);
+ g_free (data->basedir);
+ g_free (data->template_html);
+ g_free (data->in_content_html);
+ g_free (data->in_nextcontent_html);
+ g_free (data->out_content_html);
+ g_free (data->out_nextcontent_html);
+ g_free (data->default_avatar_filename);
+ g_free (data->default_incoming_avatar_filename);
+ g_free (data->default_outgoing_avatar_filename);
+ g_free (data->status_html);
+ g_hash_table_unref (data->info);
+ g_slice_free (EmpathyAdiumData, data);
+ }
+}
+
+GHashTable *
+empathy_adium_data_get_info (EmpathyAdiumData *data)
+{
+ g_return_val_if_fail (data != NULL, NULL);
+
+ return data->info;
+}
+
+const gchar *
+empathy_adium_data_get_path (EmpathyAdiumData *data)
+{
+ g_return_val_if_fail (data != NULL, NULL);
+
+ return data->path;
+}
+
diff --git a/libempathy-gtk/empathy-theme-adium.h b/libempathy-gtk/empathy-theme-adium.h
index b62675680..a8ed19de4 100644
--- a/libempathy-gtk/empathy-theme-adium.h
+++ b/libempathy-gtk/empathy-theme-adium.h
@@ -37,6 +37,7 @@ G_BEGIN_DECLS
typedef struct _EmpathyThemeAdium EmpathyThemeAdium;
typedef struct _EmpathyThemeAdiumClass EmpathyThemeAdiumClass;
+typedef struct _EmpathyAdiumData EmpathyAdiumData;
struct _EmpathyThemeAdium {
WebKitWebView parent;
@@ -48,8 +49,21 @@ struct _EmpathyThemeAdiumClass {
};
GType empathy_theme_adium_get_type (void) G_GNUC_CONST;
-EmpathyThemeAdium *empathy_theme_adium_new (const gchar *path);
-gboolean empathy_theme_adium_is_valid (const gchar *path);
+EmpathyThemeAdium *empathy_theme_adium_new (EmpathyAdiumData *data);
+
+gboolean empathy_adium_path_is_valid (const gchar *path);
+GHashTable *empathy_adium_info_new (const gchar *path);
+
+#define EMPATHY_TYPE_ADIUM_DATA (empathy_adium_data_get_type ())
+GType empathy_adium_data_get_type (void) G_GNUC_CONST;
+EmpathyAdiumData *empathy_adium_data_new (const gchar *path);
+EmpathyAdiumData *empathy_adium_data_new_with_info (const gchar *path,
+ GHashTable *info);
+EmpathyAdiumData *empathy_adium_data_ref (EmpathyAdiumData *data);
+void empathy_adium_data_unref (EmpathyAdiumData *data);
+GHashTable *empathy_adium_data_get_info (EmpathyAdiumData *data);
+const gchar *empathy_adium_data_get_path (EmpathyAdiumData *data);
+
G_END_DECLS
diff --git a/libempathy-gtk/empathy-theme-boxes.c b/libempathy-gtk/empathy-theme-boxes.c
index 64d95d4f2..f5224278c 100644
--- a/libempathy-gtk/empathy-theme-boxes.c
+++ b/libempathy-gtk/empathy-theme-boxes.c
@@ -167,7 +167,7 @@ table_size_allocate_cb (GtkWidget *view,
gtk_widget_get_size_request (box, NULL, &height);
width = allocation->width;
-
+
width -= \
gtk_text_view_get_right_margin (GTK_TEXT_VIEW (view)) - \
gtk_text_view_get_left_margin (GTK_TEXT_VIEW (view));
@@ -269,7 +269,7 @@ theme_boxes_maybe_append_header (EmpathyThemeBoxes *theme,
NULL);
g_free (tmp);
g_free (str);
-
+
/* Set foreground color of labels to the same color than the header tag. */
table = gtk_text_buffer_get_tag_table (buffer);
tag = gtk_text_tag_table_lookup (table, EMPATHY_THEME_BOXES_TAG_HEADER);
@@ -349,7 +349,7 @@ theme_boxes_notify_show_avatars_cb (EmpathyConf *conf,
gpointer user_data)
{
EmpathyThemeBoxesPriv *priv = GET_PRIV (user_data);
-
+
empathy_conf_get_bool (conf, key, &priv->show_avatars);
}
diff --git a/libempathy-gtk/empathy-theme-irc.c b/libempathy-gtk/empathy-theme-irc.c
index 183a5cc51..5d298564e 100644
--- a/libempathy-gtk/empathy-theme-irc.c
+++ b/libempathy-gtk/empathy-theme-irc.c
@@ -83,7 +83,7 @@ theme_irc_append_message (EmpathyChatTextView *view,
nick_tag = EMPATHY_THEME_IRC_TAG_NICK_OTHER;
}
}
-
+
gtk_text_buffer_get_end_iter (buffer, &iter);
/* The nickname. */
diff --git a/libempathy-gtk/empathy-theme-manager.c b/libempathy-gtk/empathy-theme-manager.c
index c6da8ea68..ba3d48e68 100644
--- a/libempathy-gtk/empathy-theme-manager.c
+++ b/libempathy-gtk/empathy-theme-manager.c
@@ -193,7 +193,7 @@ theme_manager_update_boxes_tags (EmpathyThemeBoxes *theme,
/* FIXME: GtkTextTag don't support to set color properties to NULL.
* See bug #542523 */
-
+
#define TAG_SET(prop, prop_set, value) \
if (value != NULL) { \
g_object_set (tag, prop, value, NULL); \
@@ -252,7 +252,7 @@ theme_manager_update_boxes_tags (EmpathyThemeBoxes *theme,
}
static void
-theme_manager_update_simple_tags (EmpathyThemeBoxes *theme)
+on_style_set_cb (GtkWidget *widget, GtkStyle *previous_style, gpointer data)
{
GtkStyle *style;
gchar color1[10];
@@ -260,14 +260,14 @@ theme_manager_update_simple_tags (EmpathyThemeBoxes *theme)
gchar color3[10];
gchar color4[10];
- style = gtk_widget_get_default_style ();
+ style = gtk_widget_get_style (GTK_WIDGET (widget));
theme_manager_gdk_color_to_hex (&style->base[GTK_STATE_SELECTED], color1);
theme_manager_gdk_color_to_hex (&style->bg[GTK_STATE_SELECTED], color2);
theme_manager_gdk_color_to_hex (&style->dark[GTK_STATE_SELECTED], color3);
theme_manager_gdk_color_to_hex (&style->fg[GTK_STATE_SELECTED], color4);
- theme_manager_update_boxes_tags (theme,
+ theme_manager_update_boxes_tags (EMPATHY_THEME_BOXES (widget),
color4, /* header_foreground */
color2, /* header_background */
color3, /* header_line_background */
@@ -287,7 +287,8 @@ theme_manager_update_boxes_theme (EmpathyThemeManager *manager,
EmpathyThemeManagerPriv *priv = GET_PRIV (manager);
if (strcmp (priv->name, "simple") == 0) {
- theme_manager_update_simple_tags (theme);
+ g_signal_connect (G_OBJECT (theme), "style-set",
+ G_CALLBACK (on_style_set_cb), theme);
}
else if (strcmp (priv->name, "clean") == 0) {
theme_manager_update_boxes_tags (theme,
@@ -329,8 +330,28 @@ empathy_theme_manager_create_view (EmpathyThemeManager *manager)
#ifdef HAVE_WEBKIT
if (strcmp (priv->name, "adium") == 0) {
- if (empathy_theme_adium_is_valid (priv->adium_path)) {
- return EMPATHY_CHAT_VIEW (empathy_theme_adium_new (priv->adium_path));
+ if (empathy_adium_path_is_valid (priv->adium_path)) {
+ static EmpathyAdiumData *data = NULL;
+ EmpathyThemeAdium *theme_adium;
+
+ if (data &&
+ !tp_strdiff (empathy_adium_data_get_path (data),
+ priv->adium_path)) {
+ /* Theme did not change, reuse data */
+ theme_adium = empathy_theme_adium_new (data);
+ return EMPATHY_CHAT_VIEW (theme_adium);
+ }
+
+ /* Theme changed, drop old data if any and
+ * load a new one */
+ if (data) {
+ empathy_adium_data_unref (data);
+ data = NULL;
+ }
+
+ data = empathy_adium_data_new (priv->adium_path);
+ theme_adium = empathy_theme_adium_new (data);
+ return EMPATHY_CHAT_VIEW (theme_adium);
} else {
/* The adium path is not valid, fallback to classic theme */
return EMPATHY_CHAT_VIEW (theme_manager_create_irc_view (manager));
@@ -348,25 +369,6 @@ empathy_theme_manager_create_view (EmpathyThemeManager *manager)
return EMPATHY_CHAT_VIEW (theme);
}
-static void
-theme_manager_color_hash_notify_cb (EmpathyThemeManager *manager)
-{
- EmpathyThemeManagerPriv *priv = GET_PRIV (manager);
-
- /* FIXME: Make that work, it should update color when theme changes but
- * it doesnt seems to work with all themes. */
-
- if (strcmp (priv->name, "simple") == 0) {
- GList *l;
-
- /* We are using the simple theme which use the GTK theme color,
- * Update views to use the new color. */
- for (l = priv->boxes_views; l; l = l->next) {
- theme_manager_update_simple_tags (EMPATHY_THEME_BOXES (l->data));
- }
- }
-}
-
static gboolean
theme_manager_ensure_theme_exists (const gchar *name)
{
@@ -512,12 +514,6 @@ empathy_theme_manager_init (EmpathyThemeManager *manager)
theme_manager_notify_adium_path_cb (empathy_conf_get (),
EMPATHY_PREFS_CHAT_ADIUM_PATH,
manager);
-
- /* Track GTK color changes */
- priv->settings = gtk_settings_get_default ();
- g_signal_connect_swapped (priv->settings, "notify::color-hash",
- G_CALLBACK (theme_manager_color_hash_notify_cb),
- manager);
}
EmpathyThemeManager *
diff --git a/libempathy-gtk/empathy-ui-utils.c b/libempathy-gtk/empathy-ui-utils.c
index cf423de41..baa6d21de 100644
--- a/libempathy-gtk/empathy-ui-utils.c
+++ b/libempathy-gtk/empathy-ui-utils.c
@@ -37,7 +37,6 @@
#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
#include <gio/gio.h>
-#include <canberra-gtk.h>
#include <libmissioncontrol/mc-profile.h>
@@ -184,11 +183,11 @@ empathy_builder_unref_and_keep_widget (GtkBuilder *gui,
}
const gchar *
-empathy_icon_name_from_account (McAccount *account)
+empathy_icon_name_from_account (EmpathyAccount *account)
{
McProfile *profile;
- profile = mc_account_get_profile (account);
+ profile = empathy_account_get_profile (account);
return mc_profile_get_icon_name (profile);
}
@@ -1311,8 +1310,8 @@ empathy_window_present (GtkWindow *window,
}
timestamp = gtk_get_current_event_time ();
- gtk_window_set_skip_taskbar_hint (window, FALSE);
gtk_window_present_with_time (window, timestamp);
+ gtk_window_set_skip_taskbar_hint (window, FALSE);
/* FIXME: This shouldn't be required as gtk_window_present's doc says
* it deiconify automatically. */
gtk_window_deiconify (window);
@@ -1540,140 +1539,4 @@ empathy_receive_file_with_file_chooser (EmpathyFTHandler *handler)
G_CALLBACK (file_manager_receive_file_response_cb), handler);
gtk_widget_show (widget);
-}
-
-typedef struct {
- EmpathySound sound_id;
- const char * event_ca_id;
- const char * event_ca_description;
- const char * gconf_key;
-} EmpathySoundEntry;
-
-/* NOTE: these entries MUST be in the same order than EmpathySound enum */
-static EmpathySoundEntry sound_entries[LAST_EMPATHY_SOUND] = {
- { EMPATHY_SOUND_MESSAGE_INCOMING, "message-new-instant",
- N_("Received an instant message"), EMPATHY_PREFS_SOUNDS_INCOMING_MESSAGE } ,
- { EMPATHY_SOUND_MESSAGE_OUTGOING, "message-sent-instant",
- N_("Sent an instant message"), EMPATHY_PREFS_SOUNDS_OUTGOING_MESSAGE } ,
- { EMPATHY_SOUND_CONVERSATION_NEW, "message-new-instant",
- N_("Incoming chat request"), EMPATHY_PREFS_SOUNDS_NEW_CONVERSATION },
- { EMPATHY_SOUND_CONTACT_CONNECTED, "service-login",
- N_("Contact connected"), EMPATHY_PREFS_SOUNDS_CONTACT_LOGIN },
- { EMPATHY_SOUND_CONTACT_DISCONNECTED, "service-logout",
- N_("Contact disconnected"), EMPATHY_PREFS_SOUNDS_CONTACT_LOGOUT },
- { EMPATHY_SOUND_ACCOUNT_CONNECTED, "service-login",
- N_("Connected to server"), EMPATHY_PREFS_SOUNDS_SERVICE_LOGIN },
- { EMPATHY_SOUND_ACCOUNT_DISCONNECTED, "service-logout",
- N_("Disconnected from server"), EMPATHY_PREFS_SOUNDS_SERVICE_LOGOUT },
- { EMPATHY_SOUND_PHONE_INCOMING, "phone-incoming-call",
- N_("Incoming voice call"), NULL },
- { EMPATHY_SOUND_PHONE_OUTGOING, "phone-outgoing-calling",
- N_("Outgoing voice call"), NULL },
- { EMPATHY_SOUND_PHONE_HANGUP, "phone-hangup",
- N_("Voice call ended"), NULL },
-};
-
-
-static gboolean
-empathy_sound_pref_is_enabled (const char *key)
-{
- EmpathyConf *conf;
- gboolean res;
-
- conf = empathy_conf_get ();
- res = FALSE;
-
- empathy_conf_get_bool (conf, EMPATHY_PREFS_SOUNDS_ENABLED, &res);
-
- if (!res) {
- return FALSE;
- }
-
- if (!empathy_check_available_state ()) {
- empathy_conf_get_bool (conf, EMPATHY_PREFS_SOUNDS_DISABLED_AWAY,
- &res);
- if (res) {
- return FALSE;
- }
- }
-
- empathy_conf_get_bool (conf, key, &res);
-
- return res;
-}
-
-void
-empathy_sound_stop (EmpathySound sound_id)
-{
- EmpathySoundEntry *entry;
-
- g_return_if_fail (sound_id < LAST_EMPATHY_SOUND);
-
- entry = &(sound_entries[sound_id]);
- g_return_if_fail (entry->sound_id == sound_id);
-
- ca_context_cancel (ca_gtk_context_get (), entry->sound_id);
-}
-
-
-gboolean
-empathy_sound_play_full (GtkWidget *widget, EmpathySound sound_id,
- ca_finish_callback_t callback, gpointer user_data)
-{
- EmpathySoundEntry *entry;
- gboolean should_play = TRUE;
- ca_proplist *p = NULL;
- ca_context *c;
-
- g_return_val_if_fail (sound_id < LAST_EMPATHY_SOUND, FALSE);
-
- entry = &(sound_entries[sound_id]);
- g_return_val_if_fail (entry->sound_id == sound_id, FALSE);
-
- if (entry->gconf_key != NULL) {
- should_play = empathy_sound_pref_is_enabled (entry->gconf_key);
- }
-
- if (!should_play)
- return FALSE;
-
- c = ca_gtk_context_get ();
- ca_context_cancel (c, entry->sound_id);
-
- DEBUG ("Play sound \"%s\" (%s)",
- entry->event_ca_id,
- entry->event_ca_description);
-
- if (ca_proplist_create (&p) < 0)
- goto failed;
-
- if (ca_proplist_sets (p, CA_PROP_EVENT_ID, entry->event_ca_id) < 0)
- goto failed;
-
- if (ca_proplist_sets (p, CA_PROP_EVENT_DESCRIPTION,
- gettext (entry->event_ca_id)) < 0)
- goto failed;
-
- if (ca_gtk_proplist_set_for_widget (p, widget) < 0)
- goto failed;
-
- ca_context_play_full (ca_gtk_context_get (), entry->sound_id,
- p, callback, user_data);
-
- ca_proplist_destroy (p);
-
- return TRUE;
-
-failed:
- if (p != NULL)
- ca_proplist_destroy (p);
-
- return FALSE;
-}
-
-void
-empathy_sound_play (GtkWidget *widget, EmpathySound sound_id)
-{
- empathy_sound_play_full (widget, sound_id, NULL, NULL);
-}
-
+} \ No newline at end of file
diff --git a/libempathy-gtk/empathy-ui-utils.h b/libempathy-gtk/empathy-ui-utils.h
index 60d48f3c4..10f889b0c 100644
--- a/libempathy-gtk/empathy-ui-utils.h
+++ b/libempathy-gtk/empathy-ui-utils.h
@@ -34,33 +34,16 @@
#include <gtk/gtk.h>
-#include <canberra-gtk.h>
-
-#include <libmissioncontrol/mc-account.h>
#include <libmissioncontrol/mc-profile.h>
#include <libempathy/empathy-contact.h>
+#include <libempathy/empathy-account.h>
#include <libempathy/empathy-ft-handler.h>
#include "empathy-chat-view.h"
G_BEGIN_DECLS
-/* NOTE: Keep this sync with sound_entries in empathy-ui-utils.c */
-typedef enum {
- EMPATHY_SOUND_MESSAGE_INCOMING = 0,
- EMPATHY_SOUND_MESSAGE_OUTGOING,
- EMPATHY_SOUND_CONVERSATION_NEW,
- EMPATHY_SOUND_CONTACT_CONNECTED,
- EMPATHY_SOUND_CONTACT_DISCONNECTED,
- EMPATHY_SOUND_ACCOUNT_CONNECTED,
- EMPATHY_SOUND_ACCOUNT_DISCONNECTED,
- EMPATHY_SOUND_PHONE_INCOMING,
- EMPATHY_SOUND_PHONE_OUTGOING,
- EMPATHY_SOUND_PHONE_HANGUP,
- LAST_EMPATHY_SOUND,
-} EmpathySound;
-
void empathy_gtk_init (void);
GRegex * empathy_uri_regex_dup_singleton (void);
@@ -76,7 +59,7 @@ GtkWidget *empathy_builder_unref_and_keep_widget (GtkBuilder *gui,
GtkWidget *root);
/* Pixbufs */
-const gchar * empathy_icon_name_from_account (McAccount *account);
+const gchar * empathy_icon_name_from_account (EmpathyAccount *account);
const gchar * empathy_icon_name_for_presence (TpConnectionPresenceType presence);
const gchar * empathy_icon_name_for_contact (EmpathyContact *contact);
GdkPixbuf * empathy_pixbuf_from_data (gchar *data,
@@ -129,15 +112,6 @@ GtkWidget * empathy_link_button_new (const gchar *url,
void empathy_send_file_with_file_chooser (EmpathyContact *contact);
void empathy_receive_file_with_file_chooser (EmpathyFTHandler *handler);
-/* Sounds */
-void empathy_sound_play (GtkWidget *widget,
- EmpathySound sound_id);
-gboolean empathy_sound_play_full (GtkWidget *widget,
- EmpathySound sound_id,
- ca_finish_callback_t callback,
- gpointer user_data);
-void empathy_sound_stop (EmpathySound sound_id);
-
G_END_DECLS
#endif /* __EMPATHY_UI_UTILS_H__ */
diff --git a/libempathy/Makefile.am b/libempathy/Makefile.am
index a07e863c1..27671543a 100644
--- a/libempathy/Makefile.am
+++ b/libempathy/Makefile.am
@@ -7,8 +7,10 @@ AM_CPPFLAGS = \
-I$(top_builddir) \
-DDATADIR=\""$(datadir)"\" \
-DLOCALEDIR=\""$(datadir)/locale"\" \
+ -DG_LOG_DOMAIN=\"empathy\" \
$(LIBEMPATHY_CFLAGS) \
$(GEOCLUE_CFLAGS) \
+ $(NETWORK_MANAGER_CFLAGS) \
$(WARN_CFLAGS) \
$(DISABLE_DEPRECATED)
@@ -22,6 +24,8 @@ BUILT_SOURCES = \
lib_LTLIBRARIES = libempathy.la
libempathy_la_SOURCES = \
+ empathy-account.c \
+ empathy-account-priv.h \
empathy-account-manager.c \
empathy-chatroom.c \
empathy-chatroom-manager.c \
@@ -33,6 +37,7 @@ libempathy_la_SOURCES = \
empathy-contact-manager.c \
empathy-contact-monitor.c \
empathy-debug.c \
+ empathy-debugger.c \
empathy-dispatcher.c \
empathy-dispatch-operation.c \
empathy-ft-factory.c \
@@ -63,13 +68,15 @@ nodist_libempathy_la_SOURCES =\
libempathy_la_LIBADD = \
$(top_builddir)/extensions/libemp-extensions.la \
$(LIBEMPATHY_LIBS) \
- $(GEOCLUE_LIBS)
+ $(GEOCLUE_LIBS) \
+ $(NETWORK_MANAGER_LIBS)
libempathy_la_LDFLAGS = \
-version-info ${LIBEMPATHY_CURRENT}:${LIBEMPATHY_REVISION}:${LIBEMPATHY_AGE} \
-export-symbols-regex ^empathy_
libempathy_headers = \
+ empathy-account.h \
empathy-account-manager.h \
empathy-chatroom.h \
empathy-chatroom-manager.h \
@@ -81,6 +88,7 @@ libempathy_headers = \
empathy-contact-manager.h \
empathy-contact-monitor.h \
empathy-debug.h \
+ empathy-debugger.h \
empathy-dispatcher.h \
empathy-dispatch-operation.h \
empathy-ft-factory.h \
diff --git a/libempathy/empathy-account-manager.c b/libempathy/empathy-account-manager.c
index dd0a72f59..fd8a21b1d 100644
--- a/libempathy/empathy-account-manager.c
+++ b/libempathy/empathy-account-manager.c
@@ -16,6 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* Authors: Cosimo Cecchi <cosimo.cecchi@collabora.co.uk>
+ * Sjoerd Simons <sjoerd.simons@collabora.co.uk>
*/
#include "config.h"
@@ -23,6 +24,7 @@
#include <libmissioncontrol/mc-account-monitor.h>
#include "empathy-account-manager.h"
+#include "empathy-account-priv.h"
#include "empathy-marshal.h"
#include "empathy-utils.h"
@@ -35,22 +37,13 @@ typedef struct {
McAccountMonitor *monitor;
MissionControl *mc;
- GHashTable *accounts; /* McAccount -> AccountData */
- GHashTable *connections; /* TpConnection -> McAccount */
+ /* (owned) unique name -> (reffed) EmpathyAccount */
+ GHashTable *accounts;
int connected;
int connecting;
gboolean dispose_run;
} EmpathyAccountManagerPriv;
-typedef struct {
- TpConnection *connection;
- TpConnectionPresenceType presence;
- TpConnectionStatus status;
- gboolean is_enabled;
-
- guint source_id;
-} AccountData;
-
enum {
ACCOUNT_CREATED,
ACCOUNT_DELETED,
@@ -68,122 +61,154 @@ static EmpathyAccountManager *manager_singleton = NULL;
G_DEFINE_TYPE (EmpathyAccountManager, empathy_account_manager, G_TYPE_OBJECT);
-static AccountData *
-account_data_new (McPresence presence,
- TpConnectionStatus status,
- gboolean is_enabled)
+static TpConnectionPresenceType
+mc_presence_to_tp_presence (McPresence presence)
{
- AccountData *retval;
+ switch (presence)
+ {
+ case MC_PRESENCE_OFFLINE:
+ return TP_CONNECTION_PRESENCE_TYPE_OFFLINE;
+ case MC_PRESENCE_AVAILABLE:
+ return TP_CONNECTION_PRESENCE_TYPE_AVAILABLE;
+ case MC_PRESENCE_AWAY:
+ return TP_CONNECTION_PRESENCE_TYPE_AWAY;
+ case MC_PRESENCE_EXTENDED_AWAY:
+ return TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY;
+ case MC_PRESENCE_HIDDEN:
+ return TP_CONNECTION_PRESENCE_TYPE_HIDDEN;
+ case MC_PRESENCE_DO_NOT_DISTURB:
+ return TP_CONNECTION_PRESENCE_TYPE_BUSY;
+ default:
+ return TP_CONNECTION_PRESENCE_TYPE_UNSET;
+ }
+}
- retval = g_slice_new0 (AccountData);
- retval->presence = presence;
- retval->status = status;
- retval->is_enabled = is_enabled;
- retval->source_id = 0;
+static void
+emp_account_connection_cb (EmpathyAccount *account,
+ GParamSpec *spec,
+ gpointer manager)
+{
+ TpConnection *connection = empathy_account_get_connection (account);
- return retval;
+ DEBUG ("Signalling connection %p of account %s",
+ connection, empathy_account_get_unique_name (account));
+
+ if (connection != NULL)
+ g_signal_emit (manager, signals[NEW_CONNECTION], 0, connection);
}
-static AccountData *
-account_data_new_default (MissionControl *mc,
- McAccount *account)
+static void
+emp_account_status_changed_cb (EmpathyAccount *account,
+ TpConnectionStatus old,
+ TpConnectionStatus new,
+ TpConnectionStatusReason reason,
+ gpointer user_data)
{
- McPresence actual_p;
- TpConnectionStatus actual_c;
- GError *err = NULL;
+ EmpathyAccountManager *manager = EMPATHY_ACCOUNT_MANAGER (user_data);
+ EmpathyAccountManagerPriv *priv = GET_PRIV (manager);
- actual_p = mission_control_get_presence_actual (mc, &err);
- if (err != NULL)
+ switch (old)
{
- actual_p = MC_PRESENCE_UNSET;
- g_clear_error (&err);
+ case TP_CONNECTION_STATUS_CONNECTING:
+ priv->connecting--;
+ break;
+ case TP_CONNECTION_STATUS_CONNECTED:
+ priv->connected--;
+ break;
+ default:
+ break;
}
- actual_c = mission_control_get_connection_status (mc, account, &err);
-
- if (err != NULL)
+ switch (new)
{
- actual_c = TP_CONNECTION_STATUS_DISCONNECTED;
- g_error_free (err);
+ case TP_CONNECTION_STATUS_CONNECTING:
+ priv->connecting++;
+ break;
+ case TP_CONNECTION_STATUS_CONNECTED:
+ priv->connected++;
+ break;
+ default:
+ break;
}
- return account_data_new (actual_p, actual_c, mc_account_is_enabled (account));
+ g_signal_emit (manager, signals[ACCOUNT_CONNECTION_CHANGED], 0,
+ account, reason, new, old);
}
static void
-account_data_free (AccountData *data)
+emp_account_presence_changed_cb (EmpathyAccount *account,
+ TpConnectionPresenceType old,
+ TpConnectionPresenceType new,
+ gpointer user_data)
{
- if (data->source_id > 0)
- {
- g_source_remove (data->source_id);
- data->source_id = 0;
- }
- if (data->connection != NULL)
- {
- g_object_unref (data->connection);
- data->connection = NULL;
- }
-
- g_slice_free (AccountData, data);
+ EmpathyAccountManager *manager = EMPATHY_ACCOUNT_MANAGER (user_data);
+ g_signal_emit (manager, signals[ACCOUNT_PRESENCE_CHANGED], 0,
+ account, new, old);
}
-static void
-connection_invalidated_cb (TpProxy *connection,
- guint domain,
- gint code,
- gchar *message,
- EmpathyAccountManager *manager)
+static EmpathyAccount *
+create_account (EmpathyAccountManager *manager,
+ const gchar *account_name,
+ McAccount *mc_account)
{
EmpathyAccountManagerPriv *priv = GET_PRIV (manager);
- McAccount *account;
- AccountData *data;
+ EmpathyAccount *account;
+ TpConnectionStatus status;
+ TpConnectionPresenceType presence;
+ McPresence mc_presence;
+ TpConnection *connection;
+ GError *error = NULL;
- DEBUG ("Message: %s", message);
+ if ((account = g_hash_table_lookup (priv->accounts, account_name)) != NULL)
+ return account;
- account = g_hash_table_lookup (priv->connections, connection);
- g_assert (account != NULL);
+ account = _empathy_account_new (mc_account);
+ g_hash_table_insert (priv->accounts, g_strdup (account_name),
+ account);
- data = g_hash_table_lookup (priv->accounts, account);
- g_assert (data != NULL);
+ _empathy_account_set_enabled (account,
+ mc_account_is_enabled (mc_account));
- g_object_unref (data->connection);
- data->connection = NULL;
+ g_signal_emit (manager, signals[ACCOUNT_CREATED], 0, account);
- g_hash_table_remove (priv->connections, connection);
-}
+ g_signal_connect (account, "notify::connection",
+ G_CALLBACK (emp_account_connection_cb), manager);
-static void
-connection_ready_cb (TpConnection *connection,
- const GError *error,
- gpointer manager)
-{
- /* Errors will be handled in invalidated callback */
- if (error != NULL)
- return;
+ connection = mission_control_get_tpconnection (priv->mc,
+ mc_account, NULL);
+ _empathy_account_set_connection (account, connection);
- g_signal_emit (manager, signals[NEW_CONNECTION], 0, connection);
-}
+ status = mission_control_get_connection_status (priv->mc,
+ mc_account, &error);
-static void
-account_manager_update_connection (EmpathyAccountManager *manager,
- AccountData *data,
- McAccount *account)
-{
- EmpathyAccountManagerPriv *priv = GET_PRIV (manager);
-
- if (data->connection)
- return;
+ if (error != NULL)
+ {
+ status = TP_CONNECTION_STATUS_DISCONNECTED;
+ g_clear_error (&error);
+ }
- data->connection = mission_control_get_tpconnection (priv->mc, account, NULL);
- if (data->connection != NULL)
+ mc_presence = mission_control_get_presence_actual (priv->mc, &error);
+ if (error != NULL)
+ {
+ presence = TP_CONNECTION_PRESENCE_TYPE_UNSET;
+ g_clear_error (&error);
+ }
+ else
{
- g_signal_connect (data->connection, "invalidated",
- G_CALLBACK (connection_invalidated_cb), manager);
- g_hash_table_insert (priv->connections, g_object_ref (data->connection),
- g_object_ref (account));
- tp_connection_call_when_ready (data->connection, connection_ready_cb,
- manager);
+ presence = mc_presence_to_tp_presence (mc_presence);
}
+
+ g_signal_connect (account, "status-changed",
+ G_CALLBACK (emp_account_status_changed_cb), manager);
+
+ g_signal_connect (account, "presence-changed",
+ G_CALLBACK (emp_account_presence_changed_cb), manager);
+
+ _empathy_account_set_status (account, status,
+ TP_CONNECTION_STATUS_REASON_NONE_SPECIFIED,
+ presence);
+
+ return account;
}
static void
@@ -191,32 +216,10 @@ account_created_cb (McAccountMonitor *mon,
gchar *account_name,
EmpathyAccountManager *manager)
{
- McAccount *account;
- EmpathyAccountManagerPriv *priv = GET_PRIV (manager);
- TpConnectionStatus initial_status;
+ McAccount *mc_account = mc_account_lookup (account_name);
- account = mc_account_lookup (account_name);
-
- if (account)
- {
- AccountData *data;
-
- data = account_data_new_default (priv->mc, account);
- g_hash_table_insert (priv->accounts, g_object_ref (account), data);
-
- initial_status = mission_control_get_connection_status (priv->mc,
- account, NULL);
-
- if (initial_status == TP_CONNECTION_STATUS_CONNECTED)
- priv->connected++;
- else if (initial_status == TP_CONNECTION_STATUS_CONNECTING)
- priv->connecting++;
-
- account_manager_update_connection (manager, data, account);
-
- g_signal_emit (manager, signals[ACCOUNT_CREATED], 0, account);
- g_object_unref (account);
- }
+ if (mc_account != NULL)
+ create_account (manager, account_name, mc_account);
}
static void
@@ -224,16 +227,15 @@ account_deleted_cb (McAccountMonitor *mon,
gchar *account_name,
EmpathyAccountManager *manager)
{
- McAccount *account;
EmpathyAccountManagerPriv *priv = GET_PRIV (manager);
+ EmpathyAccount *account;
- account = mc_account_lookup (account_name);
+ account = g_hash_table_lookup (priv->accounts, account_name);
if (account)
{
- g_hash_table_remove (priv->accounts, account);
g_signal_emit (manager, signals[ACCOUNT_DELETED], 0, account);
- g_object_unref (account);
+ g_hash_table_remove (priv->accounts, account_name);
}
}
@@ -242,15 +244,13 @@ account_changed_cb (McAccountMonitor *mon,
gchar *account_name,
EmpathyAccountManager *manager)
{
- McAccount *account;
+ EmpathyAccountManagerPriv *priv = GET_PRIV (manager);
+ EmpathyAccount *account;
- account = mc_account_lookup (account_name);
+ account = g_hash_table_lookup (priv->accounts, account_name);
- if (account)
- {
- g_signal_emit (manager, signals[ACCOUNT_CHANGED], 0, account);
- g_object_unref (account);
- }
+ if (account != NULL)
+ g_signal_emit (manager, signals[ACCOUNT_CHANGED], 0, account);
}
static void
@@ -258,20 +258,15 @@ account_disabled_cb (McAccountMonitor *mon,
gchar *account_name,
EmpathyAccountManager *manager)
{
- McAccount *account;
EmpathyAccountManagerPriv *priv = GET_PRIV (manager);
- AccountData *data;
+ EmpathyAccount *account;
- account = mc_account_lookup (account_name);
+ account = g_hash_table_lookup (priv->accounts, account_name);
if (account)
{
- data = g_hash_table_lookup (priv->accounts, account);
- g_assert (data);
- data->is_enabled = FALSE;
-
+ _empathy_account_set_enabled (account, FALSE);
g_signal_emit (manager, signals[ACCOUNT_DISABLED], 0, account);
- g_object_unref (account);
}
}
@@ -280,135 +275,60 @@ account_enabled_cb (McAccountMonitor *mon,
gchar *account_name,
EmpathyAccountManager *manager)
{
- McAccount *account;
EmpathyAccountManagerPriv *priv = GET_PRIV (manager);
- AccountData *data;
+ EmpathyAccount *account;
- account = mc_account_lookup (account_name);
+ account = g_hash_table_lookup (priv->accounts, account_name);
if (account)
{
- data = g_hash_table_lookup (priv->accounts, account);
- g_assert (data);
- data->is_enabled = TRUE;
-
+ _empathy_account_set_enabled (account, TRUE);
g_signal_emit (manager, signals[ACCOUNT_ENABLED], 0, account);
- g_object_unref (account);
- }
-}
-
-static void
-update_connection_numbers (EmpathyAccountManager *manager,
- TpConnectionStatus status,
- TpConnectionStatus old_s)
-{
- EmpathyAccountManagerPriv *priv = GET_PRIV (manager);
-
- if (status == TP_CONNECTION_STATUS_CONNECTED)
- {
- priv->connected++;
- if (old_s == TP_CONNECTION_STATUS_CONNECTING)
- priv->connecting--;
- }
-
- if (status == TP_CONNECTION_STATUS_CONNECTING)
- {
- priv->connecting++;
- if (old_s == TP_CONNECTION_STATUS_CONNECTED)
- priv->connected--;
- }
-
- if (status == TP_CONNECTION_STATUS_DISCONNECTED)
- {
- if (old_s == TP_CONNECTION_STATUS_CONNECTED)
- priv->connected--;
-
- if (old_s == TP_CONNECTION_STATUS_CONNECTING)
- priv->connecting--;
}
}
-static gboolean
-remove_data_timeout (gpointer _data)
-{
- AccountData *data = _data;
-
- data->source_id = 0;
-
- return FALSE;
-}
-
typedef struct {
TpConnectionStatus status;
- McPresence presence;
+ TpConnectionPresenceType presence;
TpConnectionStatusReason reason;
gchar *unique_name;
EmpathyAccountManager *manager;
+ McAccount *mc_account;
} ChangedSignalData;
static gboolean
account_status_changed_idle_cb (ChangedSignalData *signal_data)
{
- McAccount *account;
- AccountData *data;
- McPresence presence, old_p;
- TpConnectionStatus status, old_s;
- gboolean emit_presence = FALSE, emit_connection = FALSE;
+ EmpathyAccount *account;
EmpathyAccountManager *manager = signal_data->manager;
EmpathyAccountManagerPriv *priv = GET_PRIV (manager);
- presence = signal_data->presence;
- status = signal_data->status;
- account = mc_account_lookup (signal_data->unique_name);
+ account = g_hash_table_lookup (priv->accounts,
+ signal_data->unique_name);
if (account)
{
- data = g_hash_table_lookup (priv->accounts, account);
- g_assert (data);
-
- old_p = data->presence;
- old_s = data->status;
-
- if (old_p != presence)
+ if (empathy_account_get_connection (account) == NULL)
{
- data->presence = presence;
- emit_presence = TRUE;
- }
+ TpConnection *connection;
- if (old_s != status)
- {
- data->status = status;
- update_connection_numbers (manager, status, old_s);
+ connection = mission_control_get_tpconnection (priv->mc,
+ signal_data->mc_account, NULL);
- if (status == TP_CONNECTION_STATUS_CONNECTED)
+ if (connection != NULL)
{
- if (data->source_id > 0)
- {
- g_source_remove (data->source_id);
- data->source_id = 0;
- }
-
- data->source_id = g_timeout_add_seconds (10,
- remove_data_timeout,
- data);
+ _empathy_account_set_connection (account, connection);
+ g_object_unref (connection);
}
- emit_connection = TRUE;
}
- account_manager_update_connection (manager, data, account);
-
- if (emit_presence)
- g_signal_emit (manager, signals[ACCOUNT_PRESENCE_CHANGED], 0,
- account, presence, old_p);
-
- if (emit_connection)
- g_signal_emit (manager, signals[ACCOUNT_CONNECTION_CHANGED], 0,
- account, signal_data->reason, status, old_s);
-
- g_object_unref (account);
+ _empathy_account_set_status (account, signal_data->status,
+ signal_data->reason,
+ signal_data->presence);
}
g_object_unref (signal_data->manager);
+ g_object_unref (signal_data->mc_account);
g_free (signal_data->unique_name);
g_slice_free (ChangedSignalData, signal_data);
@@ -424,38 +344,18 @@ account_status_changed_cb (MissionControl *mc,
EmpathyAccountManager *manager)
{
ChangedSignalData *data;
- TpConnectionPresenceType tp_presence;
- switch (presence)
- {
- case MC_PRESENCE_OFFLINE:
- tp_presence = TP_CONNECTION_PRESENCE_TYPE_OFFLINE;
- break;
- case MC_PRESENCE_AVAILABLE:
- tp_presence = TP_CONNECTION_PRESENCE_TYPE_AVAILABLE;
- break;
- case MC_PRESENCE_AWAY:
- tp_presence = TP_CONNECTION_PRESENCE_TYPE_AWAY;
- break;
- case MC_PRESENCE_EXTENDED_AWAY:
- tp_presence = TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY;
- break;
- case MC_PRESENCE_HIDDEN:
- tp_presence = TP_CONNECTION_PRESENCE_TYPE_HIDDEN;
- break;
- case MC_PRESENCE_DO_NOT_DISTURB:
- tp_presence = TP_CONNECTION_PRESENCE_TYPE_BUSY;
- break;
- default:
- tp_presence = TP_CONNECTION_PRESENCE_TYPE_UNSET;
- }
+ DEBUG ("Status of account %s became "
+ "status: %d presence: %d reason: %d", unique_name, status,
+ presence, reason);
data = g_slice_new0 (ChangedSignalData);
data->status = status;
- data->presence = tp_presence;
+ data->presence = mc_presence_to_tp_presence (presence);
data->reason = reason;
data->unique_name = g_strdup (unique_name);
data->manager = g_object_ref (manager);
+ data->mc_account = mc_account_lookup (unique_name);
g_idle_add ((GSourceFunc) account_status_changed_idle_cb, data);
}
@@ -467,35 +367,33 @@ empathy_account_manager_init (EmpathyAccountManager *manager)
GList *mc_accounts, *l;
priv = G_TYPE_INSTANCE_GET_PRIVATE (manager,
- EMPATHY_TYPE_ACCOUNT_MANAGER, EmpathyAccountManagerPriv);
+ EMPATHY_TYPE_ACCOUNT_MANAGER, EmpathyAccountManagerPriv);
+
manager->priv = priv;
priv->monitor = mc_account_monitor_new ();
priv->mc = empathy_mission_control_dup_singleton ();
priv->connected = priv->connecting = 0;
priv->dispose_run = FALSE;
- priv->accounts = g_hash_table_new_full (empathy_account_hash,
- empathy_account_equal,
- g_object_unref,
- (GDestroyNotify) account_data_free);
- priv->connections = g_hash_table_new_full (g_direct_hash, g_direct_equal,
- g_object_unref, g_object_unref);
+ priv->accounts = g_hash_table_new_full (g_str_hash, g_str_equal,
+ g_free, (GDestroyNotify) g_object_unref);
mc_accounts = mc_accounts_list ();
for (l = mc_accounts; l; l = l->next)
- account_created_cb (priv->monitor, (char *) mc_account_get_unique_name (l->data), manager);
+ account_created_cb (priv->monitor,
+ (char *) mc_account_get_unique_name (l->data), manager);
g_signal_connect (priv->monitor, "account-created",
- G_CALLBACK (account_created_cb), manager);
+ G_CALLBACK (account_created_cb), manager);
g_signal_connect (priv->monitor, "account-deleted",
- G_CALLBACK (account_deleted_cb), manager);
+ G_CALLBACK (account_deleted_cb), manager);
g_signal_connect (priv->monitor, "account-disabled",
- G_CALLBACK (account_disabled_cb), manager);
+ G_CALLBACK (account_disabled_cb), manager);
g_signal_connect (priv->monitor, "account-enabled",
- G_CALLBACK (account_enabled_cb), manager);
+ G_CALLBACK (account_enabled_cb), manager);
g_signal_connect (priv->monitor, "account-changed",
- G_CALLBACK (account_changed_cb), manager);
+ G_CALLBACK (account_changed_cb), manager);
dbus_g_proxy_connect_signal (DBUS_G_PROXY (priv->mc), "AccountStatusChanged",
G_CALLBACK (account_status_changed_cb),
@@ -510,8 +408,7 @@ do_finalize (GObject *obj)
EmpathyAccountManager *manager = EMPATHY_ACCOUNT_MANAGER (obj);
EmpathyAccountManagerPriv *priv = GET_PRIV (manager);
- g_hash_table_unref (priv->accounts);
- g_hash_table_unref (priv->connections);
+ g_hash_table_destroy (priv->accounts);
G_OBJECT_CLASS (empathy_account_manager_parent_class)->finalize (obj);
}
@@ -596,7 +493,7 @@ empathy_account_manager_class_init (EmpathyAccountManagerClass *klass)
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE,
- 1, MC_TYPE_ACCOUNT);
+ 1, EMPATHY_TYPE_ACCOUNT);
signals[ACCOUNT_DELETED] =
g_signal_new ("account-deleted",
@@ -606,7 +503,7 @@ empathy_account_manager_class_init (EmpathyAccountManagerClass *klass)
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE,
- 1, MC_TYPE_ACCOUNT);
+ 1, EMPATHY_TYPE_ACCOUNT);
signals[ACCOUNT_ENABLED] =
g_signal_new ("account-enabled",
@@ -616,7 +513,7 @@ empathy_account_manager_class_init (EmpathyAccountManagerClass *klass)
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE,
- 1, MC_TYPE_ACCOUNT);
+ 1, EMPATHY_TYPE_ACCOUNT);
signals[ACCOUNT_DISABLED] =
g_signal_new ("account-disabled",
@@ -626,7 +523,7 @@ empathy_account_manager_class_init (EmpathyAccountManagerClass *klass)
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE,
- 1, MC_TYPE_ACCOUNT);
+ 1, EMPATHY_TYPE_ACCOUNT);
signals[ACCOUNT_CHANGED] =
g_signal_new ("account-changed",
@@ -636,7 +533,7 @@ empathy_account_manager_class_init (EmpathyAccountManagerClass *klass)
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE,
- 1, MC_TYPE_ACCOUNT);
+ 1, EMPATHY_TYPE_ACCOUNT);
signals[ACCOUNT_CONNECTION_CHANGED] =
g_signal_new ("account-connection-changed",
@@ -646,7 +543,7 @@ empathy_account_manager_class_init (EmpathyAccountManagerClass *klass)
NULL, NULL,
_empathy_marshal_VOID__OBJECT_INT_UINT_UINT,
G_TYPE_NONE,
- 4, MC_TYPE_ACCOUNT,
+ 4, EMPATHY_TYPE_ACCOUNT,
G_TYPE_INT, /* reason */
G_TYPE_UINT, /* actual connection */
G_TYPE_UINT); /* previous connection */
@@ -659,7 +556,7 @@ empathy_account_manager_class_init (EmpathyAccountManagerClass *klass)
NULL, NULL,
_empathy_marshal_VOID__OBJECT_INT_INT,
G_TYPE_NONE,
- 3, MC_TYPE_ACCOUNT,
+ 3, EMPATHY_TYPE_ACCOUNT,
G_TYPE_INT, /* actual presence */
G_TYPE_INT); /* previous presence */
@@ -684,6 +581,16 @@ empathy_account_manager_dup_singleton (void)
return g_object_new (EMPATHY_TYPE_ACCOUNT_MANAGER, NULL);
}
+EmpathyAccount *
+empathy_account_manager_create (EmpathyAccountManager *manager,
+ McProfile *profile)
+{
+ McAccount *mc_account = mc_account_create (profile);
+ return g_object_ref (create_account (manager,
+ mc_account_get_unique_name (mc_account),
+ mc_account));
+}
+
int
empathy_account_manager_get_connected_accounts (EmpathyAccountManager *manager)
{
@@ -708,23 +615,6 @@ empathy_account_manager_get_connecting_accounts (EmpathyAccountManager *manager)
return priv->connecting;
}
-gboolean
-empathy_account_manager_is_account_just_connected (EmpathyAccountManager *manager,
- McAccount *account)
-{
- EmpathyAccountManagerPriv *priv;
- AccountData *data;
-
- g_return_val_if_fail (EMPATHY_IS_ACCOUNT_MANAGER (manager), FALSE);
-
- priv = GET_PRIV (manager);
- data = g_hash_table_lookup (priv->accounts, account);
-
- g_assert (data);
-
- return (data->source_id > 0);
-}
-
/**
* empathy_account_manager_get_count:
* @manager: a #EmpathyAccountManager
@@ -745,62 +635,59 @@ empathy_account_manager_get_count (EmpathyAccountManager *manager)
return g_hash_table_size (priv->accounts);
}
-McAccount *
+EmpathyAccount *
empathy_account_manager_get_account (EmpathyAccountManager *manager,
TpConnection *connection)
{
EmpathyAccountManagerPriv *priv;
+ GHashTableIter iter;
+ gpointer value;
g_return_val_if_fail (EMPATHY_IS_ACCOUNT_MANAGER (manager), 0);
priv = GET_PRIV (manager);
- return g_hash_table_lookup (priv->connections, connection);
+ g_hash_table_iter_init (&iter, priv->accounts);
+ while (g_hash_table_iter_next (&iter, NULL, &value))
+ {
+ EmpathyAccount *account = EMPATHY_ACCOUNT (value);
+
+ if (connection == empathy_account_get_connection (account))
+ return account;
+ }
+
+ return NULL;
}
-GList *
-empathy_account_manager_dup_accounts (EmpathyAccountManager *manager)
+EmpathyAccount *
+empathy_account_manager_lookup (EmpathyAccountManager *manager,
+ const gchar *unique_name)
{
- EmpathyAccountManagerPriv *priv;
- GList *ret;
-
- g_return_val_if_fail (EMPATHY_IS_ACCOUNT_MANAGER (manager), NULL);
+ EmpathyAccountManagerPriv *priv = GET_PRIV (manager);
+ EmpathyAccount *account;
- priv = GET_PRIV (manager);
+ account = g_hash_table_lookup (priv->accounts, unique_name);
- ret = g_hash_table_get_keys (priv->accounts);
- g_list_foreach (ret, (GFunc) g_object_ref, NULL);
+ if (account != NULL)
+ g_object_ref (account);
- return ret;
+ return account;
}
-/**
- * empathy_account_manager_get_connection:
- * @manager: a #EmpathyAccountManager
- * @account: a #McAccount
- *
- * Get the connection of the accounts, or NULL if account is offline or the
- * connection is not yet ready. This function does not return a new ref.
- *
- * Returns: the connection of the accounts.
- **/
-TpConnection *
-empathy_account_manager_get_connection (EmpathyAccountManager *manager,
- McAccount *account)
+GList *
+empathy_account_manager_dup_accounts (EmpathyAccountManager *manager)
{
EmpathyAccountManagerPriv *priv;
- AccountData *data;
+ GList *ret;
g_return_val_if_fail (EMPATHY_IS_ACCOUNT_MANAGER (manager), NULL);
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
priv = GET_PRIV (manager);
- data = g_hash_table_lookup (priv->accounts, account);
- if (data && data->connection && tp_connection_is_ready (data->connection))
- return data->connection;
+ ret = g_hash_table_get_values (priv->accounts);
+ g_list_foreach (ret, (GFunc) g_object_ref, NULL);
- return NULL;
+ return ret;
}
/**
@@ -817,18 +704,30 @@ empathy_account_manager_dup_connections (EmpathyAccountManager *manager)
{
EmpathyAccountManagerPriv *priv;
GHashTableIter iter;
- gpointer connection;
+ gpointer value;
GList *ret = NULL;
g_return_val_if_fail (EMPATHY_IS_ACCOUNT_MANAGER (manager), NULL);
priv = GET_PRIV (manager);
- g_hash_table_iter_init (&iter, priv->connections);
- while (g_hash_table_iter_next (&iter, &connection, NULL))
- if (connection != NULL && tp_connection_is_ready (connection))
- ret = g_list_prepend (ret, g_object_ref (connection));
+ g_hash_table_iter_init (&iter, priv->accounts);
+ while (g_hash_table_iter_next (&iter, NULL, &value))
+ {
+ EmpathyAccount *account = EMPATHY_ACCOUNT (value);
+ TpConnection *connection;
+
+ connection = empathy_account_get_connection (account);
+ if (connection != NULL)
+ ret = g_list_prepend (ret, g_object_ref (connection));
+ }
return ret;
}
+void
+empathy_account_manager_remove (EmpathyAccountManager *manager,
+ EmpathyAccount *account)
+{
+ mc_account_delete (_empathy_account_get_mc_account (account));
+}
diff --git a/libempathy/empathy-account-manager.h b/libempathy/empathy-account-manager.h
index 11ca6aca2..b04571ff8 100644
--- a/libempathy/empathy-account-manager.h
+++ b/libempathy/empathy-account-manager.h
@@ -24,7 +24,7 @@
#include <glib-object.h>
-#include <libmissioncontrol/mc-account.h>
+#include "empathy-account.h"
G_BEGIN_DECLS
@@ -52,25 +52,28 @@ GType empathy_account_manager_get_type (void);
/* public methods */
EmpathyAccountManager * empathy_account_manager_dup_singleton (void);
+EmpathyAccount * empathy_account_manager_create
+ (EmpathyAccountManager *manager,
+ McProfile *profile);
int empathy_account_manager_get_connected_accounts
(EmpathyAccountManager *manager);
int empathy_account_manager_get_connecting_accounts
(EmpathyAccountManager *manager);
-gboolean empathy_account_manager_is_account_just_connected
- (EmpathyAccountManager *manager,
- McAccount *account);
int empathy_account_manager_get_count
(EmpathyAccountManager *manager);
-McAccount * empathy_account_manager_get_account
+EmpathyAccount * empathy_account_manager_get_account
(EmpathyAccountManager *manager,
TpConnection *connection);
+EmpathyAccount * empathy_account_manager_lookup
+ (EmpathyAccountManager *manager,
+ const gchar *unique_name);
GList * empathy_account_manager_dup_accounts
(EmpathyAccountManager *manager);
-TpConnection * empathy_account_manager_get_connection
- (EmpathyAccountManager *manager,
- McAccount *account);
GList * empathy_account_manager_dup_connections
(EmpathyAccountManager *manager);
+void empathy_account_manager_remove (
+ EmpathyAccountManager *manager,
+ EmpathyAccount *account);
G_END_DECLS
diff --git a/libempathy/empathy-account-priv.h b/libempathy/empathy-account-priv.h
new file mode 100644
index 000000000..8b656b4d8
--- /dev/null
+++ b/libempathy/empathy-account-priv.h
@@ -0,0 +1,44 @@
+/*
+ * empathy-account-priv.h - Private Header for EmpathyAccount
+ * Copyright (C) 2009 Collabora Ltd.
+ * @author Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef __EMPATHY_ACCOUNT_PRIV_H__
+#define __EMPATHY_ACCOUNT_PRIV_H__
+
+#include <glib.h>
+
+#include <libmissioncontrol/mc-account.h>
+#include "empathy-account.h"
+
+G_BEGIN_DECLS
+
+EmpathyAccount *_empathy_account_new (McAccount *account);
+void _empathy_account_set_status (EmpathyAccount *account,
+ TpConnectionStatus status,
+ TpConnectionStatusReason reason,
+ TpConnectionPresenceType presence);
+void _empathy_account_set_connection (EmpathyAccount *account,
+ TpConnection *connection);
+void _empathy_account_set_enabled (EmpathyAccount *account,
+ gboolean enabled);
+McAccount *_empathy_account_get_mc_account (EmpathyAccount *account);
+
+G_END_DECLS
+
+#endif /* #ifndef __EMPATHY_ACCOUNT_PRIV_H__*/
diff --git a/libempathy/empathy-account.c b/libempathy/empathy-account.c
new file mode 100644
index 000000000..e0a8e756b
--- /dev/null
+++ b/libempathy/empathy-account.c
@@ -0,0 +1,575 @@
+/*
+ * empathy-account.c - Source for EmpathyAccount
+ * Copyright (C) 2009 Collabora Ltd.
+ * @author Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <telepathy-glib/enums.h>
+
+#define DEBUG_FLAG EMPATHY_DEBUG_ACCOUNT
+#include <libempathy/empathy-debug.h>
+
+#include "empathy-account.h"
+#include "empathy-account-priv.h"
+#include "empathy-utils.h"
+#include "empathy-marshal.h"
+
+/* signals */
+enum {
+ STATUS_CHANGED,
+ PRESENCE_CHANGED,
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL];
+
+/* properties */
+enum {
+ PROP_ENABLED = 1,
+ PROP_PRESENCE,
+ PROP_CONNECTION_STATUS,
+ PROP_CONNECTION_STATUS_REASON,
+ PROP_CONNECTION,
+ PROP_UNIQUE_NAME,
+ PROP_DISPLAY_NAME
+};
+
+G_DEFINE_TYPE(EmpathyAccount, empathy_account, G_TYPE_OBJECT)
+
+/* private structure */
+typedef struct _EmpathyAccountPriv EmpathyAccountPriv;
+
+struct _EmpathyAccountPriv
+{
+ gboolean dispose_has_run;
+
+ TpConnection *connection;
+ guint connection_invalidated_id;
+
+ TpConnectionStatus status;
+ TpConnectionStatusReason reason;
+ TpConnectionPresenceType presence;
+
+ gboolean enabled;
+ /* Timestamp when the connection got connected in seconds since the epoch */
+ glong connect_time;
+
+ McAccount *mc_account;
+};
+
+#define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyAccount)
+
+static void
+empathy_account_init (EmpathyAccount *obj)
+{
+ EmpathyAccountPriv *priv;
+
+ priv = G_TYPE_INSTANCE_GET_PRIVATE (obj,
+ EMPATHY_TYPE_ACCOUNT, EmpathyAccountPriv);
+
+ obj->priv = priv;
+
+ priv->status = TP_CONNECTION_STATUS_DISCONNECTED;
+}
+
+static void
+empathy_account_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ EmpathyAccount *account = EMPATHY_ACCOUNT (object);
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+
+ switch (prop_id)
+ {
+ case PROP_ENABLED:
+ g_value_set_boolean (value, priv->enabled);
+ break;
+ case PROP_PRESENCE:
+ g_value_set_uint (value, priv->presence);
+ break;
+ case PROP_CONNECTION_STATUS:
+ g_value_set_uint (value, priv->status);
+ break;
+ case PROP_CONNECTION_STATUS_REASON:
+ g_value_set_uint (value, priv->reason);
+ break;
+ case PROP_CONNECTION:
+ g_value_set_object (value,
+ empathy_account_get_connection (account));
+ break;
+ case PROP_UNIQUE_NAME:
+ g_value_set_string (value,
+ empathy_account_get_unique_name (account));
+ break;
+ case PROP_DISPLAY_NAME:
+ g_value_set_string (value,
+ empathy_account_get_display_name (account));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void empathy_account_dispose (GObject *object);
+static void empathy_account_finalize (GObject *object);
+
+static void
+empathy_account_class_init (EmpathyAccountClass *empathy_account_class)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (empathy_account_class);
+
+ g_type_class_add_private (empathy_account_class,
+ sizeof (EmpathyAccountPriv));
+
+ object_class->get_property = empathy_account_get_property;
+ object_class->dispose = empathy_account_dispose;
+ object_class->finalize = empathy_account_finalize;
+
+ g_object_class_install_property (object_class, PROP_ENABLED,
+ g_param_spec_boolean ("enabled",
+ "Enabled",
+ "Whether this account is enabled or not",
+ FALSE,
+ G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
+
+ g_object_class_install_property (object_class, PROP_PRESENCE,
+ g_param_spec_uint ("presence",
+ "Presence",
+ "The account connections presence type",
+ 0,
+ NUM_TP_CONNECTION_PRESENCE_TYPES,
+ TP_CONNECTION_PRESENCE_TYPE_UNSET,
+ G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
+
+ g_object_class_install_property (object_class, PROP_CONNECTION_STATUS,
+ g_param_spec_uint ("status",
+ "ConnectionStatus",
+ "The accounts connections status type",
+ 0,
+ NUM_TP_CONNECTION_STATUSES,
+ TP_CONNECTION_STATUS_DISCONNECTED,
+ G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
+
+ g_object_class_install_property (object_class, PROP_CONNECTION_STATUS_REASON,
+ g_param_spec_uint ("status-reason",
+ "ConnectionStatusReason",
+ "The account connections status reason",
+ 0,
+ NUM_TP_CONNECTION_STATUS_REASONS,
+ TP_CONNECTION_STATUS_REASON_NONE_SPECIFIED,
+ G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
+
+ g_object_class_install_property (object_class, PROP_CONNECTION,
+ g_param_spec_object ("connection",
+ "Connection",
+ "The accounts connection",
+ TP_TYPE_CONNECTION,
+ G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
+
+ g_object_class_install_property (object_class, PROP_UNIQUE_NAME,
+ g_param_spec_string ("unique-name",
+ "UniqueName",
+ "The accounts unique name",
+ NULL,
+ G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
+
+ g_object_class_install_property (object_class, PROP_DISPLAY_NAME,
+ g_param_spec_string ("display-name",
+ "DisplayName",
+ "The accounts display name",
+ NULL,
+ G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
+
+ signals[STATUS_CHANGED] = g_signal_new ("status-changed",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0, NULL, NULL,
+ _empathy_marshal_VOID__UINT_UINT_UINT,
+ G_TYPE_NONE, 3, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_UINT);
+
+ signals[PRESENCE_CHANGED] = g_signal_new ("presence-changed",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0, NULL, NULL,
+ _empathy_marshal_VOID__UINT_UINT,
+ G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT);
+}
+
+void
+empathy_account_dispose (GObject *object)
+{
+ EmpathyAccount *self = EMPATHY_ACCOUNT (object);
+ EmpathyAccountPriv *priv = GET_PRIV (self);
+
+ if (priv->dispose_has_run)
+ return;
+
+ priv->dispose_has_run = TRUE;
+
+ if (priv->connection_invalidated_id != 0)
+ g_signal_handler_disconnect (priv->connection,
+ priv->connection_invalidated_id);
+ priv->connection_invalidated_id = 0;
+
+ if (priv->connection != NULL)
+ g_object_unref (priv->connection);
+ priv->connection = NULL;
+
+ /* release any references held by the object here */
+ if (G_OBJECT_CLASS (empathy_account_parent_class)->dispose != NULL)
+ G_OBJECT_CLASS (empathy_account_parent_class)->dispose (object);
+}
+
+void
+empathy_account_finalize (GObject *object)
+{
+ /* free any data held directly by the object here */
+ if (G_OBJECT_CLASS (empathy_account_parent_class)->finalize != NULL)
+ G_OBJECT_CLASS (empathy_account_parent_class)->finalize (object);
+}
+
+gboolean
+empathy_account_is_just_connected (EmpathyAccount *account)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+ GTimeVal val;
+
+ if (priv->status != TP_CONNECTION_STATUS_CONNECTED)
+ return FALSE;
+
+ g_get_current_time (&val);
+
+ return (val.tv_sec - priv->connect_time) < 10;
+}
+
+/**
+ * empathy_account_get_connection:
+ * @account: a #EmpathyAccount
+ *
+ * Get the connection of the account, or NULL if account is offline or the
+ * connection is not yet ready. This function does not return a new ref.
+ *
+ * Returns: the connection of the account.
+ **/
+TpConnection *
+empathy_account_get_connection (EmpathyAccount *account)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+
+ if (priv->connection != NULL &&
+ tp_connection_is_ready (priv->connection))
+ return priv->connection;
+
+ return NULL;
+}
+
+/**
+ * empathy_account_get_unique_name:
+ * @account: a #EmpathyAccount
+ *
+ * Returns: the unique name of the account.
+ **/
+const gchar *
+empathy_account_get_unique_name (EmpathyAccount *account)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+
+ return mc_account_get_unique_name (priv->mc_account);
+}
+
+/**
+ * empathy_account_get_display_name:
+ * @account: a #EmpathyAccount
+ *
+ * Returns: the display name of the account.
+ **/
+const gchar *
+empathy_account_get_display_name (EmpathyAccount *account)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+
+ return mc_account_get_display_name (priv->mc_account);
+}
+
+gboolean
+empathy_account_is_valid (EmpathyAccount *account)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+
+ return mc_account_is_complete (priv->mc_account);
+}
+
+void
+empathy_account_set_enabled (EmpathyAccount *account, gboolean enabled)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+
+ mc_account_set_enabled (priv->mc_account, enabled);
+}
+
+gboolean
+empathy_account_is_enabled (EmpathyAccount *account)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+
+ return priv->enabled;
+}
+
+void
+empathy_account_unset_param (EmpathyAccount *account, const gchar *param)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+
+ mc_account_unset_param (priv->mc_account, param);
+}
+
+gchar *
+empathy_account_get_param_string (EmpathyAccount *account, const gchar *param)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+ gchar *value = NULL;
+
+ mc_account_get_param_string (priv->mc_account, param, &value);
+ return value;
+}
+
+gint
+empathy_account_get_param_int (EmpathyAccount *account, const gchar *param)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+ int value;
+
+ mc_account_get_param_int (priv->mc_account, param, &value);
+ return value;
+}
+
+gboolean
+empathy_account_get_param_boolean (EmpathyAccount *account, const gchar *param)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+ gboolean value;
+
+ mc_account_get_param_boolean (priv->mc_account, param, &value);
+ return value;
+}
+
+void
+empathy_account_set_param_string (EmpathyAccount *account,
+ const gchar *param,
+ const gchar *value)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+ mc_account_set_param_string (priv->mc_account, param, value);
+}
+
+void
+empathy_account_set_param_int (EmpathyAccount *account,
+ const gchar *param,
+ gint value)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+ mc_account_set_param_int (priv->mc_account, param, value);
+}
+
+void
+empathy_account_set_param_boolean (EmpathyAccount *account,
+ const gchar *param,
+ gboolean value)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+ mc_account_set_param_boolean (priv->mc_account, param, value);
+}
+
+void
+empathy_account_set_display_name (EmpathyAccount *account,
+ const gchar *display_name)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+ mc_account_set_display_name (priv->mc_account, display_name);
+}
+
+McProfile *
+empathy_account_get_profile (EmpathyAccount *account)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+ return mc_account_get_profile (priv->mc_account);
+}
+
+EmpathyAccount *
+_empathy_account_new (McAccount *mc_account)
+{
+ EmpathyAccount *account;
+ EmpathyAccountPriv *priv;
+
+ account = g_object_new (EMPATHY_TYPE_ACCOUNT, NULL);
+ priv = GET_PRIV (account);
+ priv->mc_account = mc_account;
+
+ return account;
+}
+
+void
+_empathy_account_set_status (EmpathyAccount *account,
+ TpConnectionStatus status,
+ TpConnectionStatusReason reason,
+ TpConnectionPresenceType presence)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+ TpConnectionStatus old_s = priv->status;
+ TpConnectionPresenceType old_p = priv->presence;
+
+ priv->status = status;
+ priv->presence = presence;
+
+ if (priv->status != old_s)
+ {
+ if (priv->status == TP_CONNECTION_STATUS_CONNECTED)
+ {
+ GTimeVal val;
+ g_get_current_time (&val);
+
+ priv->connect_time = val.tv_sec;
+ }
+
+ priv->reason = reason;
+ g_signal_emit (account, signals[STATUS_CHANGED], 0,
+ old_s, priv->status, reason);
+
+ g_object_notify (G_OBJECT (account), "status");
+ }
+
+ if (priv->presence != old_p)
+ {
+ g_signal_emit (account, signals[PRESENCE_CHANGED], 0,
+ old_p, priv->presence);
+ g_object_notify (G_OBJECT (account), "presence");
+ }
+}
+
+static void
+empathy_account_connection_ready_cb (TpConnection *connection,
+ const GError *error,
+ gpointer user_data)
+{
+ EmpathyAccount *account = EMPATHY_ACCOUNT (user_data);
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+
+ if (error != NULL)
+ {
+ DEBUG ("(%s) Connection failed to become ready: %s",
+ empathy_account_get_unique_name (account), error->message);
+ priv->connection = NULL;
+ }
+ else
+ {
+ DEBUG ("(%s) Connection ready",
+ empathy_account_get_unique_name (account));
+ g_object_notify (G_OBJECT (account), "connection");
+ }
+}
+
+static void
+_empathy_account_connection_invalidated_cb (TpProxy *self,
+ guint domain,
+ gint code,
+ gchar *message,
+ gpointer user_data)
+{
+ EmpathyAccount *account = EMPATHY_ACCOUNT (user_data);
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+
+ if (priv->connection == NULL)
+ return;
+
+ DEBUG ("(%s) Connection invalidated",
+ empathy_account_get_unique_name (account));
+
+ g_assert (priv->connection == TP_CONNECTION (self));
+
+ g_signal_handler_disconnect (priv->connection,
+ priv->connection_invalidated_id);
+ priv->connection_invalidated_id = 0;
+
+ g_object_unref (priv->connection);
+ priv->connection = NULL;
+
+ g_object_notify (G_OBJECT (account), "connection");
+}
+
+void
+_empathy_account_set_connection (EmpathyAccount *account,
+ TpConnection *connection)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+
+ if (priv->connection == connection)
+ return;
+
+ /* Connection already set, don't set the new one */
+ if (connection != NULL && priv->connection != NULL)
+ return;
+
+ if (connection == NULL)
+ {
+ g_signal_handler_disconnect (priv->connection,
+ priv->connection_invalidated_id);
+ priv->connection_invalidated_id = 0;
+
+ g_object_unref (priv->connection);
+ priv->connection = NULL;
+ g_object_notify (G_OBJECT (account), "connection");
+ }
+ else
+ {
+ priv->connection = g_object_ref (connection);
+ priv->connection_invalidated_id = g_signal_connect (priv->connection,
+ "invalidated",
+ G_CALLBACK (_empathy_account_connection_invalidated_cb),
+ account);
+
+ /* notify a change in the connection property when it's ready */
+ tp_connection_call_when_ready (priv->connection,
+ empathy_account_connection_ready_cb, account);
+ }
+}
+
+void
+_empathy_account_set_enabled (EmpathyAccount *account,
+ gboolean enabled)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+
+ if (priv->enabled == enabled)
+ return;
+
+ priv->enabled = enabled;
+ g_object_notify (G_OBJECT (account), "enabled");
+}
+
+McAccount *
+_empathy_account_get_mc_account (EmpathyAccount *account)
+{
+ EmpathyAccountPriv *priv = GET_PRIV (account);
+ return priv->mc_account;
+}
diff --git a/libempathy/empathy-account.h b/libempathy/empathy-account.h
new file mode 100644
index 000000000..75babd826
--- /dev/null
+++ b/libempathy/empathy-account.h
@@ -0,0 +1,94 @@
+/*
+ * empathy-account.h - Header for EmpathyAccount
+ * Copyright (C) 2009 Collabora Ltd.
+ * @author Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef __EMPATHY_ACCOUNT_H__
+#define __EMPATHY_ACCOUNT_H__
+
+#include <glib-object.h>
+
+#include <telepathy-glib/connection.h>
+#include <libmissioncontrol/mc-profile.h>
+
+G_BEGIN_DECLS
+
+typedef struct _EmpathyAccount EmpathyAccount;
+typedef struct _EmpathyAccountClass EmpathyAccountClass;
+
+struct _EmpathyAccountClass {
+ GObjectClass parent_class;
+};
+
+struct _EmpathyAccount {
+ GObject parent;
+ gpointer priv;
+};
+
+GType empathy_account_get_type (void);
+
+/* TYPE MACROS */
+#define EMPATHY_TYPE_ACCOUNT (empathy_account_get_type ())
+#define EMPATHY_ACCOUNT(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj), EMPATHY_TYPE_ACCOUNT, EmpathyAccount))
+#define EMPATHY_ACCOUNT_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass), EMPATHY_TYPE_ACCOUNT, EmpathyAccountClass))
+#define EMPATHY_IS_ACCOUNT(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj), EMPATHY_TYPE_ACCOUNT))
+#define EMPATHY_IS_ACCOUNT_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE((klass), EMPATHY_TYPE_ACCOUNT))
+#define EMPATHY_ACCOUNT_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), EMPATHY_TYPE_ACCOUNT, \
+ EmpathyAccountClass))
+
+gboolean empathy_account_is_just_connected (EmpathyAccount *account);
+TpConnection *empathy_account_get_connection (EmpathyAccount *account);
+const gchar *empathy_account_get_unique_name (EmpathyAccount *account);
+const gchar *empathy_account_get_display_name (EmpathyAccount *account);
+
+void empathy_account_set_enabled (EmpathyAccount *account,
+ gboolean enabled);
+gboolean empathy_account_is_enabled (EmpathyAccount *account);
+
+void empathy_account_unset_param (EmpathyAccount *account, const gchar *param);
+gchar *empathy_account_get_param_string (EmpathyAccount *account,
+ const gchar *param);
+gint empathy_account_get_param_int (EmpathyAccount *account,
+ const gchar *param);
+gboolean empathy_account_get_param_boolean (EmpathyAccount *account,
+ const gchar *param);
+
+void empathy_account_set_param_string (EmpathyAccount *account,
+ const gchar *param, const gchar *value);
+void empathy_account_set_param_int (EmpathyAccount *account,
+ const gchar *param, gint value);
+void empathy_account_set_param_boolean (EmpathyAccount *account,
+ const gchar *param, gboolean value);
+
+gboolean empathy_account_is_valid (EmpathyAccount *account);
+
+void empathy_account_set_display_name (EmpathyAccount *account,
+ const gchar *display_name);
+
+
+/* TODO remove McProfile */
+McProfile *empathy_account_get_profile (EmpathyAccount *account);
+
+G_END_DECLS
+
+#endif /* #ifndef __EMPATHY_ACCOUNT_H__*/
diff --git a/libempathy/empathy-call-handler.c b/libempathy/empathy-call-handler.c
index dd117eb99..f73c41e2e 100644
--- a/libempathy/empathy-call-handler.c
+++ b/libempathy/empathy-call-handler.c
@@ -614,4 +614,5 @@ empathy_call_handler_has_initial_video (EmpathyCallHandler *handler)
EmpathyCallHandlerPriv *priv = GET_PRIV (handler);
return priv->initial_video;
-} \ No newline at end of file
+}
+
diff --git a/libempathy/empathy-chatroom-manager.c b/libempathy/empathy-chatroom-manager.c
index 44416670e..1ce7a6e5d 100644
--- a/libempathy/empathy-chatroom-manager.c
+++ b/libempathy/empathy-chatroom-manager.c
@@ -100,7 +100,8 @@ chatroom_manager_file_save (EmpathyChatroomManager *manager)
continue;
}
- account_id = mc_account_get_unique_name (empathy_chatroom_get_account (chatroom));
+ account_id = empathy_account_get_unique_name (
+ empathy_chatroom_get_account (chatroom));
node = xmlNewChild (root, NULL, "chatroom", NULL);
xmlNewTextChild (node, NULL, "name", empathy_chatroom_get_name (chatroom));
@@ -174,7 +175,7 @@ chatroom_manager_parse_chatroom (EmpathyChatroomManager *manager,
{
EmpathyChatroomManagerPriv *priv;
EmpathyChatroom *chatroom;
- McAccount *account;
+ EmpathyAccount *account;
xmlNodePtr child;
gchar *str;
gchar *name;
@@ -220,7 +221,7 @@ chatroom_manager_parse_chatroom (EmpathyChatroomManager *manager,
xmlFree (str);
}
- account = mc_account_lookup (account_id);
+ account = empathy_account_manager_lookup (priv->account_manager, account_id);
if (!account) {
g_free (name);
g_free (room);
@@ -520,10 +521,11 @@ chatroom_manager_remove_link (EmpathyChatroomManager *manager,
if (empathy_chatroom_is_favorite (chatroom))
reset_save_timeout (manager);
+ priv->chatrooms = g_list_delete_link (priv->chatrooms, l);
+
g_signal_emit (manager, signals[CHATROOM_REMOVED], 0, chatroom);
g_signal_handlers_disconnect_by_func (chatroom, chatroom_changed_cb, manager);
- priv->chatrooms = g_list_delete_link (priv->chatrooms, l);
g_object_unref (chatroom);
}
@@ -556,21 +558,20 @@ empathy_chatroom_manager_remove (EmpathyChatroomManager *manager,
EmpathyChatroom *
empathy_chatroom_manager_find (EmpathyChatroomManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *room)
{
EmpathyChatroomManagerPriv *priv;
GList *l;
g_return_val_if_fail (EMPATHY_IS_CHATROOM_MANAGER (manager), NULL);
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
g_return_val_if_fail (room != NULL, NULL);
priv = GET_PRIV (manager);
for (l = priv->chatrooms; l; l = l->next) {
EmpathyChatroom *chatroom;
- McAccount *this_account;
+ EmpathyAccount *this_account;
const gchar *this_room;
chatroom = l->data;
@@ -589,7 +590,7 @@ empathy_chatroom_manager_find (EmpathyChatroomManager *manager,
GList *
empathy_chatroom_manager_get_chatrooms (EmpathyChatroomManager *manager,
- McAccount *account)
+ EmpathyAccount *account)
{
EmpathyChatroomManagerPriv *priv;
GList *chatrooms, *l;
@@ -619,7 +620,7 @@ empathy_chatroom_manager_get_chatrooms (EmpathyChatroomManager *manager,
guint
empathy_chatroom_manager_get_count (EmpathyChatroomManager *manager,
- McAccount *account)
+ EmpathyAccount *account)
{
EmpathyChatroomManagerPriv *priv;
GList *l;
@@ -686,7 +687,7 @@ chatroom_manager_observe_channel_cb (EmpathyDispatcher *dispatcher,
const gchar *roomname;
GQuark channel_type;
TpHandleType handle_type;
- McAccount *account;
+ EmpathyAccount *account;
TpConnection *connection;
channel_type = empathy_dispatch_operation_get_channel_type_id (operation);
diff --git a/libempathy/empathy-chatroom-manager.h b/libempathy/empathy-chatroom-manager.h
index 76c71d955..a6038f7fc 100644
--- a/libempathy/empathy-chatroom-manager.h
+++ b/libempathy/empathy-chatroom-manager.h
@@ -27,8 +27,7 @@
#include <glib-object.h>
-#include <libmissioncontrol/mc-account.h>
-
+#include "empathy-account.h"
#include "empathy-chatroom.h"
#include "empathy-dispatcher.h"
@@ -60,12 +59,12 @@ gboolean empathy_chatroom_manager_add (EmpathyChatroomMa
void empathy_chatroom_manager_remove (EmpathyChatroomManager *manager,
EmpathyChatroom *chatroom);
EmpathyChatroom * empathy_chatroom_manager_find (EmpathyChatroomManager *manager,
- McAccount *account,
- const gchar *room);
+ EmpathyAccount *account,
+ const gchar *room);
GList * empathy_chatroom_manager_get_chatrooms (EmpathyChatroomManager *manager,
- McAccount *account);
+ EmpathyAccount *account);
guint empathy_chatroom_manager_get_count (EmpathyChatroomManager *manager,
- McAccount *account);
+ EmpathyAccount *account);
void empathy_chatroom_manager_observe (EmpathyChatroomManager *manager,
EmpathyDispatcher *dispatcher);
diff --git a/libempathy/empathy-chatroom.c b/libempathy/empathy-chatroom.c
index 6575bb998..b62d6ad77 100644
--- a/libempathy/empathy-chatroom.c
+++ b/libempathy/empathy-chatroom.c
@@ -31,7 +31,7 @@
#define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyChatroom)
typedef struct {
- McAccount *account;
+ EmpathyAccount *account;
gchar *room;
gchar *name;
gboolean auto_connect;
@@ -84,7 +84,7 @@ empathy_chatroom_class_init (EmpathyChatroomClass *klass)
g_param_spec_object ("account",
"Chatroom Account",
"The account associated with an chatroom",
- MC_TYPE_ACCOUNT,
+ EMPATHY_TYPE_ACCOUNT,
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
@@ -312,22 +312,19 @@ chatroom_set_property (GObject *object,
}
EmpathyChatroom *
-empathy_chatroom_new (McAccount *account)
+empathy_chatroom_new (EmpathyAccount *account)
{
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
-
return g_object_new (EMPATHY_TYPE_CHATROOM,
"account", account,
NULL);
}
EmpathyChatroom *
-empathy_chatroom_new_full (McAccount *account,
+empathy_chatroom_new_full (EmpathyAccount *account,
const gchar *room,
const gchar *name,
gboolean auto_connect)
{
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
g_return_val_if_fail (room != NULL, NULL);
return g_object_new (EMPATHY_TYPE_CHATROOM,
@@ -338,7 +335,7 @@ empathy_chatroom_new_full (McAccount *account,
NULL);
}
-McAccount *
+EmpathyAccount *
empathy_chatroom_get_account (EmpathyChatroom *chatroom)
{
EmpathyChatroomPriv *priv;
@@ -351,12 +348,11 @@ empathy_chatroom_get_account (EmpathyChatroom *chatroom)
void
empathy_chatroom_set_account (EmpathyChatroom *chatroom,
- McAccount *account)
+ EmpathyAccount *account)
{
EmpathyChatroomPriv *priv;
g_return_if_fail (EMPATHY_IS_CHATROOM (chatroom));
- g_return_if_fail (MC_IS_ACCOUNT (account));
priv = GET_PRIV (chatroom);
@@ -407,11 +403,11 @@ empathy_chatroom_get_name (EmpathyChatroom *chatroom)
g_return_val_if_fail (EMPATHY_IS_CHATROOM (chatroom), NULL);
priv = GET_PRIV (chatroom);
-
+
if (EMP_STR_EMPTY (priv->name)) {
return priv->room;
}
-
+
return priv->name;
}
@@ -470,8 +466,8 @@ gboolean
empathy_chatroom_equal (gconstpointer v1,
gconstpointer v2)
{
- McAccount *account_a;
- McAccount *account_b;
+ EmpathyAccount *account_a;
+ EmpathyAccount *account_b;
const gchar *room_a;
const gchar *room_b;
diff --git a/libempathy/empathy-chatroom.h b/libempathy/empathy-chatroom.h
index 560517d48..c18c27449 100644
--- a/libempathy/empathy-chatroom.h
+++ b/libempathy/empathy-chatroom.h
@@ -24,8 +24,7 @@
#include <glib-object.h>
-#include <libmissioncontrol/mc-account.h>
-
+#include <libempathy/empathy-account.h>
#include <libempathy/empathy-tp-chat.h>
G_BEGIN_DECLS
@@ -52,14 +51,14 @@ struct _EmpathyChatroomClass {
};
GType empathy_chatroom_get_type (void) G_GNUC_CONST;
-EmpathyChatroom *empathy_chatroom_new (McAccount *account);
-EmpathyChatroom *empathy_chatroom_new_full (McAccount *account,
+EmpathyChatroom *empathy_chatroom_new (EmpathyAccount *account);
+EmpathyChatroom *empathy_chatroom_new_full (EmpathyAccount *account,
const gchar *room,
const gchar *name,
gboolean auto_connect);
-McAccount * empathy_chatroom_get_account (EmpathyChatroom *chatroom);
+EmpathyAccount * empathy_chatroom_get_account (EmpathyChatroom *chatroom);
void empathy_chatroom_set_account (EmpathyChatroom *chatroom,
- McAccount *account);
+ EmpathyAccount *account);
const gchar * empathy_chatroom_get_room (EmpathyChatroom *chatroom);
void empathy_chatroom_set_room (EmpathyChatroom *chatroom,
const gchar *room);
diff --git a/libempathy/empathy-contact-manager.c b/libempathy/empathy-contact-manager.c
index f415ec19f..7af2bd349 100644
--- a/libempathy/empathy-contact-manager.c
+++ b/libempathy/empathy-contact-manager.c
@@ -87,26 +87,6 @@ contact_manager_groups_changed_cb (EmpathyTpContactList *list,
}
static void
-contact_manager_disconnect_foreach (gpointer key,
- gpointer value,
- gpointer user_data)
-{
- EmpathyTpContactList *list = value;
- EmpathyContactManager *manager = user_data;
-
- /* Disconnect signals from the list */
- g_signal_handlers_disconnect_by_func (list,
- contact_manager_members_changed_cb,
- manager);
- g_signal_handlers_disconnect_by_func (list,
- contact_manager_pendings_changed_cb,
- manager);
- g_signal_handlers_disconnect_by_func (list,
- contact_manager_groups_changed_cb,
- manager);
-}
-
-static void
contact_manager_invalidated_cb (TpProxy *connection,
guint domain,
gint code,
@@ -123,11 +103,35 @@ contact_manager_invalidated_cb (TpProxy *connection,
list = g_hash_table_lookup (priv->lists, connection);
if (list) {
empathy_tp_contact_list_remove_all (list);
- g_hash_table_remove (priv->lists, connection);
+ g_hash_table_remove (priv->lists, connection);
}
}
static void
+contact_manager_disconnect_foreach (gpointer key,
+ gpointer value,
+ gpointer user_data)
+{
+ TpConnection *connection = key;
+ EmpathyTpContactList *list = value;
+ EmpathyContactManager *manager = user_data;
+
+ /* Disconnect signals from the list */
+ g_signal_handlers_disconnect_by_func (list,
+ contact_manager_members_changed_cb,
+ manager);
+ g_signal_handlers_disconnect_by_func (list,
+ contact_manager_pendings_changed_cb,
+ manager);
+ g_signal_handlers_disconnect_by_func (list,
+ contact_manager_groups_changed_cb,
+ manager);
+ g_signal_handlers_disconnect_by_func (connection,
+ contact_manager_invalidated_cb,
+ manager);
+}
+
+static void
contact_manager_new_connection_cb (EmpathyAccountManager *account_manager,
TpConnection *connection,
EmpathyContactManager *self)
@@ -499,7 +503,7 @@ contact_manager_remove_group (EmpathyContactList *manager,
const gchar *group)
{
EmpathyContactManagerPriv *priv = GET_PRIV (manager);
-
+
g_return_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager));
g_hash_table_foreach (priv->lists,
@@ -529,7 +533,7 @@ empathy_contact_manager_can_add (EmpathyContactManager *manager,
{
EmpathyContactManagerPriv *priv = GET_PRIV (manager);
EmpathyTpContactList *list;
-
+
g_return_val_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager), FALSE);
list = g_hash_table_lookup (priv->lists, connection);
diff --git a/libempathy/empathy-contact.c b/libempathy/empathy-contact.c
index bad6ef470..d351aecbc 100644
--- a/libempathy/empathy-contact.c
+++ b/libempathy/empathy-contact.c
@@ -39,7 +39,7 @@
#define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyContact)
typedef struct {
TpContact *tp_contact;
- McAccount *account;
+ EmpathyAccount *account;
gchar *id;
gchar *name;
EmpathyAvatar *avatar;
@@ -159,7 +159,7 @@ empathy_contact_class_init (EmpathyContactClass *class)
g_param_spec_object ("account",
"The account",
"The account associated with the contact",
- MC_TYPE_ACCOUNT,
+ EMPATHY_TYPE_ACCOUNT,
G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (object_class,
@@ -409,12 +409,11 @@ empathy_contact_new (TpContact *tp_contact)
}
EmpathyContact *
-empathy_contact_new_for_log (McAccount *account,
+empathy_contact_new_for_log (EmpathyAccount *account,
const gchar *id,
const gchar *name,
gboolean is_user)
{
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
g_return_val_if_fail (id != NULL, NULL);
return g_object_new (EMPATHY_TYPE_CONTACT,
@@ -554,7 +553,7 @@ empathy_contact_set_avatar (EmpathyContact *contact,
g_object_notify (G_OBJECT (contact), "avatar");
}
-McAccount *
+EmpathyAccount *
empathy_contact_get_account (EmpathyContact *contact)
{
EmpathyContactPriv *priv;
@@ -830,7 +829,7 @@ static gchar *
contact_get_avatar_filename (EmpathyContact *contact,
const gchar *token)
{
- McAccount *account;
+ EmpathyAccount *account;
gchar *avatar_path;
gchar *avatar_file;
gchar *token_escaped;
@@ -847,7 +846,7 @@ contact_get_avatar_filename (EmpathyContact *contact,
avatar_path = g_build_filename (g_get_user_cache_dir (),
PACKAGE_NAME,
"avatars",
- mc_account_get_unique_name (account),
+ empathy_account_get_unique_name (account),
contact_escaped,
NULL);
g_mkdir_with_parents (avatar_path, 0700);
diff --git a/libempathy/empathy-contact.h b/libempathy/empathy-contact.h
index f88831342..d4e385924 100644
--- a/libempathy/empathy-contact.h
+++ b/libempathy/empathy-contact.h
@@ -25,7 +25,7 @@
#include <glib-object.h>
#include <telepathy-glib/contact.h>
-#include <libmissioncontrol/mc-account.h>
+#include <libempathy/empathy-account.h>
G_BEGIN_DECLS
@@ -70,7 +70,7 @@ typedef enum {
GType empathy_contact_get_type (void) G_GNUC_CONST;
EmpathyContact * empathy_contact_new (TpContact *tp_contact);
-EmpathyContact * empathy_contact_new_for_log (McAccount *account,
+EmpathyContact * empathy_contact_new_for_log (EmpathyAccount *account,
const gchar *id, const gchar *name, gboolean is_user);
TpContact * empathy_contact_get_tp_contact (EmpathyContact *contact);
const gchar * empathy_contact_get_id (EmpathyContact *contact);
@@ -80,7 +80,7 @@ void empathy_contact_set_name (EmpathyContact *contact, const gchar *name);
EmpathyAvatar * empathy_contact_get_avatar (EmpathyContact *contact);
void empathy_contact_set_avatar (EmpathyContact *contact,
EmpathyAvatar *avatar);
-McAccount * empathy_contact_get_account (EmpathyContact *contact);
+EmpathyAccount * empathy_contact_get_account (EmpathyContact *contact);
TpConnection * empathy_contact_get_connection (EmpathyContact *contact);
TpConnectionPresenceType empathy_contact_get_presence (EmpathyContact *contact);
void empathy_contact_set_presence (EmpathyContact *contact,
diff --git a/libempathy/empathy-debug.c b/libempathy/empathy-debug.c
index bcfa25deb..99111deec 100644
--- a/libempathy/empathy-debug.c
+++ b/libempathy/empathy-debug.c
@@ -1,4 +1,4 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */
/*
* Copyright (C) 2007 Collabora Ltd.
* Copyright (C) 2007 Nokia Corporation
@@ -33,6 +33,8 @@
#include "empathy-debug.h"
+#include "empathy-debugger.h"
+
#ifdef ENABLE_DEBUG
static EmpathyDebugFlags flags = 0;
@@ -75,18 +77,74 @@ empathy_debug_flag_is_set (EmpathyDebugFlags flag)
return (flag & flags) != 0;
}
+GHashTable *flag_to_keys = NULL;
+
+static const gchar *
+debug_flag_to_key (EmpathyDebugFlags flag)
+{
+ if (flag_to_keys == NULL)
+ {
+ guint i;
+
+ flag_to_keys = g_hash_table_new_full (g_direct_hash, g_direct_equal,
+ NULL, g_free);
+
+ for (i = 0; keys[i].value; i++)
+ {
+ GDebugKey key = (GDebugKey) keys[i];
+ g_hash_table_insert (flag_to_keys, GUINT_TO_POINTER (key.value),
+ g_strdup (key.key));
+ }
+ }
+
+ return g_hash_table_lookup (flag_to_keys, GUINT_TO_POINTER (flag));
+}
+
+void
+empathy_debug_free (void)
+{
+ if (flag_to_keys == NULL)
+ return;
+
+ g_hash_table_destroy (flag_to_keys);
+ flag_to_keys = NULL;
+}
+
+static void
+log_to_debugger (EmpathyDebugFlags flag,
+ const gchar *message)
+{
+ EmpathyDebugger *dbg = empathy_debugger_get_singleton ();
+ gchar *domain;
+ GTimeVal now;
+
+ g_get_current_time (&now);
+
+ domain = g_strdup_printf ("%s/%s", G_LOG_DOMAIN, debug_flag_to_key (flag));
+
+ empathy_debugger_add_message (dbg, &now, domain, G_LOG_LEVEL_DEBUG, message);
+
+ g_free (domain);
+}
+
void
empathy_debug (EmpathyDebugFlags flag,
- const gchar *format,
- ...)
+ const gchar *format,
+ ...)
{
+ gchar *message;
+ va_list args;
+
+ va_start (args, format);
+ message = g_strdup_vprintf (format, args);
+ va_end (args);
+
+ log_to_debugger (flag, message);
+
if (flag & flags)
- {
- va_list args;
- va_start (args, format);
- g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, format, args);
- va_end (args);
- }
+ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "%s", message);
+
+ g_free (message);
}
#else
diff --git a/libempathy/empathy-debug.h b/libempathy/empathy-debug.h
index 787264dd0..9df728922 100644
--- a/libempathy/empathy-debug.h
+++ b/libempathy/empathy-debug.h
@@ -1,4 +1,4 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */
/*
* Copyright (C) 2007 Collabora Ltd.
* Copyright (C) 2007 Nokia Corporation
@@ -46,6 +46,7 @@ typedef enum
gboolean empathy_debug_flag_is_set (EmpathyDebugFlags flag);
void empathy_debug (EmpathyDebugFlags flag, const gchar *format, ...)
G_GNUC_PRINTF (2, 3);
+void empathy_debug_free (void);
void empathy_debug_set_flags (const gchar *flags_string);
G_END_DECLS
@@ -88,4 +89,7 @@ G_END_DECLS
#define DEBUGGING 0
#endif /* !defined (ENABLE_DEBUG) */
+
+#define gabble_debug_free() G_STMT_START { } G_STMT_END
+
#endif /* defined (DEBUG_FLAG) */
diff --git a/libempathy/empathy-debugger.c b/libempathy/empathy-debugger.c
new file mode 100644
index 000000000..04873120c
--- /dev/null
+++ b/libempathy/empathy-debugger.c
@@ -0,0 +1,270 @@
+/*
+ * Telepathy debug interface implementation
+ * Copyright (C) 2009 Collabora Ltd.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "empathy-debugger.h"
+#include "config.h"
+
+#include <telepathy-glib/dbus.h>
+
+#include "extensions/extensions.h"
+
+static EmpathyDebugger *singleton = NULL;
+
+static void
+debug_iface_init (gpointer g_iface, gpointer iface_data);
+
+G_DEFINE_TYPE_WITH_CODE (EmpathyDebugger, empathy_debugger, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (TP_TYPE_SVC_DBUS_PROPERTIES,
+ tp_dbus_properties_mixin_iface_init);
+ G_IMPLEMENT_INTERFACE (EMP_TYPE_SVC_DEBUG, debug_iface_init));
+
+/* properties */
+enum
+{
+ PROP_ENABLED = 1,
+ NUM_PROPERTIES
+};
+
+static EmpDebugLevel
+log_level_flags_to_debug_level (GLogLevelFlags level)
+{
+ if (level & G_LOG_LEVEL_ERROR)
+ return EMP_DEBUG_LEVEL_ERROR;
+ else if (level & G_LOG_LEVEL_CRITICAL)
+ return EMP_DEBUG_LEVEL_CRITICAL;
+ else if (level & G_LOG_LEVEL_WARNING)
+ return EMP_DEBUG_LEVEL_WARNING;
+ else if (level & G_LOG_LEVEL_MESSAGE)
+ return EMP_DEBUG_LEVEL_MESSAGE;
+ else if (level & G_LOG_LEVEL_INFO)
+ return EMP_DEBUG_LEVEL_INFO;
+ else if (level & G_LOG_LEVEL_DEBUG)
+ return EMP_DEBUG_LEVEL_DEBUG;
+ else
+ /* Fall back to DEBUG if all else fails */
+ return EMP_DEBUG_LEVEL_DEBUG;
+}
+
+static EmpathyDebugMessage *
+debug_message_new (GTimeVal *timestamp,
+ const gchar *domain,
+ GLogLevelFlags level,
+ const gchar *string)
+{
+ EmpathyDebugMessage *msg;
+
+ msg = g_slice_new0 (EmpathyDebugMessage);
+ msg->timestamp = timestamp->tv_sec + timestamp->tv_usec / 1e6;
+ msg->domain = g_strdup (domain);
+ msg->level = log_level_flags_to_debug_level (level);
+ msg->string = g_strdup (string);
+ return msg;
+}
+
+static void
+debug_message_free (EmpathyDebugMessage *msg)
+{
+ g_free (msg->domain);
+ g_free (msg->string);
+ g_slice_free (EmpathyDebugMessage, msg);
+}
+
+static void
+empathy_debugger_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ EmpathyDebugger *self = EMPATHY_DEBUGGER (object);
+
+ switch (property_id)
+ {
+ case PROP_ENABLED:
+ g_value_set_boolean (value, self->enabled);
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ }
+}
+
+static void
+empathy_debugger_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ EmpathyDebugger *self = EMPATHY_DEBUGGER (object);
+
+ switch (property_id)
+ {
+ case PROP_ENABLED:
+ self->enabled = g_value_get_boolean (value);
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ }
+}
+
+static void
+empathy_debugger_finalize (GObject *object)
+{
+ EmpathyDebugger *self = EMPATHY_DEBUGGER (object);
+
+ g_queue_foreach (self->messages, (GFunc) debug_message_free, NULL);
+ g_queue_free (self->messages);
+ self->messages = NULL;
+
+ G_OBJECT_CLASS (empathy_debugger_parent_class)->finalize (object);
+}
+
+static void
+empathy_debugger_class_init (EmpathyDebuggerClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ static TpDBusPropertiesMixinPropImpl debug_props[] = {
+ { "Enabled", "enabled", "enabled" },
+ { NULL }
+ };
+ static TpDBusPropertiesMixinIfaceImpl prop_interfaces[] = {
+ { EMP_IFACE_DEBUG,
+ tp_dbus_properties_mixin_getter_gobject_properties,
+ tp_dbus_properties_mixin_setter_gobject_properties,
+ debug_props,
+ },
+ { NULL }
+ };
+
+ object_class->get_property = empathy_debugger_get_property;
+ object_class->set_property = empathy_debugger_set_property;
+ object_class->finalize = empathy_debugger_finalize;
+
+ g_object_class_install_property (object_class, PROP_ENABLED,
+ g_param_spec_boolean ("enabled", "Enabled?",
+ "True if the new-debug-message signal is enabled.",
+ FALSE,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ klass->dbus_props_class.interfaces = prop_interfaces;
+ tp_dbus_properties_mixin_class_init (object_class,
+ G_STRUCT_OFFSET (EmpathyDebuggerClass, dbus_props_class));
+}
+
+static void
+get_messages (EmpSvcDebug *self,
+ DBusGMethodInvocation *context)
+{
+ EmpathyDebugger *dbg = EMPATHY_DEBUGGER (self);
+ GPtrArray *messages;
+ static GType struct_type = 0;
+ GList *i;
+ guint j;
+
+ if (G_UNLIKELY (struct_type == 0))
+ {
+ struct_type = dbus_g_type_get_struct (
+ "GValueArray", G_TYPE_DOUBLE, G_TYPE_STRING, G_TYPE_UINT,
+ G_TYPE_STRING, G_TYPE_INVALID);
+ }
+
+ messages = g_ptr_array_sized_new (g_queue_get_length (dbg->messages));
+
+ for (i = dbg->messages->head; i; i = i->next)
+ {
+ GValue gvalue = { 0 };
+ EmpathyDebugMessage *message = (EmpathyDebugMessage *) i->data;
+
+ g_value_init (&gvalue, struct_type);
+ g_value_take_boxed (&gvalue,
+ dbus_g_type_specialized_construct (struct_type));
+ dbus_g_type_struct_set (&gvalue,
+ 0, message->timestamp,
+ 1, message->domain,
+ 2, message->level,
+ 3, message->string,
+ G_MAXUINT);
+ g_ptr_array_add (messages, g_value_get_boxed (&gvalue));
+ }
+
+ emp_svc_debug_return_from_get_messages (context, messages);
+
+ for (j = 0; j < messages->len; j++)
+ g_boxed_free (struct_type, messages->pdata[j]);
+
+ g_ptr_array_free (messages, TRUE);
+}
+
+static void
+debug_iface_init (gpointer g_iface,
+ gpointer iface_data)
+{
+ EmpSvcDebugClass *klass = (EmpSvcDebugClass *) g_iface;
+
+ emp_svc_debug_implement_get_messages (klass, get_messages);
+}
+
+static void
+empathy_debugger_init (EmpathyDebugger *self)
+{
+ self->messages = g_queue_new ();
+}
+
+EmpathyDebugger *
+empathy_debugger_get_singleton (void)
+{
+ if (G_UNLIKELY (singleton == NULL))
+ {
+ DBusGConnection *bus;
+
+ singleton = g_object_new (EMPATHY_TYPE_DEBUGGER, NULL);
+ bus = tp_get_bus ();
+ dbus_g_connection_register_g_object (bus,
+ "/org/freedesktop/Telepathy/debug", (GObject *) singleton);
+ }
+
+ return singleton;
+}
+
+void
+empathy_debugger_add_message (EmpathyDebugger *self,
+ GTimeVal *timestamp,
+ const gchar *domain,
+ GLogLevelFlags level,
+ const gchar *string)
+{
+ EmpathyDebugMessage *new_msg;
+
+ if (g_queue_get_length (self->messages) >= DEBUG_MESSAGE_LIMIT)
+ {
+ EmpathyDebugMessage *old_head =
+ (EmpathyDebugMessage *) g_queue_pop_head (self->messages);
+
+ debug_message_free (old_head);
+ }
+
+ new_msg = debug_message_new (timestamp, domain, level, string);
+ g_queue_push_tail (self->messages, new_msg);
+
+ if (self->enabled)
+ {
+ emp_svc_debug_emit_new_debug_message (self, new_msg->timestamp,
+ domain, new_msg->level, string);
+ }
+}
diff --git a/libempathy/empathy-debugger.h b/libempathy/empathy-debugger.h
new file mode 100644
index 000000000..f3fdc7070
--- /dev/null
+++ b/libempathy/empathy-debugger.h
@@ -0,0 +1,88 @@
+/*
+ * header for Telepathy debug interface implementation
+ * Copyright (C) 2009 Collabora Ltd.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _EMPATHY_DEBUGGER
+#define _EMPATHY_DEBUGGER
+
+#include <glib-object.h>
+
+#include <telepathy-glib/properties-mixin.h>
+#include <telepathy-glib/dbus-properties-mixin.h>
+
+#include "extensions/extensions.h"
+
+G_BEGIN_DECLS
+
+#define EMPATHY_TYPE_DEBUGGER empathy_debugger_get_type()
+
+#define EMPATHY_DEBUGGER(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), EMPATHY_TYPE_DEBUGGER, EmpathyDebugger))
+
+#define EMPATHY_DEBUGGER_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), EMPATHY_TYPE_DEBUGGER, EmpathyDebuggerClass))
+
+#define EMPATHY_IS_DEBUGGER(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EMPATHY_TYPE_DEBUGGER))
+
+#define EMPATHY_IS_DEBUGGER_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), EMPATHY_TYPE_DEBUGGER))
+
+#define EMPATHY_DEBUGGER_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), EMPATHY_TYPE_DEBUGGER, EmpathyDebuggerClass))
+
+/* On the basis that messages are around 60 bytes on average, and that 50kb is
+ * a reasonable maximum size for a frame buffer.
+ */
+
+#define DEBUG_MESSAGE_LIMIT 800
+
+typedef struct {
+ gdouble timestamp;
+ gchar *domain;
+ EmpDebugLevel level;
+ gchar *string;
+} EmpathyDebugMessage;
+
+typedef struct {
+ GObject parent;
+
+ gboolean enabled;
+ GQueue *messages;
+} EmpathyDebugger;
+
+typedef struct {
+ GObjectClass parent_class;
+ TpDBusPropertiesMixinClass dbus_props_class;
+} EmpathyDebuggerClass;
+
+GType empathy_debugger_get_type (void);
+
+EmpathyDebugger *
+empathy_debugger_get_singleton (void);
+
+void
+empathy_debugger_add_message (EmpathyDebugger *self,
+ GTimeVal *timestamp,
+ const gchar *domain,
+ GLogLevelFlags level,
+ const gchar *string);
+
+G_END_DECLS
+
+#endif /* _EMPATHY_DEBUGGER */
diff --git a/libempathy/empathy-dispatch-operation.c b/libempathy/empathy-dispatch-operation.c
index 7a116f870..79fe8c62d 100644
--- a/libempathy/empathy-dispatch-operation.c
+++ b/libempathy/empathy-dispatch-operation.c
@@ -22,6 +22,8 @@
#include <stdio.h>
#include <stdlib.h>
+#include <telepathy-glib/interfaces.h>
+
#include "empathy-dispatch-operation.h"
#include <libempathy/empathy-enum-types.h>
#include <libempathy/empathy-tp-contact-factory.h>
@@ -215,7 +217,7 @@ empathy_dispatch_operation_constructed (GObject *object)
handle = tp_channel_get_handle (priv->channel, &handle_type);
- if (handle_type == TP_CONN_HANDLE_TYPE_CONTACT && priv->contact == NULL)
+ if (handle_type == TP_HANDLE_TYPE_CONTACT && priv->contact == NULL)
{
EmpathyTpContactFactory *factory;
diff --git a/libempathy/empathy-dispatch-operation.h b/libempathy/empathy-dispatch-operation.h
index 84ed36013..148adec90 100644
--- a/libempathy/empathy-dispatch-operation.h
+++ b/libempathy/empathy-dispatch-operation.h
@@ -24,6 +24,8 @@
#include <glib-object.h>
#include <libempathy/empathy-contact.h>
+#include <telepathy-glib/connection.h>
+#include <telepathy-glib/channel.h>
G_BEGIN_DECLS
diff --git a/libempathy/empathy-idle.c b/libempathy/empathy-idle.c
index c72307920..5d2fa2bdc 100644
--- a/libempathy/empathy-idle.c
+++ b/libempathy/empathy-idle.c
@@ -25,6 +25,9 @@
#include <glib/gi18n-lib.h>
#include <dbus/dbus-glib.h>
+#ifdef HAVE_NM
+#include <nm-client.h>
+#endif
#include <telepathy-glib/dbus.h>
#include <telepathy-glib/util.h>
@@ -43,7 +46,9 @@
typedef struct {
MissionControl *mc;
DBusGProxy *gs_proxy;
- DBusGProxy *nm_proxy;
+#ifdef HAVE_NM
+ NMClient *nm_client;
+#endif
TpConnectionPresenceType state;
gchar *status;
@@ -61,12 +66,12 @@ typedef struct {
} EmpathyIdlePriv;
typedef enum {
- NM_STATE_UNKNOWN,
- NM_STATE_ASLEEP,
- NM_STATE_CONNECTING,
- NM_STATE_CONNECTED,
- NM_STATE_DISCONNECTED
-} NMState;
+ SESSION_STATUS_AVAILABLE,
+ SESSION_STATUS_INVISIBLE,
+ SESSION_STATUS_BUSY,
+ SESSION_STATUS_IDLE,
+ SESSION_STATUS_UNKNOWN
+} SessionStatus;
enum {
PROP_0,
@@ -91,6 +96,10 @@ idle_presence_changed_cb (MissionControl *mc,
priv = GET_PRIV (idle);
+ if (state == TP_CONNECTION_PRESENCE_TYPE_UNSET)
+ /* Assume our presence is offline if MC reports UNSET */
+ state = TP_CONNECTION_PRESENCE_TYPE_OFFLINE;
+
DEBUG ("Presence changed to '%s' (%d)", status, state);
g_free (priv->status);
@@ -147,14 +156,17 @@ idle_ext_away_start (EmpathyIdle *idle)
}
static void
-idle_session_idle_changed_cb (DBusGProxy *gs_proxy,
- gboolean is_idle,
- EmpathyIdle *idle)
+idle_session_status_changed_cb (DBusGProxy *gs_proxy,
+ SessionStatus status,
+ EmpathyIdle *idle)
{
EmpathyIdlePriv *priv;
+ gboolean is_idle;
priv = GET_PRIV (idle);
+ is_idle = (status == SESSION_STATUS_IDLE);
+
DEBUG ("Session idle state changed, %s -> %s",
priv->is_idle ? "yes" : "no",
is_idle ? "yes" : "no");
@@ -219,22 +231,24 @@ idle_session_idle_changed_cb (DBusGProxy *gs_proxy,
priv->is_idle = is_idle;
}
+#ifdef HAVE_NM
static void
-idle_nm_state_change_cb (DBusGProxy *proxy,
- guint state,
- EmpathyIdle *idle)
+idle_nm_state_change_cb (NMClient *client,
+ const GParamSpec *pspec,
+ EmpathyIdle *idle)
{
EmpathyIdlePriv *priv;
gboolean old_nm_connected;
gboolean new_nm_connected;
+ NMState state;
priv = GET_PRIV (idle);
- if (!priv->use_nm
- || priv->nm_saved_state == TP_CONNECTION_PRESENCE_TYPE_UNSET) {
+ if (!priv->use_nm) {
return;
}
+ state = nm_client_get_state (priv->nm_client);
old_nm_connected = priv->nm_connected;
new_nm_connected = !(state == NM_STATE_CONNECTING ||
state == NM_STATE_DISCONNECTED);
@@ -251,7 +265,8 @@ idle_nm_state_change_cb (DBusGProxy *proxy,
priv->nm_saved_status = g_strdup (priv->status);
empathy_idle_set_state (idle, TP_CONNECTION_PRESENCE_TYPE_OFFLINE);
}
- else if (!old_nm_connected && new_nm_connected) {
+ else if (!old_nm_connected && new_nm_connected
+ && priv->nm_saved_state != TP_CONNECTION_PRESENCE_TYPE_UNSET) {
/* We are now connected */
DEBUG ("Reconnected: Restore state %d (%s)",
priv->nm_saved_state, priv->nm_saved_status);
@@ -265,6 +280,7 @@ idle_nm_state_change_cb (DBusGProxy *proxy,
priv->nm_connected = new_nm_connected;
}
+#endif
static void
idle_finalize (GObject *object)
@@ -280,6 +296,12 @@ idle_finalize (GObject *object)
g_object_unref (priv->gs_proxy);
}
+#ifdef HAVE_NM
+ if (priv->nm_client) {
+ g_object_unref (priv->nm_client);
+ }
+#endif
+
idle_ext_away_stop (EMPATHY_IDLE (object));
}
@@ -418,8 +440,8 @@ empathy_idle_class_init (EmpathyIdleClass *klass)
g_param_spec_boolean ("use-nm",
"Use Network Manager",
"Set presence according to Network Manager",
- FALSE,
- G_PARAM_READWRITE));
+ TRUE,
+ G_PARAM_CONSTRUCT | G_PARAM_READWRITE));
g_type_class_add_private (object_class, sizeof (EmpathyIdlePriv));
}
@@ -446,14 +468,13 @@ empathy_idle_get_actual_presence (EmpathyIdle *idle, GError **error)
case MC_PRESENCE_DO_NOT_DISTURB:
return TP_CONNECTION_PRESENCE_TYPE_BUSY;
default:
- return TP_CONNECTION_PRESENCE_TYPE_UNSET;
+ return TP_CONNECTION_PRESENCE_TYPE_OFFLINE;
}
}
static void
empathy_idle_init (EmpathyIdle *idle)
{
- DBusGConnection *system_bus;
GError *error = NULL;
EmpathyIdlePriv *priv = G_TYPE_INSTANCE_GET_PRIVATE (idle,
EMPATHY_TYPE_IDLE, EmpathyIdlePriv);
@@ -488,42 +509,29 @@ empathy_idle_init (EmpathyIdle *idle)
idle, NULL);
priv->gs_proxy = dbus_g_proxy_new_for_name (tp_get_bus (),
- "org.gnome.ScreenSaver",
- "/org/gnome/ScreenSaver",
- "org.gnome.ScreenSaver");
+ "org.gnome.SessionManager",
+ "/org/gnome/SessionManager/Presence",
+ "org.gnome.SessionManager.Presence");
if (priv->gs_proxy) {
- dbus_g_proxy_add_signal (priv->gs_proxy, "SessionIdleChanged",
- G_TYPE_BOOLEAN,
- G_TYPE_INVALID);
- dbus_g_proxy_connect_signal (priv->gs_proxy, "SessionIdleChanged",
- G_CALLBACK (idle_session_idle_changed_cb),
+ dbus_g_proxy_add_signal (priv->gs_proxy, "StatusChanged",
+ G_TYPE_UINT, G_TYPE_INVALID);
+ dbus_g_proxy_connect_signal (priv->gs_proxy, "StatusChanged",
+ G_CALLBACK (idle_session_status_changed_cb),
idle, NULL);
} else {
DEBUG ("Failed to get gs proxy");
}
-
- system_bus = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);
- if (!system_bus) {
- DEBUG ("Failed to get system bus: %s",
- error ? error->message : "No error given");
- } else {
- priv->nm_proxy = dbus_g_proxy_new_for_name (system_bus,
- "org.freedesktop.NetworkManager",
- "/org/freedesktop/NetworkManager",
- "org.freedesktop.NetworkManager");
- }
- if (priv->nm_proxy) {
- dbus_g_proxy_add_signal (priv->nm_proxy, "StateChange",
- G_TYPE_UINT, G_TYPE_INVALID);
- dbus_g_proxy_connect_signal (priv->nm_proxy, "StateChange",
- G_CALLBACK (idle_nm_state_change_cb),
- idle, NULL);
+#ifdef HAVE_NM
+ priv->nm_client = nm_client_new ();
+ if (priv->nm_client) {
+ g_signal_connect (priv->nm_client, "notify::" NM_CLIENT_STATE,
+ G_CALLBACK (idle_nm_state_change_cb),
+ idle);
} else {
DEBUG ("Failed to get nm proxy");
}
-
- priv->nm_connected = TRUE;
+#endif
}
EmpathyIdle *
@@ -708,29 +716,20 @@ empathy_idle_set_use_nm (EmpathyIdle *idle,
{
EmpathyIdlePriv *priv = GET_PRIV (idle);
- if (!priv->nm_proxy || use_nm == priv->use_nm) {
+#ifdef HAVE_NM
+ if (!priv->nm_client || use_nm == priv->use_nm) {
return;
}
+#endif
priv->use_nm = use_nm;
+#ifdef HAVE_NM
if (use_nm) {
- guint nm_status;
- GError *error = NULL;
-
- dbus_g_proxy_call (priv->nm_proxy, "state",
- &error,
- G_TYPE_INVALID,
- G_TYPE_UINT, &nm_status,
- G_TYPE_INVALID);
-
- if (error) {
- DEBUG ("Couldn't get NM state: %s", error->message);
- g_clear_error (&error);
- nm_status = NM_STATE_ASLEEP;
- }
-
- idle_nm_state_change_cb (priv->nm_proxy, nm_status, idle);
+ idle_nm_state_change_cb (priv->nm_client, NULL, idle);
+#else
+ if (0) {
+#endif
} else {
priv->nm_connected = TRUE;
if (priv->nm_saved_state != TP_CONNECTION_PRESENCE_TYPE_UNSET) {
diff --git a/libempathy/empathy-log-manager.c b/libempathy/empathy-log-manager.c
index b4c1f1a92..c1e20f487 100644
--- a/libempathy/empathy-log-manager.c
+++ b/libempathy/empathy-log-manager.c
@@ -157,7 +157,7 @@ empathy_log_manager_add_message (EmpathyLogManager *manager,
gboolean
empathy_log_manager_exists (EmpathyLogManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom)
{
@@ -165,7 +165,6 @@ empathy_log_manager_exists (EmpathyLogManager *manager,
EmpathyLogManagerPriv *priv;
g_return_val_if_fail (EMPATHY_IS_LOG_MANAGER (manager), FALSE);
- g_return_val_if_fail (MC_IS_ACCOUNT (account), FALSE);
g_return_val_if_fail (chat_id != NULL, FALSE);
priv = GET_PRIV (manager);
@@ -182,7 +181,7 @@ empathy_log_manager_exists (EmpathyLogManager *manager,
GList *
empathy_log_manager_get_dates (EmpathyLogManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom)
{
@@ -190,7 +189,6 @@ empathy_log_manager_get_dates (EmpathyLogManager *manager,
EmpathyLogManagerPriv *priv;
g_return_val_if_fail (EMPATHY_IS_LOG_MANAGER (manager), NULL);
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
g_return_val_if_fail (chat_id != NULL, NULL);
priv = GET_PRIV (manager);
@@ -219,7 +217,7 @@ empathy_log_manager_get_dates (EmpathyLogManager *manager,
GList *
empathy_log_manager_get_messages_for_date (EmpathyLogManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom,
const gchar *date)
@@ -228,7 +226,6 @@ empathy_log_manager_get_messages_for_date (EmpathyLogManager *manager,
EmpathyLogManagerPriv *priv;
g_return_val_if_fail (EMPATHY_IS_LOG_MANAGER (manager), NULL);
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
g_return_val_if_fail (chat_id != NULL, NULL);
priv = GET_PRIV (manager);
@@ -261,7 +258,7 @@ log_manager_message_date_cmp (gconstpointer a,
GList *
empathy_log_manager_get_filtered_messages (EmpathyLogManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom,
guint num_messages,
@@ -274,7 +271,6 @@ empathy_log_manager_get_filtered_messages (EmpathyLogManager *manager,
guint i = 0;
g_return_val_if_fail (EMPATHY_IS_LOG_MANAGER (manager), NULL);
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
g_return_val_if_fail (chat_id != NULL, NULL);
priv = GET_PRIV (manager);
@@ -322,13 +318,12 @@ empathy_log_manager_get_filtered_messages (EmpathyLogManager *manager,
GList *
empathy_log_manager_get_chats (EmpathyLogManager *manager,
- McAccount *account)
+ EmpathyAccount *account)
{
GList *l, *out = NULL;
EmpathyLogManagerPriv *priv;
g_return_val_if_fail (EMPATHY_IS_LOG_MANAGER (manager), NULL);
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
priv = GET_PRIV (manager);
diff --git a/libempathy/empathy-log-manager.h b/libempathy/empathy-log-manager.h
index da7be4a43..6907e2ede 100644
--- a/libempathy/empathy-log-manager.h
+++ b/libempathy/empathy-log-manager.h
@@ -65,7 +65,7 @@ struct _EmpathyLogManagerClass
struct _EmpathyLogSearchHit
{
- McAccount *account;
+ EmpathyAccount *account;
gchar *chat_id;
gboolean is_chatroom;
gchar *filename;
@@ -81,17 +81,17 @@ gboolean empathy_log_manager_add_message (EmpathyLogManager *manager,
const gchar *chat_id, gboolean chatroom, EmpathyMessage *message,
GError **error);
gboolean empathy_log_manager_exists (EmpathyLogManager *manager,
- McAccount *account, const gchar *chat_id, gboolean chatroom);
+ EmpathyAccount *account, const gchar *chat_id, gboolean chatroom);
GList *empathy_log_manager_get_dates (EmpathyLogManager *manager,
- McAccount *account, const gchar *chat_id, gboolean chatroom);
+ EmpathyAccount *account, const gchar *chat_id, gboolean chatroom);
GList *empathy_log_manager_get_messages_for_date (EmpathyLogManager *manager,
- McAccount *account, const gchar *chat_id, gboolean chatroom,
+ EmpathyAccount *account, const gchar *chat_id, gboolean chatroom,
const gchar *date);
GList *empathy_log_manager_get_filtered_messages (EmpathyLogManager *manager,
- McAccount *account, const gchar *chat_id, gboolean chatroom,
+ EmpathyAccount *account, const gchar *chat_id, gboolean chatroom,
guint num_messages, EmpathyLogMessageFilter filter, gpointer user_data);
GList *empathy_log_manager_get_chats (EmpathyLogManager *manager,
- McAccount *account);
+ EmpathyAccount *account);
GList *empathy_log_manager_search_new (EmpathyLogManager *manager,
const gchar *text);
void empathy_log_manager_search_free (GList *hits);
diff --git a/libempathy/empathy-log-store-empathy.c b/libempathy/empathy-log-store-empathy.c
index 94f4d1457..7e50cb12f 100644
--- a/libempathy/empathy-log-store-empathy.c
+++ b/libempathy/empathy-log-store-empathy.c
@@ -32,6 +32,7 @@
#include "empathy-log-store.h"
#include "empathy-log-store-empathy.h"
#include "empathy-log-manager.h"
+#include "empathy-account-manager.h"
#include "empathy-contact.h"
#include "empathy-time.h"
#include "empathy-utils.h"
@@ -59,6 +60,7 @@ typedef struct
{
gchar *basedir;
gchar *name;
+ EmpathyAccountManager *account_manager;
} EmpathyLogStoreEmpathyPriv;
static void log_store_iface_init (gpointer g_iface,gpointer iface_data);
@@ -73,6 +75,7 @@ log_store_empathy_finalize (GObject *object)
EmpathyLogStoreEmpathy *self = EMPATHY_LOG_STORE_EMPATHY (object);
EmpathyLogStoreEmpathyPriv *priv = GET_PRIV (self);
+ g_object_unref (priv->account_manager);
g_free (priv->basedir);
g_free (priv->name);
}
@@ -99,11 +102,12 @@ empathy_log_store_empathy_init (EmpathyLogStoreEmpathy *self)
".gnome2", PACKAGE_NAME, "logs", NULL);
priv->name = g_strdup ("Empathy");
+ priv->account_manager = empathy_account_manager_dup_singleton ();
}
static gchar *
log_store_empathy_get_dir (EmpathyLogStore *self,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom)
{
@@ -113,7 +117,7 @@ log_store_empathy_get_dir (EmpathyLogStore *self,
priv = GET_PRIV (self);
- account_id = mc_account_get_unique_name (account);
+ account_id = empathy_account_get_unique_name (account);
if (chatroom)
basedir = g_build_path (G_DIR_SEPARATOR_S, priv->basedir, account_id,
@@ -154,7 +158,7 @@ log_store_empathy_get_timestamp_from_message (EmpathyMessage *message)
static gchar *
log_store_empathy_get_filename (EmpathyLogStore *self,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom)
{
@@ -180,7 +184,7 @@ log_store_empathy_add_message (EmpathyLogStore *self,
GError **error)
{
FILE *file;
- McAccount *account;
+ EmpathyAccount *account;
EmpathyContact *sender;
const gchar *body_str;
const gchar *str;
@@ -267,7 +271,7 @@ log_store_empathy_add_message (EmpathyLogStore *self,
static gboolean
log_store_empathy_exists (EmpathyLogStore *self,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom)
{
@@ -283,7 +287,7 @@ log_store_empathy_exists (EmpathyLogStore *self,
static GList *
log_store_empathy_get_dates (EmpathyLogStore *self,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom)
{
@@ -295,7 +299,6 @@ log_store_empathy_get_dates (EmpathyLogStore *self,
const gchar *p;
g_return_val_if_fail (EMPATHY_IS_LOG_STORE (self), NULL);
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
g_return_val_if_fail (chat_id != NULL, NULL);
directory = log_store_empathy_get_dir (self, account, chat_id, chatroom);
@@ -336,7 +339,7 @@ log_store_empathy_get_dates (EmpathyLogStore *self,
static gchar *
log_store_empathy_get_filename_for_date (EmpathyLogStore *self,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom,
const gchar *date)
@@ -359,6 +362,7 @@ static EmpathyLogSearchHit *
log_store_empathy_search_hit_new (EmpathyLogStore *self,
const gchar *filename)
{
+ EmpathyLogStoreEmpathyPriv *priv = GET_PRIV (self);
EmpathyLogSearchHit *hit;
const gchar *account_name;
const gchar *end;
@@ -383,7 +387,8 @@ log_store_empathy_search_hit_new (EmpathyLogStore *self,
else
account_name = strv[len-3];
- hit->account = mc_account_lookup (account_name);
+ hit->account = empathy_account_manager_lookup (priv->account_manager,
+ account_name);
hit->filename = g_strdup (filename);
g_strfreev (strv);
@@ -401,7 +406,7 @@ log_store_empathy_get_messages_for_file (EmpathyLogStore *self,
xmlNodePtr log_node;
xmlNodePtr node;
EmpathyLogSearchHit *hit;
- McAccount *account;
+ EmpathyAccount *account;
g_return_val_if_fail (EMPATHY_IS_LOG_STORE (self), NULL);
g_return_val_if_fail (filename != NULL, NULL);
@@ -666,7 +671,7 @@ log_store_empathy_get_chats_for_dir (EmpathyLogStore *self,
static GList *
log_store_empathy_get_messages_for_date (EmpathyLogStore *self,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom,
const gchar *date)
@@ -675,7 +680,6 @@ log_store_empathy_get_messages_for_date (EmpathyLogStore *self,
GList *messages;
g_return_val_if_fail (EMPATHY_IS_LOG_STORE (self), NULL);
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
g_return_val_if_fail (chat_id != NULL, NULL);
filename = log_store_empathy_get_filename_for_date (self, account,
@@ -688,7 +692,7 @@ log_store_empathy_get_messages_for_date (EmpathyLogStore *self,
static GList *
log_store_empathy_get_chats (EmpathyLogStore *self,
- McAccount *account)
+ EmpathyAccount *account)
{
gchar *dir;
GList *hits;
@@ -697,7 +701,7 @@ log_store_empathy_get_chats (EmpathyLogStore *self,
priv = GET_PRIV (self);
dir = g_build_filename (priv->basedir,
- mc_account_get_unique_name (account), NULL);
+ empathy_account_get_unique_name (account), NULL);
hits = log_store_empathy_get_chats_for_dir (self, dir, FALSE);
@@ -716,7 +720,7 @@ log_store_empathy_get_name (EmpathyLogStore *self)
static GList *
log_store_empathy_get_filtered_messages (EmpathyLogStore *self,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom,
guint num_messages,
diff --git a/libempathy/empathy-log-store.c b/libempathy/empathy-log-store.c
index 21a881559..f136f7910 100644
--- a/libempathy/empathy-log-store.c
+++ b/libempathy/empathy-log-store.c
@@ -55,7 +55,7 @@ empathy_log_store_get_name (EmpathyLogStore *self)
gboolean
empathy_log_store_exists (EmpathyLogStore *self,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom)
{
@@ -84,7 +84,7 @@ empathy_log_store_add_message (EmpathyLogStore *self,
GList *
empathy_log_store_get_dates (EmpathyLogStore *self,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom)
{
@@ -97,7 +97,7 @@ empathy_log_store_get_dates (EmpathyLogStore *self,
GList *
empathy_log_store_get_messages_for_date (EmpathyLogStore *self,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom,
const gchar *date)
@@ -111,7 +111,7 @@ empathy_log_store_get_messages_for_date (EmpathyLogStore *self,
GList *
empathy_log_store_get_last_messages (EmpathyLogStore *self,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom)
{
@@ -124,7 +124,7 @@ empathy_log_store_get_last_messages (EmpathyLogStore *self,
GList *
empathy_log_store_get_chats (EmpathyLogStore *self,
- McAccount *account)
+ EmpathyAccount *account)
{
if (!EMPATHY_LOG_STORE_GET_INTERFACE (self)->get_chats)
return NULL;
@@ -157,7 +157,7 @@ empathy_log_store_ack_message (EmpathyLogStore *self,
GList *
empathy_log_store_get_filtered_messages (EmpathyLogStore *self,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *chat_id,
gboolean chatroom,
guint num_messages,
diff --git a/libempathy/empathy-log-store.h b/libempathy/empathy-log-store.h
index db698c4b0..5b6a87875 100644
--- a/libempathy/empathy-log-store.h
+++ b/libempathy/empathy-log-store.h
@@ -25,7 +25,7 @@
#include <glib-object.h>
-#include <libmissioncontrol/mc-account.h>
+#include <libempathy/empathy-account.h>
#include "empathy-message.h"
#include "empathy-log-manager.h"
@@ -50,23 +50,23 @@ struct _EmpathyLogStoreInterface
GTypeInterface parent;
const gchar * (*get_name) (EmpathyLogStore *self);
- gboolean (*exists) (EmpathyLogStore *self, McAccount *account,
+ gboolean (*exists) (EmpathyLogStore *self, EmpathyAccount *account,
const gchar *chat_id, gboolean chatroom);
gboolean (*add_message) (EmpathyLogStore *self, const gchar *chat_id,
gboolean chatroom, EmpathyMessage *message, GError **error);
- GList * (*get_dates) (EmpathyLogStore *self, McAccount *account,
+ GList * (*get_dates) (EmpathyLogStore *self, EmpathyAccount *account,
const gchar *chat_id, gboolean chatroom);
GList * (*get_messages_for_date) (EmpathyLogStore *self,
- McAccount *account, const gchar *chat_id, gboolean chatroom,
+ EmpathyAccount *account, const gchar *chat_id, gboolean chatroom,
const gchar *date);
- GList * (*get_last_messages) (EmpathyLogStore *self, McAccount *account,
+ GList * (*get_last_messages) (EmpathyLogStore *self, EmpathyAccount *account,
const gchar *chat_id, gboolean chatroom);
GList * (*get_chats) (EmpathyLogStore *self,
- McAccount *account);
+ EmpathyAccount *account);
GList * (*search_new) (EmpathyLogStore *self, const gchar *text);
void (*ack_message) (EmpathyLogStore *self, const gchar *chat_id,
gboolean chatroom, EmpathyMessage *message);
- GList * (*get_filtered_messages) (EmpathyLogStore *self, McAccount *account,
+ GList * (*get_filtered_messages) (EmpathyLogStore *self, EmpathyAccount *account,
const gchar *chat_id, gboolean chatroom, guint num_messages,
EmpathyLogMessageFilter filter, gpointer user_data);
};
@@ -75,25 +75,25 @@ GType empathy_log_store_get_type (void) G_GNUC_CONST;
const gchar *empathy_log_store_get_name (EmpathyLogStore *self);
gboolean empathy_log_store_exists (EmpathyLogStore *self,
- McAccount *account, const gchar *chat_id, gboolean chatroom);
+ EmpathyAccount *account, const gchar *chat_id, gboolean chatroom);
gboolean empathy_log_store_add_message (EmpathyLogStore *self,
const gchar *chat_id, gboolean chatroom, EmpathyMessage *message,
GError **error);
GList *empathy_log_store_get_dates (EmpathyLogStore *self,
- McAccount *account, const gchar *chat_id, gboolean chatroom);
+ EmpathyAccount *account, const gchar *chat_id, gboolean chatroom);
GList *empathy_log_store_get_messages_for_date (EmpathyLogStore *self,
- McAccount *account, const gchar *chat_id, gboolean chatroom,
+ EmpathyAccount *account, const gchar *chat_id, gboolean chatroom,
const gchar *date);
GList *empathy_log_store_get_last_messages (EmpathyLogStore *self,
- McAccount *account, const gchar *chat_id, gboolean chatroom);
+ EmpathyAccount *account, const gchar *chat_id, gboolean chatroom);
GList *empathy_log_store_get_chats (EmpathyLogStore *self,
- McAccount *account);
+ EmpathyAccount *account);
GList *empathy_log_store_search_new (EmpathyLogStore *self,
const gchar *text);
void empathy_log_store_ack_message (EmpathyLogStore *self,
const gchar *chat_id, gboolean chatroom, EmpathyMessage *message);
GList *empathy_log_store_get_filtered_messages (EmpathyLogStore *self,
- McAccount *account, const gchar *chat_id, gboolean chatroom,
+ EmpathyAccount *account, const gchar *chat_id, gboolean chatroom,
guint num_messages, EmpathyLogMessageFilter filter, gpointer user_data);
G_END_DECLS
diff --git a/libempathy/empathy-time.c b/libempathy/empathy-time.c
index 5a934a5e3..19397e7a9 100644
--- a/libempathy/empathy-time.c
+++ b/libempathy/empathy-time.c
@@ -42,7 +42,7 @@ empathy_time_get_local_time (struct tm *tm)
{
const gchar *timezone;
time_t t;
-
+
timezone = g_getenv ("TZ");
g_setenv ("TZ", "", TRUE);
diff --git a/libempathy/empathy-tp-chat.c b/libempathy/empathy-tp-chat.c
index 6810476d1..a3282818f 100644
--- a/libempathy/empathy-tp-chat.c
+++ b/libempathy/empathy-tp-chat.c
@@ -1032,7 +1032,7 @@ tp_chat_constructor (GType type,
/* Get initial member contacts */
members = tp_channel_group_get_members (priv->channel);
- handles = tp_intset_to_array (members);
+ handles = tp_intset_to_array (members);
empathy_tp_contact_factory_get_from_handles (priv->factory,
handles->len, (TpHandle *) handles->data,
tp_chat_got_added_contacts_cb, NULL, NULL, chat);
diff --git a/libempathy/empathy-tp-contact-factory.c b/libempathy/empathy-tp-contact-factory.c
index 96fdfda68..27160a445 100644
--- a/libempathy/empathy-tp-contact-factory.c
+++ b/libempathy/empathy-tp-contact-factory.c
@@ -494,21 +494,47 @@ tp_contact_factory_geocode (EmpathyContact *contact)
address = geoclue_address_details_new ();
+ str = get_dup_string (location, EMPATHY_LOCATION_COUNTRY_CODE);
+ if (str != NULL) {
+ g_hash_table_insert (address,
+ g_strdup (GEOCLUE_ADDRESS_KEY_COUNTRYCODE), str);
+ DEBUG ("\t - countrycode: %s", str);
+ }
+
str = get_dup_string (location, EMPATHY_LOCATION_COUNTRY);
- if (str != NULL)
- g_hash_table_insert (address, g_strdup ("country"), str);
+ if (str != NULL) {
+ g_hash_table_insert (address,
+ g_strdup (GEOCLUE_ADDRESS_KEY_COUNTRY), str);
+ DEBUG ("\t - country: %s", str);
+ }
str = get_dup_string (location, EMPATHY_LOCATION_POSTAL_CODE);
- if (str != NULL)
- g_hash_table_insert (address, g_strdup ("postalcode"), str);
+ if (str != NULL) {
+ g_hash_table_insert (address,
+ g_strdup (GEOCLUE_ADDRESS_KEY_POSTALCODE), str);
+ DEBUG ("\t - postalcode: %s", str);
+ }
+
+ str = get_dup_string (location, EMPATHY_LOCATION_REGION);
+ if (str != NULL) {
+ g_hash_table_insert (address,
+ g_strdup (GEOCLUE_ADDRESS_KEY_REGION), str);
+ DEBUG ("\t - region: %s", str);
+ }
str = get_dup_string (location, EMPATHY_LOCATION_LOCALITY);
- if (str != NULL)
- g_hash_table_insert (address, g_strdup ("locality"), str);
+ if (str != NULL) {
+ g_hash_table_insert (address,
+ g_strdup (GEOCLUE_ADDRESS_KEY_LOCALITY), str);
+ DEBUG ("\t - locality: %s", str);
+ }
str = get_dup_string (location, EMPATHY_LOCATION_STREET);
- if (str != NULL)
- g_hash_table_insert (address, g_strdup ("street"), str);
+ if (str != NULL) {
+ g_hash_table_insert (address,
+ g_strdup (GEOCLUE_ADDRESS_KEY_STREET), str);
+ DEBUG ("\t - street: %s", str);
+ }
g_object_ref (contact);
geoclue_geocode_address_to_position_async (geocode, address,
diff --git a/libempathy/empathy-tp-contact-list.c b/libempathy/empathy-tp-contact-list.c
index 58cb89cbe..cdb0431c4 100644
--- a/libempathy/empathy-tp-contact-list.c
+++ b/libempathy/empathy-tp-contact-list.c
@@ -205,7 +205,7 @@ tp_contact_list_group_members_changed_cb (TpChannel *channel,
g_signal_emit_by_name (list, "groups-changed", contact,
group_name,
TRUE);
- }
+ }
for (i = 0; i < removed->len; i++) {
EmpathyContact *contact;
@@ -224,7 +224,7 @@ tp_contact_list_group_members_changed_cb (TpChannel *channel,
g_signal_emit_by_name (list, "groups-changed", contact,
group_name,
FALSE);
- }
+ }
}
static void
diff --git a/libempathy/empathy-tp-roomlist.c b/libempathy/empathy-tp-roomlist.c
index 1b2e393d1..b3d955ee4 100644
--- a/libempathy/empathy-tp-roomlist.c
+++ b/libempathy/empathy-tp-roomlist.c
@@ -27,7 +27,7 @@
#include <telepathy-glib/dbus.h>
#include <telepathy-glib/util.h>
-#include <libmissioncontrol/mission-control.h>
+#include "empathy-account.h"
#include "empathy-tp-roomlist.h"
#include "empathy-chatroom.h"
@@ -40,7 +40,7 @@
typedef struct {
TpConnection *connection;
TpChannel *channel;
- McAccount *account;
+ EmpathyAccount *account;
gboolean is_listing;
gboolean start_requested;
} EmpathyTpRoomlistPriv;
@@ -54,7 +54,7 @@ enum {
enum {
PROP_0,
- PROP_CONNECTION,
+ PROP_ACCOUNT,
PROP_IS_LISTING,
};
@@ -352,13 +352,9 @@ static void
tp_roomlist_constructed (GObject *list)
{
EmpathyTpRoomlistPriv *priv = GET_PRIV (list);
- MissionControl *mc;
- mc = empathy_mission_control_dup_singleton ();
- priv->account = mission_control_get_account_for_tpconnection (mc,
- priv->connection,
- NULL);
- g_object_unref (mc);
+ priv->connection = empathy_account_get_connection (priv->account);
+ g_object_ref (priv->connection);
tp_cli_connection_call_request_channel (priv->connection, -1,
TP_IFACE_CHANNEL_TYPE_ROOM_LIST,
@@ -379,8 +375,8 @@ tp_roomlist_get_property (GObject *object,
EmpathyTpRoomlistPriv *priv = GET_PRIV (object);
switch (param_id) {
- case PROP_CONNECTION:
- g_value_set_object (value, priv->connection);
+ case PROP_ACCOUNT:
+ g_value_set_object (value, priv->account);
break;
case PROP_IS_LISTING:
g_value_set_boolean (value, priv->is_listing);
@@ -400,8 +396,8 @@ tp_roomlist_set_property (GObject *object,
EmpathyTpRoomlistPriv *priv = GET_PRIV (object);
switch (param_id) {
- case PROP_CONNECTION:
- priv->connection = g_object_ref (g_value_get_object (value));
+ case PROP_ACCOUNT:
+ priv->account = g_value_dup_object (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
@@ -420,11 +416,11 @@ empathy_tp_roomlist_class_init (EmpathyTpRoomlistClass *klass)
object_class->set_property = tp_roomlist_set_property;
g_object_class_install_property (object_class,
- PROP_CONNECTION,
- g_param_spec_object ("connection",
- "The Connection",
- "The connection on which it lists rooms",
- TP_TYPE_CONNECTION,
+ PROP_ACCOUNT,
+ g_param_spec_object ("account",
+ "The Account",
+ "The account on which it lists rooms",
+ EMPATHY_TYPE_ACCOUNT,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY));
g_object_class_install_property (object_class,
@@ -480,24 +476,14 @@ empathy_tp_roomlist_init (EmpathyTpRoomlist *list)
}
EmpathyTpRoomlist *
-empathy_tp_roomlist_new (McAccount *account)
+empathy_tp_roomlist_new (EmpathyAccount *account)
{
EmpathyTpRoomlist *list;
- MissionControl *mc;
- TpConnection *connection;
-
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
-
- mc = empathy_mission_control_dup_singleton ();
- connection = mission_control_get_tpconnection (mc, account, NULL);
list = g_object_new (EMPATHY_TYPE_TP_ROOMLIST,
- "connection", connection,
+ "account", account,
NULL);
- g_object_unref (mc);
- g_object_unref (connection);
-
return list;
}
diff --git a/libempathy/empathy-tp-roomlist.h b/libempathy/empathy-tp-roomlist.h
index 9f45b7f5c..801e5c69f 100644
--- a/libempathy/empathy-tp-roomlist.h
+++ b/libempathy/empathy-tp-roomlist.h
@@ -25,7 +25,7 @@
#include <glib.h>
#include <telepathy-glib/connection.h>
-#include <libmissioncontrol/mc-account.h>
+#include <libempathy/empathy-account.h>
G_BEGIN_DECLS
@@ -49,7 +49,7 @@ struct _EmpathyTpRoomlistClass {
};
GType empathy_tp_roomlist_get_type (void) G_GNUC_CONST;
-EmpathyTpRoomlist *empathy_tp_roomlist_new (McAccount *account);
+EmpathyTpRoomlist *empathy_tp_roomlist_new (EmpathyAccount *account);
gboolean empathy_tp_roomlist_is_listing (EmpathyTpRoomlist *list);
void empathy_tp_roomlist_start (EmpathyTpRoomlist *list);
void empathy_tp_roomlist_stop (EmpathyTpRoomlist *list);
diff --git a/libempathy/empathy-utils.c b/libempathy/empathy-utils.c
index 47746f536..fd54c9a98 100644
--- a/libempathy/empathy-utils.c
+++ b/libempathy/empathy-utils.c
@@ -193,7 +193,7 @@ empathy_xml_node_get_child_content (xmlNodePtr node,
if (l) {
return xmlNodeGetContent (l);
}
-
+
return NULL;
}
@@ -220,35 +220,26 @@ empathy_xml_node_find_child_prop_value (xmlNodePtr node,
if (prop && strcmp (prop, prop_value) == 0) {
found = l;
}
-
+
xmlFree (prop);
}
-
+
return found;
}
guint
empathy_account_hash (gconstpointer key)
{
- g_return_val_if_fail (MC_IS_ACCOUNT (key), 0);
+ g_return_val_if_fail (EMPATHY_IS_ACCOUNT (key), 0);
- return g_str_hash (mc_account_get_unique_name (MC_ACCOUNT (key)));
+ return g_str_hash (empathy_account_get_unique_name (EMPATHY_ACCOUNT (key)));
}
gboolean
empathy_account_equal (gconstpointer a,
gconstpointer b)
{
- const gchar *name_a;
- const gchar *name_b;
-
- g_return_val_if_fail (MC_IS_ACCOUNT (a), FALSE);
- g_return_val_if_fail (MC_IS_ACCOUNT (b), FALSE);
-
- name_a = mc_account_get_unique_name (MC_ACCOUNT (a));
- name_b = mc_account_get_unique_name (MC_ACCOUNT (b));
-
- return g_str_equal (name_a, name_b);
+ return a == b;
}
MissionControl *
diff --git a/libempathy/empathy-utils.h b/libempathy/empathy-utils.h
index de1437b9d..42acbc8e3 100644
--- a/libempathy/empathy-utils.h
+++ b/libempathy/empathy-utils.h
@@ -32,7 +32,6 @@
#include <libxml/parser.h>
#include <libxml/tree.h>
-#include <libmissioncontrol/mc-account.h>
#include <libmissioncontrol/mission-control.h>
#include "empathy-contact.h"
diff --git a/megaphone/src/megaphone-applet.c b/megaphone/src/megaphone-applet.c
index 0879e75a5..2e4fb1e72 100644
--- a/megaphone/src/megaphone-applet.c
+++ b/megaphone/src/megaphone-applet.c
@@ -32,10 +32,10 @@
#include <gconf/gconf-client.h>
#include <libmissioncontrol/mission-control.h>
-#include <libmissioncontrol/mc-account.h>
#include <libempathy/empathy-tp-contact-factory.h>
#include <libempathy/empathy-account-manager.h>
+#include <libempathy/empathy-dispatcher.h>
#include <libempathy/empathy-contact.h>
#include <libempathy/empathy-contact-list.h>
#include <libempathy/empathy-contact-manager.h>
@@ -55,7 +55,7 @@
typedef struct {
EmpathyTpContactFactory *factory;
EmpathyAccountManager *account_manager;
- McAccount *account;
+ EmpathyAccount *account;
gchar *id;
GtkWidget *image;
gint image_size;
@@ -194,7 +194,7 @@ megaphone_applet_got_contact_cb (EmpathyTpContactFactory *factory,
static void
megaphone_applet_new_connection_cb (EmpathyAccountManager *manager,
TpConnection *connection,
- McAccount *account,
+ EmpathyAccount *account,
MegaphoneApplet *applet)
{
MegaphoneAppletPriv *priv = GET_PRIV (applet);
@@ -223,13 +223,13 @@ megaphone_applet_preferences_response_cb (GtkWidget *dialog,
contact_list = g_object_get_data (G_OBJECT (dialog), "contact-list");
contact = empathy_contact_list_view_dup_selected (contact_list);
if (contact) {
- McAccount *account;
+ EmpathyAccount *account;
const gchar *account_id;
const gchar *contact_id;
gchar *str;
account = empathy_contact_get_account (contact);
- account_id = mc_account_get_unique_name (account);
+ account_id = empathy_account_get_unique_name (account);
contact_id = empathy_contact_get_id (contact);
str = g_strconcat (account_id, "/", contact_id, NULL);
@@ -300,7 +300,6 @@ megaphone_applet_button_press_event_cb (GtkWidget *widget,
MegaphoneApplet *applet)
{
MegaphoneAppletPriv *priv = GET_PRIV (applet);
- MissionControl *mc;
/* Only react on left-clicks */
if (event->button != 1 || event->type != GDK_BUTTON_PRESS) {
@@ -317,15 +316,8 @@ megaphone_applet_button_press_event_cb (GtkWidget *widget,
empathy_contact_get_id (priv->contact),
empathy_contact_get_handle (priv->contact));
- mc = empathy_mission_control_dup_singleton ();
- mission_control_request_channel (mc,
- empathy_contact_get_account (priv->contact),
- TP_IFACE_CHANNEL_TYPE_TEXT,
- empathy_contact_get_handle (priv->contact),
- TP_HANDLE_TYPE_CONTACT,
- NULL, NULL);
- g_object_unref (mc);
-
+ empathy_dispatcher_chat_with_contact (priv->contact, NULL, NULL);
+
return TRUE;
}
@@ -453,15 +445,15 @@ megaphone_applet_set_contact (MegaphoneApplet *applet,
/* Lookup the new contact */
if (str) {
strv = g_strsplit (str, "/", 2);
- priv->account = mc_account_lookup (strv[0]);
+ priv->account = empathy_account_manager_lookup (priv->account_manager,
+ strv[0]);
priv->id = strv[1];
g_free (strv[0]);
g_free (strv);
}
if (priv->account) {
- connection = empathy_account_manager_get_connection (
- priv->account_manager, priv->account);
+ connection = empathy_account_get_connection (priv->account);
if (connection) {
megaphone_applet_new_connection_cb (priv->account_manager,
connection, priv->account, applet);
diff --git a/po/LINGUAS b/po/LINGUAS
index 039fa077c..b1de6b5a5 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -41,6 +41,7 @@ nb
ne
nl
oc
+or
pa
pl
ps
diff --git a/po/POTFILES.in b/po/POTFILES.in
index e80a29c67..cfd921533 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -40,6 +40,7 @@ libempathy-gtk/empathy-log-window.c
[type: gettext/glade]libempathy-gtk/empathy-log-window.ui
[type: gettext/glade]libempathy-gtk/empathy-new-message-dialog.ui
libempathy-gtk/empathy-presence-chooser.c
+libempathy-gtk/empathy-sound.c
libempathy-gtk/empathy-status-preset-dialog.c
[type: gettext/glade]libempathy-gtk/empathy-status-preset-dialog.ui
libempathy-gtk/empathy-theme-boxes.c
diff --git a/po/bn_IN.po b/po/bn_IN.po
index dc88cc731..b14723405 100644
--- a/po/bn_IN.po
+++ b/po/bn_IN.po
@@ -2,15 +2,16 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
-# Runa Bhattacharjee <runab@redhat.com>, 2008.
+# Runa Bhattacharjee <runab@redhat.com>, 2008, 2009.
msgid ""
msgstr ""
"Project-Id-Version: bn_IN\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-08-21 03:59+0000\n"
-"PO-Revision-Date: 2008-08-21 19:43+0530\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
+"product=empathy&component=general\n"
+"POT-Creation-Date: 2009-06-19 11:50+0000\n"
+"PO-Revision-Date: 2009-06-19 18:45+0530\n"
"Last-Translator: Runa Bhattacharjee <runab@redhat.com>\n"
-"Language-Team: Bengali INDIA <fedora-trans-bn_IN@redhat.com>\n"
+"Language-Team: Bengali INDIA <discuss@lists.ankur.org.in>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -40,8 +41,11 @@ msgid "Chat window theme"
msgstr "আলাপন উইন্ডোর থিম"
#: ../data/empathy.schemas.in.h:4
-msgid "Comma separated list of spell checker languages to use (e.g. en, fr, nl)."
-msgstr "বিভিন্ন ভাষার জন্য ব্যবহারযোগ্য বানান-পরীক্ষণ ব্যবস্থার তালিকা, কমা চিহ্ন দ্বারা বিভক্ত (উদাহরণস্বরূপ, en, fr, nl)।"
+msgid ""
+"Comma separated list of spell checker languages to use (e.g. en, fr, nl)."
+msgstr ""
+"বিভিন্ন ভাষার জন্য ব্যবহারযোগ্য বানান-পরীক্ষণ ব্যবস্থার তালিকা, কমা চিহ্ন দ্বারা "
+"বিভক্ত (উদাহরণস্বরূপ, en, fr, nl)।"
#: ../data/empathy.schemas.in.h:5
msgid "Compact contact list"
@@ -56,809 +60,1277 @@ msgid "Default directory to select an avatar image from"
msgstr "ব্যবহারকারীর অবতার চিহ্নকারী ছবি নির্ধারণের জন্য ব্যবহৃত ডিফল্ট ডিরেক্টরি"
#: ../data/empathy.schemas.in.h:8
-msgid "Empathy should auto-connect on startup"
-msgstr "আরম্ভকালে Empathy দ্বারা স্বয়ংক্রিয়রূপে সংযোগ স্থাপন করা হবে"
+msgid "Disable popup notifications when away"
+msgstr "অনুপস্থিত হলে পপ-আপ সূচনাবার্তা নিষ্ক্রিয় করা হবে"
#: ../data/empathy.schemas.in.h:9
-msgid "Empathy should use the avatar of the contact as the chat window icon"
-msgstr ""
+msgid "Disable sounds when away"
+msgstr "অনুপস্থিত হলে শব্দ নিষ্ক্রিয় করা হবে"
#: ../data/empathy.schemas.in.h:10
-msgid "Enable popup when contact is available"
-msgstr "পরিচিত ব্যক্তি উপস্থিত হলে পপ-আপ সক্রিয় করা হবে"
+msgid "Empathy can publish the user's location"
+msgstr ""
#: ../data/empathy.schemas.in.h:11
-msgid "Enable sound when away"
-msgstr "অনুপস্থিত হলে শব্দ সক্রিয় করা হবে"
+msgid "Empathy can use the GPS to guess the location"
+msgstr ""
#: ../data/empathy.schemas.in.h:12
-msgid "Enable sound when busy"
-msgstr "ব্যস্ত অবস্থায় শব্দ সক্রিয় করা হবে"
+msgid "Empathy can use the cellular network to guess the location"
+msgstr ""
#: ../data/empathy.schemas.in.h:13
+msgid "Empathy can use the network to guess the location"
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:14
+msgid "Empathy default download folder"
+msgstr "Empathy-র ডিফল্ট ডাউনলোড ফোল্ডার"
+
+#: ../data/empathy.schemas.in.h:15
+msgid "Empathy has asked about importing accounts"
+msgstr "Empathy দ্বারা অ্যাকাউন্ট ইম্পোর্ট সম্পর্কে জিজ্ঞাসা করা হয়েছে"
+
+#: ../data/empathy.schemas.in.h:16
+msgid "Empathy should auto-connect on startup"
+msgstr "আরম্ভকালে Empathy দ্বারা স্বয়ংক্রিয়রূপে সংযোগ স্থাপন করা হবে"
+
+#: ../data/empathy.schemas.in.h:17
+#, fuzzy
+msgid "Empathy should reduce the location's accuracy"
+msgstr "আরম্ভকালে Empathy দ্বারা স্বয়ংক্রিয়রূপে সংযোগ স্থাপন করা হবে"
+
+#: ../data/empathy.schemas.in.h:18
+msgid "Empathy should use the avatar of the contact as the chat window icon"
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:19
+msgid "Enable popup notifications for new messages"
+msgstr "নতুন বার্তার জন্য পপ-আপ সূচনাবার্তা সক্রিয় করা হবে"
+
+#: ../data/empathy.schemas.in.h:20
msgid "Enable spell checker"
msgstr "বানা পরীক্ষণ সক্রিয় করা হবে"
-#: ../data/empathy.schemas.in.h:14
+#: ../data/empathy.schemas.in.h:21
msgid "Hide main window"
msgstr "প্রধান উইন্ডো আড়াল করা হবে"
-#: ../data/empathy.schemas.in.h:15
+#: ../data/empathy.schemas.in.h:22
msgid "Hide the main window."
msgstr "প্রধান উইন্ডো আড়াল করা হবে।"
-#: ../data/empathy.schemas.in.h:16
+#: ../data/empathy.schemas.in.h:23
msgid "NetworkManager should be used"
msgstr "NetworkManager ব্যবহার করা হবে"
-#: ../data/empathy.schemas.in.h:17
+#: ../data/empathy.schemas.in.h:24
msgid "Nick completed character"
msgstr ""
-#: ../data/empathy.schemas.in.h:18
+#: ../data/empathy.schemas.in.h:25
msgid "Open new chats in separate windows"
msgstr "নতুন আলাপন আরম্ভ হলে পৃথক উইন্ডোর মধ্যে প্রদর্শন করা হবে"
-#: ../data/empathy.schemas.in.h:19
+#: ../data/empathy.schemas.in.h:26
+msgid "Path of the adium theme to use"
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:27
+#, fuzzy
+msgid "Path of the adium theme to use if the theme used for chat is adium."
+msgstr "চ্যাট-রুমের জন্য থিম ব্যবহার করা হবে কি না।"
+
+#: ../data/empathy.schemas.in.h:28
+msgid "Play a sound for incoming messages"
+msgstr "নতুন বার্তা প্রাপ্ত হলে শব্দ বাজানো হবে"
+
+#: ../data/empathy.schemas.in.h:29
+msgid "Play a sound for new conversations"
+msgstr "নতুন আলাপনের জন্য শব্দ বাজানো হবে"
+
+#: ../data/empathy.schemas.in.h:30
+msgid "Play a sound for outgoing messages"
+msgstr "নতুন বার্তা পাঠানো হলে শব্দ বাজানো হবে"
+
+#: ../data/empathy.schemas.in.h:31
+msgid "Play a sound when a contact logs in"
+msgstr "পরিচিত ব্যক্তি লগ-ইন করলে শব্দ বাজানো হবে"
+
+#: ../data/empathy.schemas.in.h:32
+msgid "Play a sound when a contact logs out"
+msgstr "পরিচিত ব্যক্তি লগ-আউট করলে শব্দ বাজানো হবে"
+
+#: ../data/empathy.schemas.in.h:33
+msgid "Play a sound when we log in"
+msgstr "নিজে লগ-ইন করলে শব্দ বাজানো হবে"
+
+#: ../data/empathy.schemas.in.h:34
+msgid "Play a sound when we log out"
+msgstr "নিজে লগ-আউট করলে শব্দ বাজানো হবে"
+
+#: ../data/empathy.schemas.in.h:35
+msgid "Popup notifications if the chat isn't focused"
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:36
msgid "Salut account is created"
msgstr "Salut অ্যাকাউন্ট নির্মিত হয়েছে"
-#: ../data/empathy.schemas.in.h:20
+#: ../data/empathy.schemas.in.h:37
msgid "Show avatars"
msgstr "অবতারের ছবি প্রদর্শন করা হবে"
-#: ../data/empathy.schemas.in.h:21
+#: ../data/empathy.schemas.in.h:38
+#, fuzzy
+msgid "Show contact list in rooms"
+msgstr "পরিচিত ব্যক্তিদের তালিকা প্রদর্শন করা হবে (_S)"
+
+#: ../data/empathy.schemas.in.h:39
msgid "Show hint about closing the main window"
msgstr "প্রধান উইন্ডো বন্ধ করার জন্য ইঙ্গিত প্রদর্শন করা হবে"
-#: ../data/empathy.schemas.in.h:22
+#: ../data/empathy.schemas.in.h:40
msgid "Show offline contacts"
msgstr "অফ-লাইন অবস্থায় থাকা পরিচিত ব্যক্তিদের তালিকা প্রদর্শন করা হবে"
-#: ../data/empathy.schemas.in.h:23
+#: ../data/empathy.schemas.in.h:41
msgid "Spell checking languages"
msgstr "ভাষার জন্য বানা পরীক্ষণ"
-#: ../data/empathy.schemas.in.h:24
+#: ../data/empathy.schemas.in.h:42
+msgid "The default folder to save file transfers in."
+msgstr "বিনিময় করা সামগ্রী সংরক্ষণের জন্য চিহ্নিত ফোল্ডার।"
+
+#: ../data/empathy.schemas.in.h:43
msgid "The last directory that an avatar image was chosen from."
msgstr "সর্বশেষ অবতারের জন্য ব্যবহৃথ ছবিটি যে ডিরেক্টরি থেকে নির্বাচন করা হয়েছে।"
-#: ../data/empathy.schemas.in.h:25
+#: ../data/empathy.schemas.in.h:44
msgid "The theme that is used to display the conversation in chat windows."
msgstr ""
-#: ../data/empathy.schemas.in.h:26
+#: ../data/empathy.schemas.in.h:45
msgid "Use graphical smileys"
msgstr "গ্রাফিক্যাল স্মাইলি ব্যবহার করুন"
-#: ../data/empathy.schemas.in.h:27
+#: ../data/empathy.schemas.in.h:46
msgid "Use notification sounds"
msgstr "সূচনামূলক শব্দ ব্যবহার করা হবে"
-#: ../data/empathy.schemas.in.h:28
+#: ../data/empathy.schemas.in.h:47
msgid "Use theme for chat rooms"
+msgstr "চ্যাট-রুমের জন্য থিম প্রয়োগ করা হবে"
+
+#: ../data/empathy.schemas.in.h:48
+#, fuzzy
+msgid "Whether or not Empathy can publish the user's location to his contacts."
msgstr ""
+"পরিচিতি তালিকায় উপস্থিত ব্যক্তিরা অফ-লাইন থাকলে, তালিকায় তাদের প্রদর্শন করা হবে "
+"কি না।"
-#: ../data/empathy.schemas.in.h:29
+#: ../data/empathy.schemas.in.h:49
+msgid "Whether or not Empathy can use the GPS to guess the location."
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:50
+msgid ""
+"Whether or not Empathy can use the cellular network to guess the location."
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:51
+#, fuzzy
+msgid "Whether or not Empathy can use the network to guess the location."
+msgstr "নতুন আলাপন সম্পর্কে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।"
+
+#: ../data/empathy.schemas.in.h:52
+msgid ""
+"Whether or not Empathy has asked about importing accounts from other "
+"programs."
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:53
msgid ""
"Whether or not Empathy should automatically log in to your accounts on "
"startup."
msgstr "Empathy প্রারম্ভকালে স্বয়ংক্রিয়রূপে সকল অ্যাকাউন্টে লগ-ইন করা হবে কি না।"
-#: ../data/empathy.schemas.in.h:30
+#: ../data/empathy.schemas.in.h:54
+#, fuzzy
+msgid ""
+"Whether or not Empathy should reduce the location's accuracy for privacy "
+"reasons."
+msgstr "Empathy প্রারম্ভকালে স্বয়ংক্রিয়রূপে সকল অ্যাকাউন্টে লগ-ইন করা হবে কি না।"
+
+#: ../data/empathy.schemas.in.h:55
msgid ""
"Whether or not Empathy should use the avatar of the contact as the chat "
"window icon."
msgstr ""
-#: ../data/empathy.schemas.in.h:31
-msgid "Whether or not the Salut account has been created on the first Empathy run."
+#: ../data/empathy.schemas.in.h:56
+msgid ""
+"Whether or not the Salut account has been created on the first Empathy run."
msgstr "Empathy প্রথমবার সঞ্চালনের সময় Salut অ্যাকাউন্ট নির্মিত হয়েছে কি না।"
-#: ../data/empathy.schemas.in.h:32
+#: ../data/empathy.schemas.in.h:57
msgid ""
"Whether or not the network manager should be used to automatically "
"disconnect/reconnect."
-msgstr "স্বয়ংক্রিয়রূপে সংযোগ স্থাপন/বিচ্ছিন্ন করার জন্য network manager প্রয়োগ করা হবে কি না।"
+msgstr ""
+"স্বয়ংক্রিয়রূপে সংযোগ স্থাপন/বিচ্ছিন্ন করার জন্য network manager প্রয়োগ করা হবে কি না।"
-#: ../data/empathy.schemas.in.h:33
+#: ../data/empathy.schemas.in.h:58
msgid ""
"Whether or not to check words typed against the languages you want to check "
"with."
msgstr ""
-#: ../data/empathy.schemas.in.h:34
-msgid "Whether or not to convert smileys into graphical images in conversations."
+#: ../data/empathy.schemas.in.h:59
+msgid ""
+"Whether or not to convert smileys into graphical images in conversations."
msgstr ""
-#: ../data/empathy.schemas.in.h:35
-msgid "Whether or not to play a sound when messages arrive."
-msgstr "বার্তা প্রাপ্ত হলে শব্দ বাজানো হবে কি না।"
+#: ../data/empathy.schemas.in.h:60
+msgid ""
+"Whether or not to play a sound to notify for contacts logging in the network."
+msgstr ""
+"পরিচিত ব্যক্তিরা নেটওয়ার্কে লগ-ইন করলে, সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।"
-#: ../data/empathy.schemas.in.h:36
-msgid "Whether or not to play sounds when away."
-msgstr "অনুপস্থিত অবস্থায় শব্দ বাজানো হবে কি না।"
+#: ../data/empathy.schemas.in.h:61
+msgid ""
+"Whether or not to play a sound to notify for contacts logging off the "
+"network."
+msgstr ""
+"পরিচিত ব্যক্তিরা নেটওয়ার্কে লগ-অফ করলে, সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।"
-#: ../data/empathy.schemas.in.h:37
-msgid "Whether or not to play sounds when busy."
-msgstr "ব্যস্ত অবস্থায় শব্দ বাজানো হবে কি না।"
+#: ../data/empathy.schemas.in.h:62
+msgid "Whether or not to play a sound to notify for events."
+msgstr "বিভিন্ন ঘটনা সম্পর্কে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।"
-#: ../data/empathy.schemas.in.h:38
-msgid "Whether or not to show a popup when a contact becomes available."
+#: ../data/empathy.schemas.in.h:63
+msgid "Whether or not to play a sound to notify for incoming messages."
+msgstr "প্রাপ্ত বার্তা সম্পর্কে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।"
+
+#: ../data/empathy.schemas.in.h:64
+msgid "Whether or not to play a sound to notify for new conversations."
+msgstr "নতুন আলাপন সম্পর্কে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।"
+
+#: ../data/empathy.schemas.in.h:65
+msgid "Whether or not to play a sound to notify for outgoing messages."
+msgstr "প্রেরিত বার্তা সম্পর্কে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।"
+
+#: ../data/empathy.schemas.in.h:66
+msgid "Whether or not to play a sound when logging in a network."
+msgstr "নেটওয়ার্কে লগ-ইন করলে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।"
+
+#: ../data/empathy.schemas.in.h:67
+msgid "Whether or not to play a sound when logging off a network."
+msgstr "নেটওয়ার্কে লগ-অফ করলে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।"
+
+#: ../data/empathy.schemas.in.h:68
+msgid "Whether or not to play sound notifications when away or busy."
+msgstr "অনুপস্থিত অথবা ব্যস্ত থাকলে সূচনাপ্রদানের জন্য শব্দ বাজানো হবে কি না।"
+
+#: ../data/empathy.schemas.in.h:69
+msgid ""
+"Whether or not to show a popup notification when receiving a new message "
+"even if the chat is already opened, but not focused."
msgstr ""
-#: ../data/empathy.schemas.in.h:39
+#: ../data/empathy.schemas.in.h:70
+msgid ""
+"Whether or not to show a popup notification when receiving a new message."
+msgstr "নতুন বার্তা প্রাপ্ত করা হলে পপ-আপের মাধ্যমে সূচনা প্রদান করা হবে কি না।"
+
+#: ../data/empathy.schemas.in.h:71
msgid ""
"Whether or not to show avatars for contacts in the contact list and chat "
"windows."
msgstr ""
-#: ../data/empathy.schemas.in.h:40
+#: ../data/empathy.schemas.in.h:72
msgid "Whether or not to show contacts that are offline in the contact list."
msgstr ""
+"পরিচিতি তালিকায় উপস্থিত ব্যক্তিরা অফ-লাইন থাকলে, তালিকায় তাদের প্রদর্শন করা হবে "
+"কি না।"
-#: ../data/empathy.schemas.in.h:41
+#: ../data/empathy.schemas.in.h:73
+msgid "Whether or not to show popup notifications when away or busy."
+msgstr "অনুপস্থিত অথবা ব্যস্ত থাকলে পপ সূচনাবার্তা প্রদর্শন করা হবে কি না।"
+
+#: ../data/empathy.schemas.in.h:74
+#, fuzzy
+msgid "Whether or not to show the contact list in chat rooms."
+msgstr "সংকুচিত মোডে, পরিচিতি তালিকা প্রদর্শন করা হবে কি না।"
+
+#: ../data/empathy.schemas.in.h:75
msgid ""
"Whether or not to show the message dialog about closing the main window with "
"the 'x' button in the title bar."
msgstr ""
-#: ../data/empathy.schemas.in.h:42
+#: ../data/empathy.schemas.in.h:76
msgid "Whether to show the contact list in compact mode or not."
-msgstr ""
+msgstr "সংকুচিত মোডে, পরিচিতি তালিকা প্রদর্শন করা হবে কি না।"
-#: ../data/empathy.schemas.in.h:43
+#: ../data/empathy.schemas.in.h:77
msgid "Whether to use the theme for chat rooms or not."
-msgstr ""
+msgstr "চ্যাট-রুমের জন্য থিম ব্যবহার করা হবে কি না।"
-#: ../data/empathy.schemas.in.h:44
+#: ../data/empathy.schemas.in.h:78
msgid ""
"Which criterium to use when sorting the contact list. Default is to use sort "
"by the contact's name with the value \"name\". A value of \"state\" will "
"sort the contact list by state."
msgstr ""
-#: ../libempathy/empathy-tp-contact-list.c:731 ../src/empathy.c:248
+#: ../libempathy/empathy-ft-handler.c:838
+msgid "The hash of the received file and the sent one do not match"
+msgstr ""
+
+#: ../libempathy/empathy-ft-handler.c:1098
+msgid "File transfer not supported by remote contact"
+msgstr ""
+
+#: ../libempathy/empathy-ft-handler.c:1156
+msgid "The selected file is not a regular file"
+msgstr ""
+
+#: ../libempathy/empathy-ft-handler.c:1165
+msgid "The selected file is empty"
+msgstr ""
+
+#: ../libempathy/empathy-tp-contact-list.c:757 ../src/empathy.c:287
msgid "People nearby"
msgstr "নিকটবর্তী ব্যক্তিরা"
-#: ../libempathy/empathy-utils.c:345
+#: ../libempathy/empathy-tp-file.c:279
+msgid "Socket type not supported"
+msgstr ""
+
+#: ../libempathy/empathy-tp-file.c:398
+msgid "No reason was specified"
+msgstr "কোনো কারণ উল্লিখিত হয়নি"
+
+#: ../libempathy/empathy-tp-file.c:401
+msgid "The change in state was requested"
+msgstr "অবস্থার পরিবর্তন অনুরোধ করা হয়েছে"
+
+#: ../libempathy/empathy-tp-file.c:404
+msgid "You canceled the file transfer"
+msgstr "ফাইল বিনিময়ের কাজ আপনি বাতিল করেছেন"
+
+#: ../libempathy/empathy-tp-file.c:407
+msgid "The other participant canceled the file transfer"
+msgstr "ফাইল বিনিময়ের কাজ অন্য ব্যবহারকারী বাতিল করেছেন"
+
+#: ../libempathy/empathy-tp-file.c:410
+msgid "Error while trying to transfer the file"
+msgstr "ফাইল বিনিময় করতে সমস্যা"
+
+#: ../libempathy/empathy-tp-file.c:413
+msgid "The other participant is unable to transfer the file"
+msgstr "অন্য ব্যবহারকারী ফাইল বিনিময় করতে সক্ষম হননি"
+
+#: ../libempathy/empathy-tp-file.c:416
+msgid "Unknown reason"
+msgstr "অজানা কারণ"
+
+#: ../libempathy/empathy-utils.c:274
msgid "Available"
msgstr "উপস্থিত"
-#: ../libempathy/empathy-utils.c:347
+#: ../libempathy/empathy-utils.c:276
msgid "Busy"
msgstr "ব্যস্ত"
-#: ../libempathy/empathy-utils.c:350
+#: ../libempathy/empathy-utils.c:279
msgid "Away"
msgstr "অনুপস্থিত"
-#: ../libempathy/empathy-utils.c:352
+#: ../libempathy/empathy-utils.c:281
msgid "Hidden"
msgstr "আড়ালে"
-#: ../libempathy/empathy-utils.c:355
+#: ../libempathy/empathy-utils.c:283
msgid "Offline"
msgstr "অফ-লাইন"
-#: ../libempathy-gtk/empathy-account-chooser.c:337
+#: ../libempathy/empathy-time.c:137
+#, c-format
+msgid "%d second ago"
+msgid_plural "%d seconds ago"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../libempathy/empathy-time.c:142
+#, c-format
+msgid "%d minute ago"
+msgid_plural "%d minutes ago"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../libempathy/empathy-time.c:147
+#, c-format
+msgid "%d hour ago"
+msgid_plural "%d hours ago"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../libempathy/empathy-time.c:152
+#, c-format
+msgid "%d day ago"
+msgid_plural "%d days ago"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../libempathy/empathy-time.c:157
+#, c-format
+msgid "%d week ago"
+msgid_plural "%d weeks ago"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../libempathy/empathy-time.c:162
+#, c-format
+msgid "%d month ago"
+msgid_plural "%d months ago"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../libempathy/empathy-time.c:167
+msgid "in the future"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-account-chooser.c:419
msgid "All"
msgstr "সকল"
#: ../libempathy-gtk/empathy-account-widget.c:302
-#: ../libempathy-gtk/empathy-account-widget.c:347
+#: ../libempathy-gtk/empathy-account-widget.c:354
#, c-format
msgid "%s:"
msgstr "%s:"
-#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-generic.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:1
-msgid "<b>Advanced</b>"
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-generic.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:1
+#, fuzzy
+msgid "Advanced"
msgstr "<b>উন্নত বিকল্প</b>"
-#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:2
-#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:2
-#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:2
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:3
-#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:2
-#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:4
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:2
-msgid "Forget password and clear the entry."
-msgstr ""
-
-#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:3
-#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:4
-#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:4
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:5
-#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:4
-#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:5
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:3
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:2
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:3
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:3
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:3
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:2
msgid "Pass_word:"
msgstr "পাসওয়ার্ড: (_w)"
-#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:4
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:3
msgid "Screen _Name:"
msgstr "পর্দায় ব্যবহৃত নাম: (_N)"
-#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:5
-#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:5
-#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:6
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:11
-#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:5
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:8
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:10
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:7
msgid "_Port:"
msgstr "পোর্ট: (_P)"
-#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:6
-#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:6
-#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:7
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:12
-#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:6
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:10
-#: ../src/empathy-new-chatroom-dialog.glade.h:10
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:6
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:11
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:9
+#: ../src/empathy-new-chatroom-dialog.ui.h:9
msgid "_Server:"
msgstr "সার্ভার: (_S)"
-#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:3
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:4
-#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:3
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:2
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:2
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:2
msgid "Login I_D:"
msgstr "লগ-ইন ID: (_D)"
-#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:3
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:2
msgid "ICQ _UIN:"
msgstr "ICQ _UIN:"
-#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:5
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:6
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:5
msgid "_Charset:"
msgstr "ক্যারসেট: (_C)"
-#: ../libempathy-gtk/empathy-account-widget-irc.c:245
+#: ../libempathy-gtk/empathy-account-widget-irc.c:241
msgid "New Network"
msgstr "নতুন নেটওয়ার্ক"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:1
-msgid "<b>Network</b>"
-msgstr "<b>নেটওয়ার্ক</b>"
-
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:2
-msgid "<b>Servers</b>"
-msgstr "<b>সার্ভার</b>"
-
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:3
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:1
msgid "Charset:"
msgstr "ক্যারসেট:"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:4
-msgid "Create a new IRC network"
-msgstr "নতুন IRC নেটওয়ার্ক নির্মাণ করুন"
-
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:5
-msgid "Edit the selected IRC network"
-msgstr "নির্বাচিত IRC নেটওয়ার্কের বৈশিষ্ট্য পরিবর্তন করুন"
-
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:6
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:2
msgid "Network"
msgstr "নেটওয়ার্ক"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:7
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:3
msgid "Network:"
msgstr "নেটওয়ার্ক:"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:8
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:4
msgid "Nickname:"
msgstr "উপনাম (Nickname):"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:9
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:5
msgid "Password:"
msgstr "পাসওয়ার্ড:"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:10
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:6
msgid "Quit message:"
msgstr "প্রস্থানকালে প্রদর্শিত বার্তা:"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:11
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:7
msgid "Real name:"
msgstr "নাম:"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:12
-msgid "Remove the selected IRC network"
-msgstr "নির্বাচিত IRC নেটওয়ার্ক মুছে ফেলুন"
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:8
+#, fuzzy
+msgid "Servers"
+msgstr "সার্ভার"
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:2
-msgid "<b>Override server settings</b>"
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:3
+#, fuzzy
+msgid "Override server settings"
msgstr "<b>সার্ভারের বৈশিষ্ট্য উপেক্ষা করা হবে</b>"
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:6
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:5
msgid "Pri_ority:"
msgstr "গুরুত্ব: (_o))"
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:7
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:6
msgid "Reso_urce:"
-msgstr ""
+msgstr "সামগ্রী: (_u)"
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:8
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:7
msgid "Use old SS_L"
msgstr "পুরোনো SSL ব্যবহার করা হবে (_L)"
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:9
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:8
msgid "_Encryption required (TLS/SSL)"
msgstr "এনক্রিপশন আবশ্যক (TLS/SSL) (_E)"
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:10
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:9
msgid "_Ignore SSL certificate errors"
msgstr "SSL সার্টিফিকেট সংক্রান্ত সমস্যা উপেক্ষা করা হবে (_I)"
-#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:2
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:2
msgid "_Email:"
msgstr "ই-মেইল: (_E)"
-#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:3
-msgid "_First Name: "
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:3
+msgid "_First Name:"
msgstr "নাম: (_F)"
-#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:4
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:4
msgid "_Jabber ID:"
msgstr "_Jabber ID:"
-#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:5
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:5
msgid "_Last Name:"
msgstr "পদবি: (_L)"
-#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:6
-#: ../src/empathy-chatrooms-window.glade.h:8
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:6
msgid "_Nickname:"
msgstr "উপনাম: (_N)"
-#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:7
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:7
msgid "_Published Name:"
msgstr "প্রকাশিত নাম: (_P)"
#. look up the DNS SRV record at the service's domain for the host name of a STUN server.
-#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:3
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:3
msgid "Discover STUN"
-msgstr ""
+msgstr "STUN অনুসন্ধান করা হবে"
-#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:6
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:5
msgid "STUN Server:"
msgstr "STUN সার্ভার:"
-#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:7
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:6
msgid "STUN port:"
msgstr "STUN পোর্ট:"
-#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:8
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:7
msgid "_Username:"
msgstr "ব্যবহারকারীর নাম: (_U)"
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:4
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:3
msgid "Use _Yahoo Japan"
msgstr "Yahoo Japan ব্যবহার করা হবে (_Y)"
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:5
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:4
msgid "Yahoo I_D:"
msgstr "Yahoo I_D:"
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:7
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:6
msgid "_Ignore conference and chatroom invitations"
-msgstr ""
+msgstr "বৈঠক ও চ্যাট-রুম থেকে প্রাপ্ত আমন্ত্রণগুলি উপেক্ষা করা হবে (_I)"
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:9
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:8
msgid "_Room List locale:"
-msgstr ""
+msgstr "রুম তালিকার লোকেইল: (_R)"
+
+#: ../libempathy-gtk/empathy-avatar-chooser.c:449
+#: ../libempathy-gtk/empathy-avatar-chooser.c:525
+msgid "Couldn't convert image"
+msgstr "ছবি রূপান্তর করতে ব্যর্থ"
+
+#: ../libempathy-gtk/empathy-avatar-chooser.c:450
+msgid "None of the accepted image formats is supported on your system"
+msgstr "গ্রহণযোগ্য ছবির বিন্যাসগুলির মধ্যে একটিও আপনার সিস্টেম দ্বারা সমর্থিত হয় না"
-#: ../libempathy-gtk/empathy-avatar-chooser.c:457
+#: ../libempathy-gtk/empathy-avatar-chooser.c:933
msgid "Select Your Avatar Image"
-msgstr ""
+msgstr "নিজের অবতারের ছবি নির্বাচন করুন"
-#: ../libempathy-gtk/empathy-avatar-chooser.c:460
+#: ../libempathy-gtk/empathy-avatar-chooser.c:936
msgid "No Image"
msgstr "ছবি ব্যবহৃত হবে না"
-#: ../libempathy-gtk/empathy-avatar-chooser.c:520
+#: ../libempathy-gtk/empathy-avatar-chooser.c:998
msgid "Images"
msgstr "ছবি"
-#: ../libempathy-gtk/empathy-avatar-chooser.c:524
+#: ../libempathy-gtk/empathy-avatar-chooser.c:1002
msgid "All Files"
msgstr "সর্বধরনের ফাইল"
-#: ../libempathy-gtk/empathy-avatar-image.c:294
+#: ../libempathy-gtk/empathy-avatar-image.c:324
msgid "Click to enlarge"
msgstr "বড় মাপে প্রদর্শনের জন্য ক্লিক করুন"
-#: ../libempathy-gtk/empathy-chat.c:497
+#: ../libempathy-gtk/empathy-chat.c:186
+msgid "Failed to reconnect this chat"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-chat.c:404
+msgid "Unsupported command"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-chat.c:539
msgid "offline"
msgstr "অফ-লাইন"
-#: ../libempathy-gtk/empathy-chat.c:500
+#: ../libempathy-gtk/empathy-chat.c:542
msgid "invalid contact"
msgstr "পরিচিত ব্যক্তির তথ্য বৈধ নয়"
-#: ../libempathy-gtk/empathy-chat.c:503
+#: ../libempathy-gtk/empathy-chat.c:545
msgid "permission denied"
msgstr "অনুমতি প্রদান করা হয়নি"
-#: ../libempathy-gtk/empathy-chat.c:506
+#: ../libempathy-gtk/empathy-chat.c:548
msgid "too long message"
msgstr "বার্তা অত্যাধিক লম্বা"
-#: ../libempathy-gtk/empathy-chat.c:509
+#: ../libempathy-gtk/empathy-chat.c:551
msgid "not implemented"
msgstr "প্রয়োগ করা হয়নি"
-#: ../libempathy-gtk/empathy-chat.c:512
+#: ../libempathy-gtk/empathy-chat.c:554
msgid "unknown"
msgstr "অজানা"
-#: ../libempathy-gtk/empathy-chat.c:516
+#: ../libempathy-gtk/empathy-chat.c:558
#, c-format
msgid "Error sending message '%s': %s"
msgstr "'%s' বার্তা পাঠাতে সমস্যা: %s"
-#: ../libempathy-gtk/empathy-chat.c:546
+#: ../libempathy-gtk/empathy-chat.c:588
#, c-format
msgid "Topic set to: %s"
-msgstr ""
+msgstr "নির্ধারিত বিষয়: %s"
-#: ../libempathy-gtk/empathy-chat.c:548
+#: ../libempathy-gtk/empathy-chat.c:590
msgid "No topic defined"
+msgstr "বিষয় নির্ধারিত হয়নি"
+
+#: ../libempathy-gtk/empathy-chat.c:959
+msgid "(No Suggestions)"
msgstr ""
-#: ../libempathy-gtk/empathy-chat.c:963
+#: ../libempathy-gtk/empathy-chat.c:1013
msgid "Insert Smiley"
msgstr "স্মাইলি চিহ্ন অন্তর্ভুক্ত করুন"
-#: ../libempathy-gtk/empathy-chat.c:979
+#. send button
+#: ../libempathy-gtk/empathy-chat.c:1031
+#: ../libempathy-gtk/empathy-ui-utils.c:1476
msgid "_Send"
msgstr "পাঠিয়ে দিন (_S)"
-#: ../libempathy-gtk/empathy-chat.c:1013
-msgid "_Check Word Spelling..."
-msgstr "শব্দের বানান পরীক্ষা করুন...(_C)"
+#: ../libempathy-gtk/empathy-chat.c:1065
+msgid "_Spelling Suggestions"
+msgstr ""
-#: ../libempathy-gtk/empathy-chat.c:1119
+#: ../libempathy-gtk/empathy-chat.c:1179
#, c-format
msgid "%s has joined the room"
-msgstr ""
+msgstr "%s রুমে এসেছেন"
-#: ../libempathy-gtk/empathy-chat.c:1122
+#: ../libempathy-gtk/empathy-chat.c:1182
#, c-format
msgid "%s has left the room"
-msgstr ""
+msgstr "%s রুম থেকে চলে গেছেন"
-#: ../libempathy-gtk/empathy-chat.c:1236 ../src/empathy-call-window.c:406
+#: ../libempathy-gtk/empathy-chat.c:1313 ../src/empathy-call-window.c:1199
msgid "Disconnected"
msgstr "বিচ্ছিন্ন"
-#: ../libempathy-gtk/empathy-chat.c:1608
+#: ../libempathy-gtk/empathy-chat.c:1742
msgid "Connected"
msgstr "সংযুক্ত"
-#: ../libempathy-gtk/empathy-chat.glade.h:1
-msgid "<b>Topic:</b>"
-msgstr "<b>বিষয়:</b>"
+#: ../libempathy-gtk/empathy-chat.c:1792
+#: ../libempathy-gtk/empathy-log-window.c:501
+msgid "Conversation"
+msgstr "আলাপন"
-#: ../libempathy-gtk/empathy-chat.glade.h:2
-msgid "Group Chat"
-msgstr ""
+#: ../libempathy-gtk/empathy-chat.ui.h:1 ../src/empathy-chat-window.c:471
+msgid "Topic:"
+msgstr "বিষয়:"
-#: ../libempathy-gtk/empathy-chat-view.c:430
+#: ../libempathy-gtk/empathy-chat-text-view.c:316
msgid "_Copy Link Address"
msgstr "লিঙ্ক দ্বারা চিহ্নিত ঠিকানা কপি করুন (_C)"
-#: ../libempathy-gtk/empathy-chat-view.c:438
+#: ../libempathy-gtk/empathy-chat-text-view.c:323
msgid "_Open Link"
msgstr "লিঙ্ক দ্বারা চিহ্নিত খুলুন (_O)"
-#: ../libempathy-gtk/empathy-contact-dialogs.c:180
-msgid "Personal Information"
-msgstr "ব্যক্তিগত তথ্য"
+#. Translators: timestamp displayed between conversations in
+#. * chat windows (strftime format string)
+#: ../libempathy-gtk/empathy-chat-text-view.c:415
+msgid "%A %B %d %Y"
+msgstr "%A %B %d %Y"
-#: ../libempathy-gtk/empathy-contact-dialogs.c:183
+#: ../libempathy-gtk/empathy-contact-dialogs.c:179
+#: ../libempathy-gtk/empathy-contact-dialogs.c:238
msgid "Edit Contact Information"
msgstr "যোগাযোগ সংক্রান্ত তথ্য পরিবর্তন করুন"
-#: ../libempathy-gtk/empathy-contact-dialogs.c:186
-msgid "Contact Information"
-msgstr "যোগাযোগ সংক্রান্ত তথ্য"
-
-#: ../libempathy-gtk/empathy-contact-dialogs.c:283
-msgid "I would like to add you to my contact list."
-msgstr "আমি আপনাকের আমার পরিচিতি তালিকায় যোগ করতে ইচ্ছুক।"
+#: ../libempathy-gtk/empathy-contact-dialogs.c:289
+msgid "Personal Information"
+msgstr "ব্যক্তিগত তথ্য"
-#: ../libempathy-gtk/empathy-contact-dialogs.c:307
+#: ../libempathy-gtk/empathy-contact-dialogs.c:392
msgid "New Contact"
msgstr "নতুন পরিচিতি"
-#: ../libempathy-gtk/empathy-contact-dialogs.glade.h:1
+#: ../libempathy-gtk/empathy-contact-dialogs.ui.h:1
msgid "Decide _Later"
msgstr "পরে নির্ধারণ করা হবে (_L)"
-#: ../libempathy-gtk/empathy-contact-dialogs.glade.h:2
+#: ../libempathy-gtk/empathy-contact-dialogs.ui.h:2
msgid "Subscription Request"
-msgstr ""
+msgstr "সাবস্ক্রিপশনের অনুরোধ"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1226
+#: ../libempathy-gtk/empathy-contact-list-view.c:1378
#, c-format
msgid "Do you really want to remove the group '%s'?"
msgstr "'%s' নাম দল কি নিশ্চিতরূপে মুছে ফেলতে ইচ্ছুক?"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1228
+#: ../libempathy-gtk/empathy-contact-list-view.c:1380
msgid "Removing group"
msgstr "দল মুছে ফেলা হচ্ছে"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1275
-#: ../libempathy-gtk/empathy-contact-list-view.c:1354
+#: ../libempathy-gtk/empathy-contact-list-view.c:1427
+#: ../libempathy-gtk/empathy-contact-list-view.c:1505
msgid "_Remove"
msgstr "মুছে ফেলুন (_R)"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1305
+#: ../libempathy-gtk/empathy-contact-list-view.c:1457
#, c-format
msgid "Do you really want to remove the contact '%s'?"
-msgstr ""
+msgstr "আপনি কি নিশ্চিতরূপে '%s'-কে পরিচিত তালিকা থেকে সরিয়ে ফেলতে ইচ্ছুক?"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1307
+#: ../libempathy-gtk/empathy-contact-list-view.c:1459
msgid "Removing contact"
-msgstr ""
+msgstr "পরিচিত ব্যক্তিকে সরিয়ে ফেলা হচ্ছে"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1312
-msgid "Sorry, I don't want you in my contact list anymore."
-msgstr ""
-
-#: ../libempathy-gtk/empathy-contact-menu.c:109
-#: ../src/empathy-main-window.glade.h:9
+#: ../libempathy-gtk/empathy-contact-menu.c:135
+#: ../src/empathy-main-window.ui.h:8
msgid "_Chat"
msgstr "আলাপন (_C)"
-#: ../libempathy-gtk/empathy-contact-menu.c:130
-msgid "_Call"
-msgstr ""
+#: ../libempathy-gtk/empathy-contact-menu.c:166
+#, fuzzy
+msgctxt "menu item"
+msgid "_Audio Call"
+msgstr "ডেকে নিন (_C)"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:198
+#, fuzzy
+msgctxt "menu item"
+msgid "_Video Call"
+msgstr "ডেকে নিন (_C)"
-#: ../libempathy-gtk/empathy-contact-menu.c:169
-#: ../src/empathy-main-window.glade.h:17
+#: ../libempathy-gtk/empathy-contact-menu.c:237
msgid "_View Previous Conversations"
msgstr "পূর্ববর্তী আলাপ প্রদর্শন করা হবে (_V)"
-#: ../libempathy-gtk/empathy-contact-menu.c:197
+#: ../libempathy-gtk/empathy-contact-menu.c:259
+msgid "Send file"
+msgstr "ফাইল পাঠান"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:287
msgid "Infor_mation"
msgstr "তথ্য (_m)"
-#: ../libempathy-gtk/empathy-contact-menu.c:224
-#: ../src/empathy-chat-window.glade.h:14 ../src/empathy-main-window.glade.h:11
+#: ../libempathy-gtk/empathy-contact-menu.c:314
+#: ../src/empathy-main-window.ui.h:11
msgid "_Edit"
msgstr "সম্পাদনা (_E)"
-#: ../libempathy-gtk/empathy-contact-widget.c:358
+#: ../libempathy-gtk/empathy-contact-menu.c:372
+msgid "Inviting to this room"
+msgstr "এই রুমে আমন্ত্রণ করুন"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:403
+msgid "_Invite to chatroom"
+msgstr "চ্যাট-রুমে আমন্ত্রণ করুন (_I)"
+
+#: ../libempathy-gtk/empathy-contact-selector.c:129
+msgid "Select a contact"
+msgstr "একটি পরিচিতি নির্বাচন করুন"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:440
msgid "Save Avatar"
msgstr "অবতারের ছবি সংরক্ষণ করুন"
-#: ../libempathy-gtk/empathy-contact-widget.c:414
+#: ../libempathy-gtk/empathy-contact-widget.c:496
msgid "Unable to save avatar"
msgstr "অবতারের ছবি সংরক্ষণ করতে ব্যর্থ"
-#: ../libempathy-gtk/empathy-contact-widget.c:875
+#: ../libempathy-gtk/empathy-contact-widget.c:979
msgid "Select"
msgstr "নির্বাচন করুন"
-#: ../libempathy-gtk/empathy-contact-widget.c:884
-#: ../src/empathy-main-window.c:853
+#: ../libempathy-gtk/empathy-contact-widget.c:988
+#: ../src/empathy-main-window.c:905
msgid "Group"
msgstr "দল"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:1
-msgid "<b>Client Information</b>"
-msgstr "<b>ক্লায়েন্ট সংক্রান্ত তথ্য</b>"
+#: ../libempathy-gtk/empathy-contact-widget.c:1239
+msgid "Country ISO Code:"
+msgstr ""
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:2
-msgid "<b>Contact Details</b>"
-msgstr "<b>যোগাযোগ সংক্রান্ত বিবরণ</b>"
+#: ../libempathy-gtk/empathy-contact-widget.c:1241
+#, fuzzy
+msgid "Country:"
+msgstr "অ্যাকাউন্ট:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1243
+#, fuzzy
+msgid "State:"
+msgstr "অবস্থা:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:3
-msgid "<b>Contact</b>"
+#: ../libempathy-gtk/empathy-contact-widget.c:1245
+#, fuzzy
+msgid "City:"
+msgstr "ক্লায়েন্ট:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1247
+#, fuzzy
+msgid "Area:"
+msgstr "আর্মেনিয়ান"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1249
+msgid "Postal Code:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1251
+#, fuzzy
+msgid "Street:"
+msgstr "নির্বাচন করুন"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1253
+msgid "Building:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1255
+#, fuzzy
+msgid "Floor:"
+msgstr "উদ্দিষ্ট বস্তু: (_F)"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1257
+#, fuzzy
+msgid "Room:"
+msgstr "রুম: (_R)"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1259
+#, fuzzy
+msgid "Text:"
+msgstr "প্রকৃতি:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1261
+#, fuzzy
+msgid "Description:"
+msgstr "সংস্করণ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1263
+msgid "URI:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1265
+msgid "Accuracy Level:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1267
+msgid "Error:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1269
+msgid "Vertical Error (meters):"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1271
+msgid "Horizontal Error (meters):"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1273
+msgid "Speed:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1275
+#, fuzzy
+msgid "Bearing:"
+msgstr "সংস্করণ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1277
+msgid "Climb Speed:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1279
+msgid "Last Updated on:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1281
+msgid "Longitude:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1283
+msgid "Latitude:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1285
+msgid "Altitude:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1332
+#, fuzzy
+msgid "<b>Location</b>"
+msgstr "<b>যোগাযোগ</b>"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1345
+#, fuzzy
+msgid "<b>Location</b>, "
msgstr "<b>যোগাযোগ</b>"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:4
-msgid "<b>Groups</b>"
-msgstr "<b>দল</b>"
+#: ../libempathy-gtk/empathy-contact-widget.c:1395
+msgid "%B %e, %Y at %R UTC"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:1
+msgid "<b>Location</b> at (date)\t"
+msgstr ""
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:5
-#: ../libempathy-gtk/empathy-new-message-dialog.glade.h:1
-#: ../src/empathy-chatrooms-window.glade.h:1
-#: ../src/empathy-new-chatroom-dialog.glade.h:1
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:2
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:1
+#: ../src/empathy-chatrooms-window.ui.h:1
+#: ../src/empathy-new-chatroom-dialog.ui.h:1
msgid "Account:"
msgstr "অ্যাকাউন্ট:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:6
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:3
msgid "Alias:"
-msgstr ""
+msgstr "উপনাম:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:7
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:4
msgid "Birthday:"
msgstr "জন্মদিন:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:8
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:5
+#, fuzzy
+msgid "Client Information"
+msgstr "<b>ক্লায়েন্ট সংক্রান্ত তথ্য</b>"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:6
msgid "Client:"
msgstr "ক্লায়েন্ট:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:9
-msgid "Contact information"
-msgstr "যোগাযোগ সংক্রান্ত তথ্য"
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:7
+#: ../src/empathy-main-window.c:888
+msgid "Contact"
+msgstr "পরিচিত ব্যক্তি"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:8
+#, fuzzy
+msgid "Contact Details"
+msgstr "<b>যোগাযোগ সংক্রান্ত বিবরণ</b>"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:10
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:9
msgid "Email:"
msgstr "ই-মেইল:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:11
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:10
msgid "Fullname:"
msgstr "সম্পূর্ণ নাম:"
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:11
+#, fuzzy
+msgid "Groups"
+msgstr "দল"
+
#. Identifier to connect to Instant Messaging network
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:13
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:13
msgid "Identifier:"
-msgstr ""
+msgstr "সনাক্তচিহ্ন:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:14
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:14
msgid "Information requested..."
msgstr "অনুরোধ করা তথ্য..."
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:15
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:15
msgid "OS:"
msgstr "OS:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:16
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:16
msgid ""
"Select the groups you want this contact to appear in. Note that you can "
"select more than one group or no groups."
msgstr ""
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:17
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:17
msgid "Version:"
msgstr "সংস্করণ:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:18
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:18
msgid "Web site:"
msgstr "ওয়েব-সাইট:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:19
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:19
msgid "_Add Group"
msgstr "দল যোগ করুন (_A)"
-#: ../libempathy-gtk/empathy-irc-network-dialog.c:284
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:283
msgid "new server"
msgstr "নতুন সার্ভার"
-#: ../libempathy-gtk/empathy-irc-network-dialog.c:513
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:510
msgid "Server"
msgstr "সার্ভার"
-#: ../libempathy-gtk/empathy-irc-network-dialog.c:528
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:525
msgid "Port"
msgstr "পোর্ট"
-#: ../libempathy-gtk/empathy-irc-network-dialog.c:541
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:538
msgid "SSL"
msgstr "SSL"
-#: ../libempathy-gtk/empathy-log-window.c:497
+#: ../libempathy-gtk/empathy-log-window.c:494
+#: ../src/empathy-import-dialog.c:281
msgid "Account"
msgstr "অ্যাকাউন্ট"
-#: ../libempathy-gtk/empathy-log-window.c:504 ../src/empathy-chat-window.c:276
-msgid "Conversation"
-msgstr ""
-
-#: ../libempathy-gtk/empathy-log-window.c:514
+#: ../libempathy-gtk/empathy-log-window.c:511
msgid "Date"
msgstr "তারিখ"
-#. Tab Label
-#: ../libempathy-gtk/empathy-log-window.glade.h:2
+#: ../libempathy-gtk/empathy-log-window.ui.h:1
msgid "Conversations"
-msgstr ""
+msgstr "আলাপন"
-#: ../libempathy-gtk/empathy-log-window.glade.h:3
+#: ../libempathy-gtk/empathy-log-window.ui.h:2
msgid "Previous Conversations"
-msgstr ""
+msgstr "পূর্ববর্তী আলাপন"
-#. Tab Label
-#: ../libempathy-gtk/empathy-log-window.glade.h:5
+#: ../libempathy-gtk/empathy-log-window.ui.h:3
msgid "Search"
msgstr "অনুসন্ধান"
-#. Searching *for* something
-#: ../libempathy-gtk/empathy-log-window.glade.h:7
+#: ../libempathy-gtk/empathy-log-window.ui.h:4
msgid "_For:"
-msgstr ""
+msgstr "উদ্দিষ্ট বস্তু: (_F)"
-#: ../libempathy-gtk/empathy-new-message-dialog.glade.h:2
-msgid "Call"
-msgstr ""
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:2
+msgid "C_all"
+msgstr "ডাকুন (_a)"
-#: ../libempathy-gtk/empathy-new-message-dialog.glade.h:3
-#: ../src/empathy-chat-window.glade.h:2
-msgid "Chat"
-msgstr "আলাপন"
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:3
+msgid "C_hat"
+msgstr "আলাপন (_h)"
-#: ../libempathy-gtk/empathy-new-message-dialog.glade.h:4
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:4
msgid "Contact ID:"
-msgstr ""
+msgstr "পরিচিতির ID:"
-#: ../libempathy-gtk/empathy-new-message-dialog.glade.h:5
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:5
msgid "New Conversation"
+msgstr "নতুন আলাপন"
+
+#. COL_STATE_ICON_NAME
+#. COL_STATE
+#. COL_STATUS_TEXT
+#. COL_DISPLAY_MARKUP
+#. COL_STATUS_CUSTOMISABLE
+#. COL_TYPE
+#: ../libempathy-gtk/empathy-presence-chooser.c:172
+#, fuzzy
+msgid "Custom Message..."
+msgstr "স্বনির্ধারিত বার্তা..."
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:227
+#, fuzzy
+msgid "Edit Custom Messages..."
+msgstr "স্বনির্ধারিত বার্তা..."
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:326
+msgid "Click to remove this status as a favorite"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:335
+msgid "Click to make this status a favorite"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:369
+#, fuzzy
+msgid "Set status"
+msgstr "অবস্থা"
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:782
+msgid "Set your presence and current status"
msgstr ""
#. Custom messages
-#: ../libempathy-gtk/empathy-presence-chooser.c:685
+#: ../libempathy-gtk/empathy-presence-chooser.c:1017
msgid "Custom messages..."
msgstr "স্বনির্ধারিত বার্তা..."
-#: ../libempathy-gtk/empathy-presence-chooser.glade.h:1
-msgid "Custom message"
+#: ../libempathy-gtk/empathy-status-preset-dialog.c:362
+#, fuzzy
+msgid "Enter Custom Message"
msgstr "স্বনির্ধারিত বার্তা"
-#: ../libempathy-gtk/empathy-presence-chooser.glade.h:2
-msgid "Message:"
-msgstr "বার্তা:"
-
-#: ../libempathy-gtk/empathy-presence-chooser.glade.h:3
-msgid "Save message"
-msgstr "বার্তা সংরক্ষণ করুন"
-
-#: ../libempathy-gtk/empathy-presence-chooser.glade.h:4
-msgid "Status:"
-msgstr "অবস্থা:"
-
-#: ../libempathy-gtk/empathy-spell-dialog.c:88
-msgid "Word"
-msgstr "শব্দ"
+#: ../libempathy-gtk/empathy-status-preset-dialog.c:521
+#, fuzzy
+msgid "Edit Custom Messages"
+msgstr "স্বনির্ধারিত বার্তা"
-#: ../libempathy-gtk/empathy-spell-dialog.c:265
-msgid "Suggestions for the word"
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:1
+msgid "Add _New Preset"
msgstr ""
-#: ../libempathy-gtk/empathy-spell-dialog.glade.h:1
-msgid "Spell Checker"
-msgstr "বানান পরীক্ষণ ব্যবস্থা"
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:2
+#, fuzzy
+msgid "Saved Presets"
+msgstr "বার্তা সংরক্ষণ করুন"
-#: ../libempathy-gtk/empathy-spell-dialog.glade.h:2
-msgid "Suggestions for the word:"
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:3
+msgid "gtk-add"
msgstr ""
-#: ../libempathy-gtk/empathy-theme-boxes.c:745
-#: ../libempathy-gtk/empathy-theme-irc.c:293
-msgid "%A %d %B %Y"
-msgstr "%A %d %B %Y"
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:4
+msgid "gtk-remove"
+msgstr ""
-#: ../libempathy-gtk/empathy-theme-manager.c:73
+#: ../libempathy-gtk/empathy-theme-manager.c:66
msgid "Classic"
msgstr "পারম্পরিক"
-#: ../libempathy-gtk/empathy-theme-manager.c:74
+#: ../libempathy-gtk/empathy-theme-manager.c:67
msgid "Simple"
msgstr "সাধারণ"
-#: ../libempathy-gtk/empathy-theme-manager.c:75
+#: ../libempathy-gtk/empathy-theme-manager.c:68
msgid "Clean"
msgstr "পরিশ্রুত"
-#: ../libempathy-gtk/empathy-theme-manager.c:76
+#: ../libempathy-gtk/empathy-theme-manager.c:69
msgid "Blue"
msgstr "নীল"
-#: ../libempathy-gtk/empathy-ui-utils.c:1330
+#: ../libempathy-gtk/empathy-theme-manager.c:71
+msgid "Adium"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1378
msgid "Unable to open URI"
msgstr "URI খুলতে ব্যর্থ"
+#: ../libempathy-gtk/empathy-ui-utils.c:1468
+msgid "Select a file"
+msgstr "একটি ফাইল নির্বাচন করুন"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1526
+#, fuzzy
+msgid "Select a destination"
+msgstr "একটি পরিচিতি নির্বাচন করুন"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1555
+msgid "Received an instant message"
+msgstr "ইনস্ট্যান্ট বার্তা প্রাপ্ত হয়েছে"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1557
+msgid "Sent an instant message"
+msgstr "ইনস্ট্যান্ট বার্তা পাঠানো হয়েছে"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1559
+msgid "Incoming chat request"
+msgstr "চ্যাটের আগত অনুরোধ"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1561
+msgid "Contact connected"
+msgstr "পরিচিতির সাথে সংযোগ করা হয়েছে"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1563
+msgid "Contact disconnected"
+msgstr "পরিচিতির সাথে সংযোগ বিচ্ছিন্ন করা হয়েছে"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1565
+msgid "Connected to server"
+msgstr "সার্ভারের সাথে সংযুক্ত"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1567
+msgid "Disconnected from server"
+msgstr "সার্ভারে সাথে সংযোগ বিচ্ছিন্ন"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1569
+msgid "Incoming voice call"
+msgstr "আগত ভাষ্যের কল"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1571
+msgid "Outgoing voice call"
+msgstr "বাহিরগামি ভাষ্যের কল"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1573
+msgid "Voice call ended"
+msgstr "ভাষ্যের কল সমাপ্ত হয়েছে"
+
#: ../libempathy-gtk/totem-subtitle-encoding.c:158
msgid "Current Locale"
msgstr "বর্তমান লোকেইল"
@@ -1030,19 +1502,21 @@ msgstr "ভিয়েতনামিস"
#. * vim: sw=2 ts=8 cindent noai bs=2
#.
#: ../megaphone/data/GNOME_Megaphone_Applet.schemas.in.h:1
-msgid "The contact to display in the applet. Empty means no contact is displayed."
+msgid ""
+"The contact to display in the applet. Empty means no contact is displayed."
msgstr ""
+"অ্যাপ্লেটের মধ্যে প্রদর্শনযোগ্য পরিচিতি। ফাঁকা হলে কোনো পরিচিতি প্রদর্শন করা হবে না।"
#: ../megaphone/data/GNOME_Megaphone_Applet.schemas.in.h:2
msgid "The contact's avatar token. Empty means contact has no avatar."
-msgstr ""
+msgstr "পরিচিতির অবতারের টোকেন। পরিচিতির অবতার না থাকলে ফাঁকা থাকবে।"
#: ../megaphone/data/GNOME_Megaphone_Applet.server.in.in.h:1
msgid "Megaphone"
msgstr "মেগাফোন"
#: ../megaphone/data/GNOME_Megaphone_Applet.server.in.in.h:2
-#: ../megaphone/src/megaphone-applet.c:417
+#: ../megaphone/src/megaphone-applet.c:527
msgid "Talk!"
msgstr "Talk!"
@@ -1056,10 +1530,18 @@ msgid "_Information"
msgstr "তথ্য (_I)"
#: ../megaphone/data/GNOME_Megaphone_Applet.xml.h:3
-#: ../src/empathy-main-window.glade.h:15
+#: ../src/empathy-main-window.ui.h:18
msgid "_Preferences"
msgstr "পছন্দ (_P)"
+#: ../megaphone/src/megaphone-applet.c:168
+msgid "Please configure a contact."
+msgstr "অনুগ্রহ করে পরিচিতির তথ্য কনফিগার করুন।"
+
+#: ../megaphone/src/megaphone-applet.c:258
+msgid "Select contact..."
+msgstr "পরিচিত ব্যক্তি নির্বাচ করুন..."
+
#: ../nothere/data/GNOME_NotHere_Applet.server.in.in.h:1
msgid "Presence"
msgstr "উপস্থিতি"
@@ -1069,23 +1551,23 @@ msgstr "উপস্থিতি"
msgid "Set your own presence"
msgstr "নিজের উপস্থিতি সংক্রান্ত তথ্য নির্ধারণ করুন"
-#: ../src/empathy.c:380
+#: ../src/empathy.c:478
msgid "Don't connect on startup"
msgstr "প্রারম্ভে সংযোগ স্থাপন করা হবে না"
-#: ../src/empathy.c:384
+#: ../src/empathy.c:482
msgid "Don't show the contact list on startup"
msgstr "প্রারম্ভকালে পরিচিত ব্যক্তিদের তালিকা প্রদর্শন করা হবে না"
-#: ../src/empathy.c:388
+#: ../src/empathy.c:486
msgid "Show the accounts dialog"
msgstr "অ্যাকাউন্ট সংক্রান্ত ডায়লগ প্রদর্শন করা হবে"
-#: ../src/empathy.c:400
+#: ../src/empathy.c:498
msgid "- Empathy Instant Messenger"
msgstr "- Empathy Instant Messenger"
-#: ../src/empathy-about-dialog.c:84
+#: ../src/empathy-about-dialog.c:83
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 "
@@ -1097,7 +1579,7 @@ msgstr ""
"Foundation; either version 2 of the License, or (at your option) any later "
"version."
-#: ../src/empathy-about-dialog.c:88
+#: ../src/empathy-about-dialog.c:87
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 "
@@ -1109,7 +1591,7 @@ msgstr ""
"FOR A PARTICULAR PURPOSE. See the GNU General Public License for more "
"details."
-#: ../src/empathy-about-dialog.c:92
+#: ../src/empathy-about-dialog.c:91
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 "
@@ -1119,30 +1601,29 @@ msgstr ""
"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin "
"Street, Fifth Floor, Boston, MA 02110-130159 USA"
-#: ../src/empathy-about-dialog.c:120
+#: ../src/empathy-about-dialog.c:119
msgid "An Instant Messaging client for GNOME"
-msgstr ""
+msgstr "GNOME-র সাথে ব্যবহারযোগ্য ইনস্ট্যান্ট মেসেজিং ক্লায়েন্ট"
-#: ../src/empathy-about-dialog.c:126
+#: ../src/empathy-about-dialog.c:125
msgid "translator-credits"
msgstr "রুণা ভট্টাচার্য্য (runab@redhat.com)"
-#: ../src/empathy-accounts-dialog.c:389
+#: ../src/empathy-accounts-dialog.c:393
msgid "Enabled"
msgstr "সক্রিয়"
-#: ../src/empathy-accounts-dialog.c:399
-#: ../src/empathy-accounts-dialog.glade.h:4
+#: ../src/empathy-accounts-dialog.c:403 ../src/empathy-accounts-dialog.ui.h:1
msgid "Accounts"
msgstr "অ্যাকাউন্ট"
#. To translator: %s is the protocol name
-#: ../src/empathy-accounts-dialog.c:862
+#: ../src/empathy-accounts-dialog.c:837
#, c-format
msgid "New %s account"
msgstr "নতুন %s অ্যাকাউন্ট"
-#: ../src/empathy-accounts-dialog.c:972
+#: ../src/empathy-accounts-dialog.c:950
#, c-format
msgid ""
"You are about to remove your %s account!\n"
@@ -1151,7 +1632,7 @@ msgstr ""
"আপনি %s অ্যাকাউন্টটি মুছে ফেলতে চলেছেন!\n"
"আপনি কি নিশ্চিতরূপে এগিয়ে যেতে ইচ্ছুক?"
-#: ../src/empathy-accounts-dialog.c:978
+#: ../src/empathy-accounts-dialog.c:956
msgid ""
"Any associated conversations and chat rooms will NOT be removed if you "
"decide to proceed.\n"
@@ -1160,589 +1641,1055 @@ msgid ""
"be available."
msgstr ""
-#: ../src/empathy-accounts-dialog.glade.h:1
-msgid "<b>New Account</b>"
-msgstr "<b>নতুন অ্যাকাউন্ট</b>"
-
-#: ../src/empathy-accounts-dialog.glade.h:2
-msgid "<b>No protocol installed</b>"
-msgstr "<b>কোনো প্রোটোকল ইনস্টল করা হয়নি</b>"
-
-#: ../src/empathy-accounts-dialog.glade.h:3
-msgid "<b>Settings</b>"
-msgstr "<b>বিবিধ বৈশিষ্ট্য</b>"
+#: ../src/empathy-accounts-dialog.ui.h:2
+#, fuzzy
+msgid "Add Account"
+msgstr "অ্যাকাউন্ট"
-#: ../src/empathy-accounts-dialog.glade.h:5
+#: ../src/empathy-accounts-dialog.ui.h:3
msgid "Cr_eate"
msgstr "নির্মাণ করুন (_e)"
-#: ../src/empathy-accounts-dialog.glade.h:6
-msgid "I already have an account I want to use"
-msgstr "ব্যবহারযোগ্য আমার একটি অ্যাকাউন্ট বর্তমান উপস্থিত রয়েছে"
+#: ../src/empathy-accounts-dialog.ui.h:4
+#, fuzzy
+msgid "Gmail"
+msgstr "ই-মেইল:"
+
+#: ../src/empathy-accounts-dialog.ui.h:5
+msgid "Import Accounts..."
+msgstr "অ্যাকাউন্ট ইম্পোর্ট করুন..."
-#: ../src/empathy-accounts-dialog.glade.h:7
+#: ../src/empathy-accounts-dialog.ui.h:6
+#, fuzzy
+msgid "No protocol installed"
+msgstr "<b>কোনো প্রোটোকল ইনস্টল করা হয়নি</b>"
+
+#: ../src/empathy-accounts-dialog.ui.h:7
+#, fuzzy
+msgid "Settings"
+msgstr "<b>বিবিধ বৈশিষ্ট্য</b>"
+
+#: ../src/empathy-accounts-dialog.ui.h:8
msgid ""
"To add a new account, you first have to install a backend for each protocol "
"you want to use."
-msgstr "নতুন অ্যাকাউন্ট যোগ করার জন্য, প্রথমে ব্যবহারযোগ্য প্রতিটি প্রোটোকলের জন্য একটি ব্যাক-এন্ড ইনস্টল করা আবশ্যক।"
+msgstr ""
+"নতুন অ্যাকাউন্ট যোগ করার জন্য, প্রথমে ব্যবহারযোগ্য প্রতিটি প্রোটোকলের জন্য একটি ব্যাক-"
+"এন্ড ইনস্টল করা আবশ্যক।"
-#: ../src/empathy-accounts-dialog.glade.h:8
+#: ../src/empathy-accounts-dialog.ui.h:9
msgid "Type:"
msgstr "প্রকৃতি:"
-#: ../src/empathy-call-window.c:142
-msgid "Closed"
-msgstr "বন্ধ"
-
-#: ../src/empathy-call-window.c:254
-msgid "End this call?"
-msgstr ""
+#: ../src/empathy-accounts-dialog.ui.h:10
+#, fuzzy
+msgid "_Add..."
+msgstr "পরিচিত ব্যক্তির তথ্য যোগ করুন... (_A)"
-#: ../src/empathy-call-window.c:256
-msgid "Closing this window will end the call in progress."
-msgstr ""
+#: ../src/empathy-accounts-dialog.ui.h:11
+#, fuzzy
+msgid "_Create a new account"
+msgstr "নতুন IRC নেটওয়ার্ক নির্মাণ করুন"
-#: ../src/empathy-call-window.c:257
-msgid "_End Call"
-msgstr ""
+#: ../src/empathy-accounts-dialog.ui.h:12
+#, fuzzy
+msgid "_Reuse an existing account"
+msgstr "অ্যাকাউন্ট প্রদর্শন ও সম্পাদনা"
-#: ../src/empathy-call-window.c:311
-msgid "Incoming call"
-msgstr ""
+#: ../src/empathy-call-window.c:63
+msgid "Connecting..."
+msgstr "সংযোগ স্থাপন করা হচ্ছে..."
-#: ../src/empathy-call-window.c:313
-#, c-format
-msgid "%s is calling you, do you want to answer?"
-msgstr ""
+#: ../src/empathy-call-window.c:415
+msgid "Contrast"
+msgstr "বৈপরিত্য"
-#: ../src/empathy-call-window.c:319
-msgid "_Reject"
-msgstr "প্রত্যাখ্যান করুন (_R)"
+#: ../src/empathy-call-window.c:418
+msgid "Brightness"
+msgstr "উজ্জ্বলতা"
-#: ../src/empathy-call-window.c:324
-msgid "_Answer"
-msgstr "উত্তর দিন (_A)"
+#: ../src/empathy-call-window.c:421
+msgid "Gamma"
+msgstr "গামা"
-#: ../src/empathy-call-window.c:379
-msgid "Empathy Call"
-msgstr ""
+#: ../src/empathy-call-window.c:526
+msgid "Volume"
+msgstr "আওয়াজ"
-#. To translators: Readying is the first state of the call, it is
-#. * preparing the connection and it does not yet ring.
-#: ../src/empathy-call-window.c:382
-msgid "Readying"
-msgstr "প্রস্তুত করা হচ্ছে"
+#: ../src/empathy-call-window.c:728
+msgid "_Sidebar"
+msgstr "সাইড-বার (_S)"
-#: ../src/empathy-call-window.c:391
-#, c-format
-msgid "%s - Empathy Call"
-msgstr ""
+#: ../src/empathy-call-window.c:747
+msgid "Dialpad"
+msgstr "ডায়াল-প্যাড"
-#: ../src/empathy-call-window.c:395
-msgid "Ringing"
-msgstr "ঘন্টি বাজছে"
+#: ../src/empathy-call-window.c:753
+msgid "Audio input"
+msgstr "অডিও ইনপুট"
-#: ../src/empathy-call-window.c:408
-msgid "Connecting"
-msgstr "সংযোগ স্থাপন করা হচ্ছে"
+#: ../src/empathy-call-window.c:757
+msgid "Video input"
+msgstr "ভিডিও ইনপুট"
-#: ../src/empathy-call-window.c:524
+#: ../src/empathy-call-window.c:820
#, c-format
-msgid "Incoming call from %s rejected because there is already a running call."
+msgid "Call with %s"
msgstr ""
-#: ../src/empathy-call-window.glade.h:1
-msgid "#"
-msgstr "#"
+#: ../src/empathy-call-window.c:889
+#, fuzzy
+msgid "Call"
+msgstr "ডেকে নিন (_C)"
-#: ../src/empathy-call-window.glade.h:2
-msgid "*"
-msgstr "*"
+#. Translators: number of minutes:seconds the caller has been connected
+#: ../src/empathy-call-window.c:1308
+#, fuzzy, c-format
+msgid "Connected — %d:%02dm"
+msgstr "সংযুক্ত -- %d:%02dm"
-#: ../src/empathy-call-window.glade.h:3
-msgid "0"
-msgstr "০"
+#: ../src/empathy-call-window.ui.h:1
+msgid "Hang up"
+msgstr ""
-#: ../src/empathy-call-window.glade.h:4
-msgid "1"
-msgstr "১"
+#: ../src/empathy-call-window.ui.h:2
+msgid "Redial"
+msgstr ""
-#: ../src/empathy-call-window.glade.h:5
-msgid "2"
-msgstr "২"
+#: ../src/empathy-call-window.ui.h:3
+msgid "Send Audio"
+msgstr "অডিও পাঠান"
-#: ../src/empathy-call-window.glade.h:6
-msgid "3"
-msgstr "৩"
+#: ../src/empathy-call-window.ui.h:4
+msgid "Send video"
+msgstr "ভিডিও পাঠান"
-#: ../src/empathy-call-window.glade.h:7
-msgid "4"
-msgstr "৪"
+#: ../src/empathy-call-window.ui.h:5
+msgid "Video preview"
+msgstr "ভিডিওর পূর্বদৃশ্য"
-#: ../src/empathy-call-window.glade.h:8
-msgid "5"
-msgstr "৫"
+#: ../src/empathy-call-window.ui.h:6
+msgid "_Call"
+msgstr "ডেকে নিন (_C)"
-#: ../src/empathy-call-window.glade.h:9
-msgid "6"
-msgstr "৬"
+#: ../src/empathy-call-window.ui.h:7 ../src/empathy-main-window.ui.h:21
+msgid "_View"
+msgstr "প্রদর্শন (_V)"
-#: ../src/empathy-call-window.glade.h:10
-msgid "7"
-msgstr "৭"
+#: ../src/empathy-chat-window.c:343
+#, c-format
+msgid "Conversations (%d)"
+msgstr "আলাপন (%d)"
-#: ../src/empathy-call-window.glade.h:11
-msgid "8"
-msgstr "৮"
+#: ../src/empathy-chat-window.c:475
+msgid "Typing a message."
+msgstr "বার্তা লেখা হচ্ছে।"
-#: ../src/empathy-call-window.glade.h:12
-msgid "9"
-msgstr "৯"
+#: ../src/empathy-chatrooms-window.c:258
+msgid "Name"
+msgstr "নাম"
-#. To translators: The keypad is numbers [0-9], asterisk (*) and hash (#). Presented like on any phone
-#: ../src/empathy-call-window.glade.h:14
-msgid "<b>Keypad</b>"
-msgstr "<b>কি-প্যাড</b>"
+#: ../src/empathy-chatrooms-window.c:276
+msgid "Room"
+msgstr "রুম"
-#: ../src/empathy-call-window.glade.h:15
-msgid "<b>Volume</b>"
-msgstr "<b>আওয়াজ</b>"
+#: ../src/empathy-chatrooms-window.c:285
+msgid "Auto-Connect"
+msgstr "স্বয়ংক্রিয়-সংযোগ"
-#: ../src/empathy-call-window.glade.h:16
-msgid "Hang Up"
+#: ../src/empathy-chatrooms-window.ui.h:2
+msgid "Manage Favorite Rooms"
msgstr ""
-#: ../src/empathy-call-window.glade.h:17
-msgid "Send Video"
-msgstr "ভিডিও পাঠান"
+#: ../src/empathy-event-manager.c:377
+msgid "Incoming call"
+msgstr "আগমনকারী কল"
-#: ../src/empathy-chat-window.c:319
+#: ../src/empathy-event-manager.c:380
#, c-format
-msgid "Conversations (%d)"
+msgid "%s is calling you, do you want to answer?"
msgstr ""
-#: ../src/empathy-chat-window.c:397
-msgid "Topic:"
-msgstr "বিষয়:"
+#: ../src/empathy-event-manager.c:387
+msgid "_Reject"
+msgstr "প্রত্যাখ্যান করুন (_R)"
-#: ../src/empathy-chat-window.c:400
-msgid "Typing a message."
-msgstr "বার্তা লেখা হচ্ছে।"
+#: ../src/empathy-event-manager.c:393
+msgid "_Answer"
+msgstr "উত্তর দিন (_A)"
-#: ../src/empathy-chat-window.glade.h:1
-msgid "C_lear"
-msgstr "মুছে ফেলুন (_l)"
+#: ../src/empathy-event-manager.c:505
+#, c-format
+msgid "Incoming call from %s"
+msgstr "%s থেকে আগমনকারী কল"
-#: ../src/empathy-chat-window.glade.h:3
-msgid "Insert _Smiley"
-msgstr "স্মাইলি যোগ করুন (_S)"
+#: ../src/empathy-event-manager.c:545
+#, c-format
+msgid "%s is offering you an invitation"
+msgstr "%s আপনাকে আমন্ত্রণ জানাচ্ছেন"
-#: ../src/empathy-chat-window.glade.h:4
-msgid "Invitation _message:"
-msgstr "আমন্ত্রণ বার্তা: (_m)"
+#: ../src/empathy-event-manager.c:551
+msgid "An external application will be started to handle it."
+msgstr "এটি পরিচালনার জন্য একটি বহিস্থিত অ্যাপ্লিকেশন আরম্ভ করা হবে।"
-#: ../src/empathy-chat-window.glade.h:5
-msgid "Invite"
-msgstr "আমন্ত্রণ করুন"
+#: ../src/empathy-event-manager.c:556
+msgid "You don't have the needed external application to handle it."
+msgstr "এটি পরিচালনার জন্য বহিস্থিত অ্যাপ্লিকেশনের প্রয়োজন নেই।"
-#: ../src/empathy-chat-window.glade.h:6
-msgid "Move Tab _Left"
-msgstr "ট্যাব বাঁদিকে সরিয়ে নিন (_L)"
+#: ../src/empathy-event-manager.c:683
+msgid "Room invitation"
+msgstr "রুমের আমন্ত্রণ"
-#: ../src/empathy-chat-window.glade.h:7
-msgid "Move Tab _Right"
-msgstr "ট্যাব ডানদিকে সরিয়ে নিন (_R)"
+#: ../src/empathy-event-manager.c:686
+#, c-format
+msgid "%s is inviting you to join %s"
+msgstr "%s আপনাকে %s-এ আমন্ত্রণ জানাচ্ছেন"
-#: ../src/empathy-chat-window.glade.h:8
-msgid "Select who would you like to invite:"
-msgstr "আমন্ত্রিতদের তালিকা তৈরি করুন:"
+#: ../src/empathy-event-manager.c:694
+msgid "_Decline"
+msgstr "প্রত্যাখ্যান করুন (_D)"
-#: ../src/empathy-chat-window.glade.h:9
-msgid "You have been invited to join a chat conference."
-msgstr ""
+#: ../src/empathy-event-manager.c:699
+#: ../src/empathy-new-chatroom-dialog.ui.h:7
+msgid "_Join"
+msgstr "যোগ দিন (_J)"
-#: ../src/empathy-chat-window.glade.h:10
-msgid "_Contact"
-msgstr "পরিচিত ব্যক্তি (_C)"
+#: ../src/empathy-event-manager.c:738
+#, c-format
+msgid "%s invited you to join %s"
+msgstr "%s আপনাকে %s-এ আমন্ত্রণ জানিয়েছেন"
-#: ../src/empathy-chat-window.glade.h:11 ../src/empathy-main-window.glade.h:10
-msgid "_Contents"
-msgstr "সূচী (_C)"
+#: ../src/empathy-event-manager.c:764
+#, c-format
+msgid "Incoming file transfer from %s"
+msgstr ""
+
+#: ../src/empathy-event-manager.c:944
+#, c-format
+msgid "Subscription requested by %s"
+msgstr "%s দ্বারা অনুরোধ করা সাবস্ক্রিপশন"
-#: ../src/empathy-chat-window.glade.h:12
-msgid "_Conversation"
+#: ../src/empathy-event-manager.c:948
+#, c-format
+msgid ""
+"\n"
+"Message: %s"
msgstr ""
+"\n"
+"বার্তা: %s"
-#: ../src/empathy-chat-window.glade.h:13
-msgid "_Detach Tab"
-msgstr "ট্যাব বিচ্ছিন্ন করুন (_D)"
+#. Translators: time left, when it is more than one hour
+#: ../src/empathy-ft-manager.c:101
+#, c-format
+msgid "%u:%02u.%02u"
+msgstr "%u:%02u.%02u"
-#: ../src/empathy-chat-window.glade.h:15 ../src/empathy-main-window.glade.h:12
-msgid "_Help"
-msgstr "সাহায্য (_H)"
+#. Translators: time left, when is is less than one hour
+#: ../src/empathy-ft-manager.c:104
+#, c-format
+msgid "%02u.%02u"
+msgstr "%02u.%02u"
-#: ../src/empathy-chat-window.glade.h:16
-msgid "_Next Tab"
-msgstr "পরবর্তী ট্যাব (_N)"
+#: ../src/empathy-ft-manager.c:180
+msgctxt "file transfer percent"
+msgid "Unknown"
+msgstr "অজানা"
-#: ../src/empathy-chat-window.glade.h:17
-msgid "_Previous Tab"
-msgstr "পূর্ববর্তী ট্যাব (_P)"
+#: ../src/empathy-ft-manager.c:275
+#, fuzzy, c-format
+msgid "%s of %s at %s/s"
+msgstr "%s, সর্বমোট %s"
-#: ../src/empathy-chat-window.glade.h:18
-msgid "_Tabs"
-msgstr "ট্যাব (_T)"
+#: ../src/empathy-ft-manager.c:276
+#, c-format
+msgid "%s of %s"
+msgstr "%s, সর্বমোট %s"
-#: ../src/empathy-chatrooms-window.c:262
-msgid "Name"
-msgstr "নাম"
+#. translators: first %s is filename, second %s is the contact name
+#: ../src/empathy-ft-manager.c:307
+#, c-format
+msgid "Receiving \"%s\" from %s"
+msgstr "\"%s\" প্রাপ্ত করা হচ্ছে, %s থেকে"
-#: ../src/empathy-chatrooms-window.c:280
-msgid "Room"
-msgstr ""
+#. translators: first %s is filename, second %s is the contact name
+#: ../src/empathy-ft-manager.c:310
+#, c-format
+msgid "Sending \"%s\" to %s"
+msgstr "\"%s\" পাঠানো হচ্ছে, %s-কে"
-#: ../src/empathy-chatrooms-window.c:289
-msgid "Auto-Connect"
-msgstr "স্বয়ংক্রিয়-সংযোগ"
+#. translators: first %s is filename, second %s
+#. * is the contact name
+#: ../src/empathy-ft-manager.c:340
+#, fuzzy, c-format
+msgid "Error receiving \"%s\" from %s"
+msgstr "\"%s\" প্রাপ্ত করা হচ্ছে, %s থেকে"
-#: ../src/empathy-chatrooms-window.glade.h:2
-msgid "Edit Favorite Room"
+#: ../src/empathy-ft-manager.c:343
+msgid "Error receiving a file"
msgstr ""
-#: ../src/empathy-chatrooms-window.glade.h:3
-msgid "Join room on start_up"
-msgstr ""
+#: ../src/empathy-ft-manager.c:348
+#, fuzzy, c-format
+msgid "Error sending \"%s\" to %s"
+msgstr "\"%s\" পাঠানো হচ্ছে, %s-কে"
-#: ../src/empathy-chatrooms-window.glade.h:4
-msgid "Join this chat room when Empathy starts and you are connected"
-msgstr ""
+#: ../src/empathy-ft-manager.c:351
+#, fuzzy
+msgid "Error sending a file"
+msgstr "'%s' বার্তা পাঠাতে সমস্যা: %s"
-#: ../src/empathy-chatrooms-window.glade.h:5
-msgid "Manage Favorite Rooms"
-msgstr ""
+#. translators: first %s is filename, second %s
+#. * is the contact name
+#: ../src/empathy-ft-manager.c:490
+#, c-format
+msgid "\"%s\" received from %s"
+msgstr "\"%s\" প্রাপ্ত হয়েছে, %s থেকে"
-#: ../src/empathy-chatrooms-window.glade.h:6
-msgid "N_ame:"
-msgstr "নাম: (_a)"
+#. translators: first %s is filename, second %s
+#. * is the contact name
+#: ../src/empathy-ft-manager.c:495
+#, c-format
+msgid "\"%s\" sent to %s"
+msgstr "\"%s\" প্রেরিত হয়েছে, %s-কে"
-#: ../src/empathy-chatrooms-window.glade.h:7
-msgid "S_erver:"
-msgstr "সার্ভার: (_e)"
+#: ../src/empathy-ft-manager.c:498
+msgid "File transfer completed"
+msgstr "ফাইল বিনিময় সম্পূর্ণ হয়েছে"
-#: ../src/empathy-chatrooms-window.glade.h:9
-#: ../src/empathy-new-chatroom-dialog.glade.h:9
-msgid "_Room:"
-msgstr ""
+#: ../src/empathy-ft-manager.c:617 ../src/empathy-ft-manager.c:784
+#, fuzzy
+msgid "Waiting for the other participant's response"
+msgstr "অন্য ব্যবহারকারীর প্রতিক্রিয়ার অপেক্ষা করা হচ্ছে"
-#: ../src/empathy-event-manager.c:166
+#: ../src/empathy-ft-manager.c:643 ../src/empathy-ft-manager.c:681
#, c-format
-msgid ""
-"New message from %s:\n"
-"%s"
+msgid "Checking integrity of \"%s\""
msgstr ""
-"%s থেকে প্রাপ্ত নতুন বার্তা:\n"
-"%s"
-#: ../src/empathy-event-manager.c:205
+#: ../src/empathy-ft-manager.c:646 ../src/empathy-ft-manager.c:684
#, c-format
-msgid "Incoming call from %s"
+msgid "Hashing \"%s\""
msgstr ""
-#: ../src/empathy-event-manager.c:238
-#, c-format
-msgid ""
-"%s is offering you an invitation, but you don't have the needed external "
-"application to handle it."
-msgstr ""
+#: ../src/empathy-ft-manager.c:1024
+msgid "%"
+msgstr "%"
-#: ../src/empathy-event-manager.c:263
-msgid "Invitation Error"
-msgstr "আমন্ত্রণ সংক্রান্ত ত্রুটি"
+#: ../src/empathy-ft-manager.c:1036
+msgid "File"
+msgstr "ফাইল"
-#: ../src/empathy-event-manager.c:289
-#, c-format
-msgid ""
-"%s is offering you an invitation. An external application will be started to "
-"handle it."
-msgstr ""
+#: ../src/empathy-ft-manager.c:1058
+msgid "Remaining"
+msgstr "অবশিষ্ট"
-#: ../src/empathy-event-manager.c:345
-#, c-format
-msgid "Subscription requested by %s"
+#: ../src/empathy-ft-manager.ui.h:1
+#, fuzzy
+msgid "File Transfers"
+msgstr "ফাইল বিনিময়"
+
+#: ../src/empathy-ft-manager.ui.h:2
+msgid "Remove completed, canceled and failed file transfers from the list"
msgstr ""
-#: ../src/empathy-event-manager.c:348
-#, c-format
+#. Translators: this is the header of a treeview column
+#: ../src/empathy-import-dialog.c:259
+msgid "Import"
+msgstr "ইম্পোর্ট"
+
+#: ../src/empathy-import-dialog.c:268
+msgid "Protocol"
+msgstr "প্রোটোকল"
+
+#: ../src/empathy-import-dialog.c:294
+msgid "Source"
+msgstr "উৎসস্থল"
+
+#: ../src/empathy-import-dialog.c:388
msgid ""
-"\n"
-"Message: %s"
+"No accounts to import could be found. Empathy currently only supports "
+"importing accounts from Pidgin."
msgstr ""
-"\n"
-"বার্তা: %s"
-
-#: ../src/empathy-main-window.c:466
-msgid "Show and edit accounts"
-msgstr "অ্যাকাউন্ট প্রদর্শন ও সম্পাদনা"
-#: ../src/empathy-main-window.c:836
-msgid "Contact"
-msgstr "পরিচিত ব্যক্তি"
+#: ../src/empathy-import-dialog.ui.h:1
+msgid "Import Accounts"
+msgstr "অ্যাকাউন্ট ইম্পোর্ট করুন"
-#: ../src/empathy-main-window.c:1038
+#: ../src/empathy-main-window.c:395
msgid "_Edit account"
msgstr "অ্যাকাউন্ট সম্পাদনা (_E)"
-#: ../src/empathy-main-window.c:1121
+#: ../src/empathy-main-window.c:498
msgid "No error specified"
msgstr "ত্রুটি নির্ধারিত হয়নি"
-#: ../src/empathy-main-window.c:1124
+#: ../src/empathy-main-window.c:501
msgid "Network error"
msgstr "নেটওয়ার্ক সংক্রান্ত ত্রুটি"
-#: ../src/empathy-main-window.c:1127
+#: ../src/empathy-main-window.c:504
msgid "Authentication failed"
msgstr "অনুমোদন ব্যর্থ"
-#: ../src/empathy-main-window.c:1130
+#: ../src/empathy-main-window.c:507
msgid "Encryption error"
msgstr "এনক্রিপশন সংক্রান্ত ত্রুটি"
-#: ../src/empathy-main-window.c:1133
+#: ../src/empathy-main-window.c:510
msgid "Name in use"
msgstr "নাম বর্তমানে ব্যবহৃত হচ্ছে"
-#: ../src/empathy-main-window.c:1136
+#: ../src/empathy-main-window.c:513
msgid "Certificate not provided"
msgstr "সার্টিফিকেট উপলব্ধ করা হয়নি"
-#: ../src/empathy-main-window.c:1139
+#: ../src/empathy-main-window.c:516
msgid "Certificate untrusted"
msgstr "সার্টিফিকেট বিশ্বস্ত নয়"
-#: ../src/empathy-main-window.c:1142
+#: ../src/empathy-main-window.c:519
msgid "Certificate expired"
msgstr "সার্টিফিকেটের মেয়াদ উত্তীর্ণ হয়েছে"
-#: ../src/empathy-main-window.c:1145
+#: ../src/empathy-main-window.c:522
msgid "Certificate not activated"
msgstr "সার্টিফিকেট সক্রিয় করা হয়নি"
-#: ../src/empathy-main-window.c:1148
+#: ../src/empathy-main-window.c:525
msgid "Certificate hostname mismatch"
msgstr "সার্টিফিকেটের হোস্টনেম-এ গরমিল"
-#: ../src/empathy-main-window.c:1151
+#: ../src/empathy-main-window.c:528
msgid "Certificate fingerprint mismatch"
msgstr "সার্টিফিকেটের ফিনঙ্গারপ্রিন্ট-এ গরমিল"
-#: ../src/empathy-main-window.c:1154
+#: ../src/empathy-main-window.c:531
msgid "Certificate self-signed"
msgstr "স্বয়ং স্বাক্ষরিত সার্টিফিকেট"
-#: ../src/empathy-main-window.c:1157
+#: ../src/empathy-main-window.c:534
msgid "Certificate error"
msgstr "সার্টিফিকেট সংক্রান্ত ত্রুটি"
-#: ../src/empathy-main-window.c:1160
+#: ../src/empathy-main-window.c:537
msgid "Unknown error"
msgstr "অজানা ত্রুটি"
-#: ../src/empathy-main-window.glade.h:1
+#: ../src/empathy-main-window.c:1220
+msgid "Show and edit accounts"
+msgstr "অ্যাকাউন্ট প্রদর্শন ও সম্পাদনা"
+
+#: ../src/empathy-main-window.ui.h:1 ../src/empathy-preferences.ui.h:10
msgid "Contact List"
msgstr "পরিচিত ব্যক্তিদের তালিকা"
-#: ../src/empathy-main-window.glade.h:2
+#: ../src/empathy-main-window.ui.h:2
+msgid "Contacts on a _Map"
+msgstr ""
+
+#: ../src/empathy-main-window.ui.h:3
msgid "Context"
msgstr "প্রসঙ্গ"
-#: ../src/empathy-main-window.glade.h:3
+#: ../src/empathy-main-window.ui.h:4
msgid "Join _Favorites"
-msgstr ""
+msgstr "জনপ্রিয়গুলিতে যোগ দিন (_F)"
-#: ../src/empathy-main-window.glade.h:4
-msgid "Join _New..."
-msgstr ""
-
-#: ../src/empathy-main-window.glade.h:5
+#: ../src/empathy-main-window.ui.h:5
msgid "Manage Favorites"
-msgstr ""
-
-#: ../src/empathy-main-window.glade.h:6
-msgid "Show _Offline Contacts"
-msgstr ""
+msgstr "জনপ্রিয় মান পরিচালনা"
-#: ../src/empathy-main-window.glade.h:7
+#: ../src/empathy-main-window.ui.h:6
msgid "_Accounts"
msgstr "অ্যাকাউন্ট তালিকা (_A)"
-#: ../src/empathy-main-window.glade.h:8
+#: ../src/empathy-main-window.ui.h:7
msgid "_Add Contact..."
msgstr "পরিচিত ব্যক্তির তথ্য যোগ করুন... (_A)"
-#: ../src/empathy-main-window.glade.h:13 ../src/empathy-status-icon.glade.h:2
-msgid "_New Conversation..."
+#: ../src/empathy-main-window.ui.h:9
+msgid "_Contents"
+msgstr "সূচী (_C)"
+
+#: ../src/empathy-main-window.ui.h:10
+msgid "_Debug"
msgstr ""
-#: ../src/empathy-main-window.glade.h:14
+#: ../src/empathy-main-window.ui.h:12
+#, fuzzy
+msgid "_File Transfers"
+msgstr "ফাইল বিনিময়"
+
+#: ../src/empathy-main-window.ui.h:13
+msgid "_Help"
+msgstr "সাহায্য (_H)"
+
+#: ../src/empathy-main-window.ui.h:14
+#, fuzzy
+msgid "_Join..."
+msgstr "যোগ দিন (_J)"
+
+#: ../src/empathy-main-window.ui.h:15 ../src/empathy-status-icon.ui.h:2
+msgid "_New Conversation..."
+msgstr "নতুন আলাপন...(_N)"
+
+#: ../src/empathy-main-window.ui.h:16
+#, fuzzy
+msgid "_Offline Contacts"
+msgstr "অফ-লাইন পরিচিতিদের তথ্য প্রকাশ করা হবে (_O)"
+
+#: ../src/empathy-main-window.ui.h:17
msgid "_Personal Information"
msgstr "ব্যক্তিগত তথ্য (_P)"
-#: ../src/empathy-main-window.glade.h:16
+#: ../src/empathy-main-window.ui.h:19
+#, fuzzy
+msgid "_Previous Conversations"
+msgstr "পূর্ববর্তী আলাপন"
+
+#: ../src/empathy-main-window.ui.h:20
msgid "_Room"
+msgstr "রুম (_R)"
+
+#: ../src/empathy-new-chatroom-dialog.c:332
+#, fuzzy
+msgid "Chat Room"
+msgstr "চ্যাট রুম"
+
+#: ../src/empathy-new-chatroom-dialog.c:348
+#, fuzzy
+msgid "Members"
+msgstr "থিম"
+
+#: ../src/empathy-new-chatroom-dialog.c:492
+#, c-format
+msgctxt ""
+"Room/Join's roomlist tooltip. Parametersare a channel name, yes/no, yes/no "
+"and a number."
+msgid ""
+"<b>%s</b>\n"
+"Invite required: %s\n"
+"Password required: %s\n"
+"Members: %s"
+msgstr ""
+
+#: ../src/empathy-new-chatroom-dialog.c:494
+#: ../src/empathy-new-chatroom-dialog.c:495
+msgid "Yes"
+msgstr ""
+
+#: ../src/empathy-new-chatroom-dialog.c:494
+#: ../src/empathy-new-chatroom-dialog.c:495
+msgid "No"
+msgstr ""
+
+#: ../src/empathy-new-chatroom-dialog.c:522
+msgid "Could not start room listing"
msgstr ""
-#: ../src/empathy-new-chatroom-dialog.c:290
-msgid "Chat Rooms"
+#: ../src/empathy-new-chatroom-dialog.c:532
+msgid "Could not stop room listing"
msgstr ""
-#: ../src/empathy-new-chatroom-dialog.glade.h:2
-msgid "Browse:"
-msgstr "ব্রাউজ করুন:"
+#: ../src/empathy-new-chatroom-dialog.ui.h:2
+msgid "Couldn't load room list"
+msgstr ""
-#: ../src/empathy-new-chatroom-dialog.glade.h:3
-msgid "Enter the room name to join here or click on one or more rooms in the list."
+#: ../src/empathy-new-chatroom-dialog.ui.h:3
+msgid ""
+"Enter the room name to join here or click on one or more rooms in the list."
msgstr ""
-#: ../src/empathy-new-chatroom-dialog.glade.h:4
+#: ../src/empathy-new-chatroom-dialog.ui.h:4
msgid ""
"Enter the server which hosts the room, or leave it empty if the room is on "
"the current account's server"
msgstr ""
-#: ../src/empathy-new-chatroom-dialog.glade.h:5
-msgid "Join"
-msgstr "যোগ দিন"
+#: ../src/empathy-new-chatroom-dialog.ui.h:5
+#, fuzzy
+msgid "Join Room"
+msgstr "রুম"
-#: ../src/empathy-new-chatroom-dialog.glade.h:6
-msgid "Join New"
-msgstr "নতুনে যোগ দিন"
+#: ../src/empathy-new-chatroom-dialog.ui.h:6
+#, fuzzy
+msgid "Room List"
+msgstr "রুম তালিকার লোকেইল: (_R)"
-#: ../src/empathy-new-chatroom-dialog.glade.h:7
-msgid "Re_fresh"
-msgstr "নতুন করে প্রদর্শন (_f)"
+#: ../src/empathy-new-chatroom-dialog.ui.h:8
+msgid "_Room:"
+msgstr "রুম: (_R)"
-#: ../src/empathy-new-chatroom-dialog.glade.h:8
-msgid "This list represents all chat rooms hosted on the server you have entered."
-msgstr ""
+#: ../src/empathy-preferences.c:159
+msgid "Message received"
+msgstr "প্রাপ্ত বার্তা"
-#: ../src/empathy-preferences.c:264
-msgid "Language"
-msgstr "ভাষা"
+#: ../src/empathy-preferences.c:160
+msgid "Message sent"
+msgstr "বার্তা পাঠানো হয়েছে"
-#: ../src/empathy-preferences.glade.h:1
-msgid "<b>Appearance</b>"
-msgstr "<b>চেহারা ছবি</b>"
+#: ../src/empathy-preferences.c:161
+msgid "New conversation"
+msgstr "নতুন আলাপন"
-#. To translators: Audio notifications preferences
-#: ../src/empathy-preferences.glade.h:3
-msgid "<b>Audio</b>"
-msgstr "<b>অডিও</b>"
+#: ../src/empathy-preferences.c:162
+msgid "Contact goes online"
+msgstr "পরিচিতি অন-লাইন এসেছেন"
-#: ../src/empathy-preferences.glade.h:4
-msgid "<b>Behaviour</b>"
-msgstr "<b>আচরণ</b>"
+#: ../src/empathy-preferences.c:163
+msgid "Contact goes offline"
+msgstr "পরিচিতি অফ-লাইন চলে গেছেন"
-#: ../src/empathy-preferences.glade.h:5
-msgid "<b>Contact List</b>"
-msgstr "<b>পরিচিতদের তালিকা</b>"
+#: ../src/empathy-preferences.c:164
+msgid "Account connected"
+msgstr "অ্যাকাউন্ট সংযুক্ত করা হয়েছে"
-#: ../src/empathy-preferences.glade.h:6
-msgid "<b>Enable spell checking for languages:</b>"
-msgstr "<b>চিহ্নিত ভাষাগুলির জন্য বানান পরীক্ষণ সক্রিয় করা হবে:</b>"
+#: ../src/empathy-preferences.c:165
+msgid "Account disconnected"
+msgstr "অ্যাকাউন্টের সাথে সংযোগ বিচ্ছিন্ন করা হয়েছে"
-#. To translators: Visual notifications preferences, like notify bubbles, etc.
-#: ../src/empathy-preferences.glade.h:8
-msgid "<b>Visual</b>"
+#: ../src/empathy-preferences.c:432
+msgid "Language"
+msgstr "ভাষা"
+
+#: ../src/empathy-preferences.ui.h:1
+msgid "Adium theme to use:"
msgstr ""
-#: ../src/empathy-preferences.glade.h:9
-msgid ""
-"<small>The list of languages reflects only the languages for which you have "
-"a dictionary installed.</small>"
+#: ../src/empathy-preferences.ui.h:2
+msgid "Allow _GPS usage"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:3
+msgid "Allow _cellphone usage"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:4
+msgid "Allow _network usage"
msgstr ""
-#: ../src/empathy-preferences.glade.h:10
+#: ../src/empathy-preferences.ui.h:5
+#, fuzzy
+msgid "Appearance"
+msgstr "<b>চেহারা ছবি</b>"
+
+#: ../src/empathy-preferences.ui.h:6
msgid "Automatically _connect on startup "
msgstr "প্রারম্ভকালে স্বয়ংক্রিয়রূপে সংযোগ স্থাপন করা হবে (_c)"
-#: ../src/empathy-preferences.glade.h:11
+#: ../src/empathy-preferences.ui.h:7
msgid "Avatars are user chosen images shown in the contact list"
msgstr ""
-#: ../src/empathy-preferences.glade.h:12
+#: ../src/empathy-preferences.ui.h:8
+#, fuzzy
+msgid "Behavior"
+msgstr "<b>আচরণ</b>"
+
+#: ../src/empathy-preferences.ui.h:9
msgid "Chat Th_eme:"
-msgstr ""
+msgstr "চ্যাটের থিম: (_e)"
-#: ../src/empathy-preferences.glade.h:13
-msgid "Display notifications when contacts come _online"
-msgstr "পরিচিত ব্যক্তিরা অন-লাইন যোগদান করলে সূচনাবার্তা প্রদর্শিত হবে (_o)"
+#: ../src/empathy-preferences.ui.h:11
+msgid "Disable notifications when _away or busy"
+msgstr "অনুপস্থিত অথবা ব্যস্ত থাকলে সূচনাপ্রদানের ব্যবস্থা নিষ্ক্রিয় করা হবে (_a)"
-#: ../src/empathy-preferences.glade.h:14
-msgid "Enable sounds when _away"
-msgstr "অনুপস্থিত হলে শব্দ সক্রিয় করা হবে (_a)"
+#: ../src/empathy-preferences.ui.h:12
+msgid "Disable sounds when _away or busy"
+msgstr "অনুপস্থিত অথবা ব্যস্ত থাকলে শব্দ নিষ্ক্রিয় করা হবে (_a)"
-#: ../src/empathy-preferences.glade.h:15
-msgid "Enable sounds when _busy"
-msgstr "ব্যস্ত অবস্থায় শব্দ সক্রিয় করা হবে (_b)"
+#: ../src/empathy-preferences.ui.h:13
+msgid "Enable notifications when the _chat is not focused"
+msgstr ""
-#: ../src/empathy-preferences.glade.h:16
+#: ../src/empathy-preferences.ui.h:14
+#, fuzzy
+msgid "Enable spell checking for languages:"
+msgstr "<b>চিহ্নিত ভাষাগুলির জন্য বানান পরীক্ষণ সক্রিয় করা হবে:</b>"
+
+#: ../src/empathy-preferences.ui.h:15
msgid "General"
msgstr "সাধারণ"
-#: ../src/empathy-preferences.glade.h:17
+#: ../src/empathy-preferences.ui.h:16
+msgid "Geoclue Settings"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:17
+#, fuzzy
+msgid "Location"
+msgstr "সূচনাবার্তা"
+
+#: ../src/empathy-preferences.ui.h:18
+msgid "Not a valid adium theme"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:19
msgid "Notifications"
msgstr "সূচনাবার্তা"
-#: ../src/empathy-preferences.glade.h:18
+#: ../src/empathy-preferences.ui.h:20
+#, fuzzy
+msgid "Play sound for events"
+msgstr "<b>বিভিন্ন ঘটনার জন্য শব্দ বাজানো হবে</b>"
+
+#: ../src/empathy-preferences.ui.h:21
msgid "Preferences"
msgstr "পছন্দ"
-#: ../src/empathy-preferences.glade.h:19
+#: ../src/empathy-preferences.ui.h:22
+msgid "Privacy"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:23
+msgid ""
+"Reduced location accuracy means that nothing more precise than your city, "
+"state and country will be published. GPS coordinates will have a random "
+"value added (&#xB1;0.25&#xB0;)."
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:24
msgid "Show _avatars"
msgstr "অবতারের ছবি প্রদর্শন করা হবে (_a)"
-#: ../src/empathy-preferences.glade.h:20
+#: ../src/empathy-preferences.ui.h:25
msgid "Show _smileys as images"
msgstr "ছবি রূপে স্মাইলি প্রদর্শন করা হবে (_s)"
-#: ../src/empathy-preferences.glade.h:21
+#: ../src/empathy-preferences.ui.h:26
msgid "Show co_mpact contact list"
-msgstr ""
+msgstr "পরিচিতিদের তালিকা সংকুচন করে প্রদর্শন করা হবে (_m)"
-#: ../src/empathy-preferences.glade.h:22
+#: ../src/empathy-preferences.ui.h:27
+#, fuzzy
+msgid "Show contact _list in rooms"
+msgstr "পরিচিত ব্যক্তিদের তালিকা প্রদর্শন করা হবে (_S)"
+
+#: ../src/empathy-preferences.ui.h:28
msgid "Sort by _name"
msgstr "নাম অনুযায়ী সুবিন্যস্ত করা হবে (_n)"
-#: ../src/empathy-preferences.glade.h:23
+#: ../src/empathy-preferences.ui.h:29
msgid "Sort by s_tate"
msgstr "অবস্থা অনুযায়ী সুবিন্যস্ত করা হবে (_t)"
-#: ../src/empathy-preferences.glade.h:24
+#: ../src/empathy-preferences.ui.h:30
+msgid "Sounds"
+msgstr "শব্দ"
+
+#: ../src/empathy-preferences.ui.h:31
msgid "Spell Checking"
msgstr "বানা পরীক্ষণ"
-#: ../src/empathy-preferences.glade.h:25
+#: ../src/empathy-preferences.ui.h:32
+msgid ""
+"The list of languages reflects only the languages for which you have a "
+"dictionary installed."
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:33
msgid "Themes"
msgstr "থিম"
-#: ../src/empathy-preferences.glade.h:26
+#: ../src/empathy-preferences.ui.h:34
+msgid "_Enable bubble notifications"
+msgstr "বাবল দ্বারা সূচনাপ্রদান সক্রিয় করা হবে (_E)"
+
+#: ../src/empathy-preferences.ui.h:35
+msgid "_Enable sound notifications"
+msgstr "শব্দ দ্বারা সূচনাপ্রদান সক্রিয় করা হবে (_E)"
+
+#: ../src/empathy-preferences.ui.h:36
msgid "_Open new chats in separate windows"
+msgstr "নতুন চ্যাটগুলি পৃথক উইন্ডোর মধ্যে খোলা হবে (_O)"
+
+#: ../src/empathy-preferences.ui.h:37
+msgid "_Publish location to my contacts"
msgstr ""
-#: ../src/empathy-preferences.glade.h:27
-msgid "_Play sound when messages arrive"
-msgstr "নতুন বার্তা প্রাপ্ত হলে শব্দ বাজানো হবে (_P)"
+#: ../src/empathy-preferences.ui.h:38
+msgid "_Reduce location accuracy"
+msgstr ""
-#: ../src/empathy-status-icon.glade.h:1
+#: ../src/empathy-status-icon.ui.h:1
msgid "Status"
msgstr "অবস্থা"
-#: ../src/empathy-status-icon.glade.h:3
+#: ../src/empathy-status-icon.ui.h:3
msgid "_Quit"
msgstr "প্রস্থান (_Q)"
-#: ../src/empathy-status-icon.glade.h:4
+#: ../src/empathy-status-icon.ui.h:4
msgid "_Show Contact List"
msgstr "পরিচিত ব্যক্তিদের তালিকা প্রদর্শন করা হবে (_S)"
+#: ../src/empathy-tube-dispatch.c:375
+#, c-format
+msgid "Unable to start application for service %s: %s"
+msgstr "%s পরিসেবার জন্য অ্যাপ্লিকেশন আরম্ভ করতে ব্যর্থ: %s"
+
+#: ../src/empathy-tube-dispatch.c:446
+#, c-format
+msgid ""
+"An invitation was offered for service %s, but you don't have the needed "
+"application to handle it"
+msgstr ""
+
+#: ../src/empathy-call-window-fullscreen.ui.h:1
+msgid "gtk-leave-fullscreen"
+msgstr ""
+
+#: ../src/empathy-map-view.ui.h:1
+#, fuzzy
+msgid "Contact Map View"
+msgstr "পরিচিত ব্যক্তিদের তালিকা"
+
+#: ../src/empathy-debug-dialog.c:111 ../src/empathy-debug-dialog.c:1075
+msgid "Error"
+msgstr ""
+
+#: ../src/empathy-debug-dialog.c:114 ../src/empathy-debug-dialog.c:1069
+#, fuzzy
+msgid "Critical"
+msgstr "ক্রোয়েশিয়ান"
+
+#: ../src/empathy-debug-dialog.c:117 ../src/empathy-debug-dialog.c:1063
+#, fuzzy
+msgid "Warning"
+msgstr "অবশিষ্ট"
+
+#: ../src/empathy-debug-dialog.c:120 ../src/empathy-debug-dialog.c:1057
+#: ../src/empathy-debug-dialog.c:1105
+#, fuzzy
+msgid "Message"
+msgstr "বার্তা:"
+
+#: ../src/empathy-debug-dialog.c:123 ../src/empathy-debug-dialog.c:1051
+msgid "Info"
+msgstr ""
+
+#: ../src/empathy-debug-dialog.c:126 ../src/empathy-debug-dialog.c:1045
+msgid "Debug"
+msgstr ""
+
+#: ../src/empathy-debug-dialog.c:837
+#, fuzzy
+msgid "Save"
+msgstr "সার্ভার"
+
+#: ../src/empathy-debug-dialog.c:940
+msgid "Debug Window"
+msgstr ""
+
+#: ../src/empathy-debug-dialog.c:1013
+msgid "Pause"
+msgstr ""
+
+#: ../src/empathy-debug-dialog.c:1025
+msgid "Level "
+msgstr ""
+
+#: ../src/empathy-debug-dialog.c:1094
+#, fuzzy
+msgid "Time"
+msgstr "সাধারণ"
+
+#: ../src/empathy-debug-dialog.c:1096
+#, fuzzy
+msgid "Domain"
+msgstr "রোমেনিয়ান"
+
+#: ../src/empathy-debug-dialog.c:1098
+msgid "Category"
+msgstr ""
+
+#: ../src/empathy-debug-dialog.c:1100
+msgid "Level"
+msgstr ""
+
+#: ../src/empathy-debug-dialog.c:1132
+msgid ""
+"The selected connection manager does not support the remote debugging "
+"extension."
+msgstr ""
+
+#~ msgid "Forget password and clear the entry."
+#~ msgstr "পাসওয়ার্ড মুছে ফেলা হবে ও এনট্রি পরিশ্রুত করা হবে।"
+
+#~ msgid "<b>Network</b>"
+#~ msgstr "<b>নেটওয়ার্ক</b>"
+
+#~ msgid "<b>Servers</b>"
+#~ msgstr "<b>সার্ভার</b>"
+
+#~ msgid "Edit the selected IRC network"
+#~ msgstr "নির্বাচিত IRC নেটওয়ার্কের বৈশিষ্ট্য পরিবর্তন করুন"
+
+#~ msgid "Remove the selected IRC network"
+#~ msgstr "নির্বাচিত IRC নেটওয়ার্ক মুছে ফেলুন"
+
+#~ msgid "_Check Word Spelling..."
+#~ msgstr "শব্দের বানান পরীক্ষা করুন...(_C)"
+
+#~ msgid "<b>Topic:</b>"
+#~ msgstr "<b>বিষয়:</b>"
+
+#~ msgid "Group Chat"
+#~ msgstr "দলভিক্তিক আলাপন"
+
+#~ msgid "Contact Information"
+#~ msgstr "যোগাযোগ সংক্রান্ত তথ্য"
+
+#~ msgid "I would like to add you to my contact list."
+#~ msgstr "আমি আপনাকের আমার পরিচিতি তালিকায় যোগ করতে ইচ্ছুক।"
+
+#~ msgid "Sorry, I don't want you in my contact list anymore."
+#~ msgstr "দুঃখিত, আমার পরিচিতি তালিকায় আপনাকে আমি স্থান দিতে ইচ্ছুক নই।"
+
+#~ msgid "<b>Groups</b>"
+#~ msgstr "<b>দল</b>"
+
+#~ msgid "Contact information"
+#~ msgstr "যোগাযোগ সংক্রান্ত তথ্য"
+
+#~ msgid "Word"
+#~ msgstr "শব্দ"
+
+#~ msgid "Suggestions for the word"
+#~ msgstr "শব্দের প্রস্তাব"
+
+#~ msgid "Spell Checker"
+#~ msgstr "বানান পরীক্ষণ ব্যবস্থা"
+
+#~ msgid "Suggestions for the word:"
+#~ msgstr "শব্দের প্রস্তাব:"
+
+#~ msgid "<b>New Account</b>"
+#~ msgstr "<b>নতুন অ্যাকাউন্ট</b>"
+
+#~ msgid "I already have an account I want to use"
+#~ msgstr "ব্যবহারযোগ্য আমার একটি অ্যাকাউন্ট বর্তমান উপস্থিত রয়েছে"
+
+#~| msgid ""
+#~| "New message from %s:\n"
+#~| "%s"
+#~ msgid "New message from %s"
+#~ msgstr "%s থেকে প্রাপ্ত নতুন বার্তা"
+
+#~ msgid "C_lear"
+#~ msgstr "মুছে ফেলুন (_l)"
+
+#~ msgid "Chat"
+#~ msgstr "আলাপন"
+
+#~ msgid "Insert _Smiley"
+#~ msgstr "স্মাইলি যোগ করুন (_S)"
+
+#~ msgid "Invitation _message:"
+#~ msgstr "আমন্ত্রণ বার্তা: (_m)"
+
+#~ msgid "Invite"
+#~ msgstr "আমন্ত্রণ করুন"
+
+#~ msgid "Move Tab _Left"
+#~ msgstr "ট্যাব বাঁদিকে সরিয়ে নিন (_L)"
+
+#~ msgid "Move Tab _Right"
+#~ msgstr "ট্যাব ডানদিকে সরিয়ে নিন (_R)"
+
+#~ msgid "Select who would you like to invite:"
+#~ msgstr "আমন্ত্রিতদের তালিকা তৈরি করুন:"
+
+#~ msgid "You have been invited to join a chat conference."
+#~ msgstr "চ্যাট বৈঠকে যোগদানের জন্য আপনাকে আমন্ত্রণ করা হয়েছে।"
+
+#~ msgid "_Contact"
+#~ msgstr "পরিচিত ব্যক্তি (_C)"
+
+#~ msgid "_Conversation"
+#~ msgstr "আলাপন (_C)"
+
+#~ msgid "_Detach Tab"
+#~ msgstr "ট্যাব বিচ্ছিন্ন করুন (_D)"
+
+#~ msgid "_Favorite Chatroom"
+#~ msgstr "জনপ্রিয় চ্যাট-রুম (_F)"
+
+#~ msgid "_Next Tab"
+#~ msgstr "পরবর্তী ট্যাব (_N)"
+
+#~ msgid "_Previous Tab"
+#~ msgstr "পূর্ববর্তী ট্যাব (_P)"
+
+#~ msgid "_Tabs"
+#~ msgstr "ট্যাব (_T)"
+
+#~ msgid "Edit Favorite Room"
+#~ msgstr "জনপ্রিয় রুমের তালিকা সম্পাদনা"
+
+#~ msgid "Join room on start_up"
+#~ msgstr "প্রারম্ভকালে রুমে সংযোগ করা হবে (_u)"
+
+#~ msgid "N_ame:"
+#~ msgstr "নাম: (_a)"
+
+#~ msgid "S_erver:"
+#~ msgstr "সার্ভার: (_e)"
+
+#~| msgid "unknown"
+#~ msgctxt "file size"
+#~ msgid "Unknown"
+#~ msgstr "অজানা"
+
+#~ msgid "\"%s\" receiving from %s"
+#~ msgstr "\"%s\" প্রাপ্ত করা হচ্ছে, %s থেকে"
+
+#~ msgid "\"%s\" sending to %s"
+#~ msgstr "\"%s\" পাঠানো হচ্ছে, %s-কে"
+
+#~ msgid "File transfer canceled: %s"
+#~ msgstr "ফাইল বিনিময় বাতিল করা হয়েছে: %s"
+
+#~| msgid "unknown"
+#~ msgctxt "remaining time"
+#~ msgid "Unknown"
+#~ msgstr "অজানা"
+
+#~ msgid "Cannot save file to this location"
+#~ msgstr "এই স্থানে ফাইল সংরক্ষণ করা সম্ভব নয়"
+
+#~ msgid "Save file as..."
+#~ msgstr "নতুন রূপে ফাইল সংরক্ষণ করুন..."
+
+#~| msgid "unknown"
+#~ msgid "unknown size"
+#~ msgstr "অজানা মাপ"
+
+#~| msgid "I would like to add you to my contact list."
+#~ msgid "%s would like to send you a file"
+#~ msgstr "%s আপনাকে একটি ফাইল সংরক্ষণ করতে ইচ্ছুক"
+
+#~ msgid "Do you want to accept the file \"%s\" (%s)?"
+#~ msgstr "আপনি কি \"%s\" (%s) ফাইলটি গ্রহণ করতে ইচ্ছুক?"
+
+#~| msgid "_Accounts"
+#~ msgid "_Accept"
+#~ msgstr "গ্রহণ করুন (_A)"
+
+#~ msgid "Join _New..."
+#~ msgstr "নতুন একটিতে যোগ দিন...(_N)"
+
+#~ msgid "Browse:"
+#~ msgstr "ব্রাউজ করুন:"
+
+#~ msgid "Join"
+#~ msgstr "যোগ দিন"
+
+#~ msgid "Join New"
+#~ msgstr "নতুনে যোগ দিন"
+
+#~ msgid "Re_fresh"
+#~ msgstr "নতুন করে প্রদর্শন (_f)"
+
+#~ msgid "<b>Contact List</b>"
+#~ msgstr "<b>পরিচিতদের তালিকা</b>"
diff --git a/po/es.po b/po/es.po
index 4ef1512f8..33c53b1e4 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: empathy.HEAD\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=empathy&component=general\n"
-"POT-Creation-Date: 2009-06-12 10:05+0000\n"
-"PO-Revision-Date: 2009-06-13 13:14+0200\n"
+"POT-Creation-Date: 2009-06-23 10:10+0000\n"
+"PO-Revision-Date: 2009-06-27 15:03+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"
@@ -139,7 +139,6 @@ msgid "Path of the adium theme to use"
msgstr "Ruta del tema adium que usar"
#: ../data/empathy.schemas.in.h:27
-#| msgid "Whether to use the theme for chat rooms or not."
msgid "Path of the adium theme to use if the theme used for chat is adium."
msgstr "Ruta al tema adium que usar si el tema usado para el chat es adium."
@@ -177,71 +176,85 @@ msgstr ""
"Mostrar notificaciones emergentes si la ventana de chat no tiene el foco"
#: ../data/empathy.schemas.in.h:36
+#| msgid "Popup notifications if the chat isn't focused"
+msgid "Popup notifications when a contact sign in"
+msgstr "Mostrar notificaciones emergentes cuando un contacto se conecta."
+
+#: ../data/empathy.schemas.in.h:37
+#| msgid "Popup notifications if the chat isn't focused"
+msgid "Popup notifications when a contact sign out"
+msgstr "Mostrar notificaciones emergentes cuando un contacto se desconecta."
+
+#: ../data/empathy.schemas.in.h:38
msgid "Salut account is created"
msgstr "Se creó la cuenta Salut"
-#: ../data/empathy.schemas.in.h:37
+#: ../data/empathy.schemas.in.h:39
msgid "Show avatars"
msgstr "Mostrar avatares"
-#: ../data/empathy.schemas.in.h:38
+#: ../data/empathy.schemas.in.h:40
+msgid "Show contact list in rooms"
+msgstr "Mostrar lista de contactos en salas"
+
+#: ../data/empathy.schemas.in.h:41
msgid "Show hint about closing the main window"
msgstr "Mostrar consejo sobre cómo cerrar la ventana principal"
-#: ../data/empathy.schemas.in.h:39
+#: ../data/empathy.schemas.in.h:42
msgid "Show offline contacts"
msgstr "Mostrar contactos no conectados"
-#: ../data/empathy.schemas.in.h:40
+#: ../data/empathy.schemas.in.h:43
msgid "Spell checking languages"
msgstr "Idiomas para revisión ortográfica"
-#: ../data/empathy.schemas.in.h:41
+#: ../data/empathy.schemas.in.h:44
msgid "The default folder to save file transfers in."
msgstr "La carpeta predeterminada donde guardar los archivos transferidos."
-#: ../data/empathy.schemas.in.h:42
+#: ../data/empathy.schemas.in.h:45
msgid "The last directory that an avatar image was chosen from."
msgstr "Último directorio del que fue elegido un avatar."
-#: ../data/empathy.schemas.in.h:43
+#: ../data/empathy.schemas.in.h:46
msgid "The theme that is used to display the conversation in chat windows."
msgstr ""
"El tema que se usará para mostrar la conversación en las ventanas de chat."
-#: ../data/empathy.schemas.in.h:44
+#: ../data/empathy.schemas.in.h:47
msgid "Use graphical smileys"
msgstr "Usar emoticonos gráficos"
-#: ../data/empathy.schemas.in.h:45
+#: ../data/empathy.schemas.in.h:48
msgid "Use notification sounds"
msgstr "Usar sonidos de notificación"
-#: ../data/empathy.schemas.in.h:46
+#: ../data/empathy.schemas.in.h:49
msgid "Use theme for chat rooms"
msgstr "Usar tema para salas de chat"
-#: ../data/empathy.schemas.in.h:47
+#: ../data/empathy.schemas.in.h:50
msgid "Whether or not Empathy can publish the user's location to his contacts."
msgstr ""
"Indica si Empathy puede publicar la ubicación del usuario a sus contactos."
-#: ../data/empathy.schemas.in.h:48
+#: ../data/empathy.schemas.in.h:51
msgid "Whether or not Empathy can use the GPS to guess the location."
msgstr "Indica si Empathy puede usar el GPS para deducir la ubicación."
-#: ../data/empathy.schemas.in.h:49
+#: ../data/empathy.schemas.in.h:52
msgid ""
"Whether or not Empathy can use the cellular network to guess the location."
msgstr ""
"Indica si Empathy puede usar la red telefónica móvil para deducir la "
"ubicación."
-#: ../data/empathy.schemas.in.h:50
+#: ../data/empathy.schemas.in.h:53
msgid "Whether or not Empathy can use the network to guess the location."
msgstr "Indica si Empathy puede usar la red para deducir la ubicación."
-#: ../data/empathy.schemas.in.h:51
+#: ../data/empathy.schemas.in.h:54
msgid ""
"Whether or not Empathy has asked about importing accounts from other "
"programs."
@@ -249,7 +262,7 @@ msgstr ""
"Indica si Empathy ha preguntado acerca de importar cuentas de otros "
"programas."
-#: ../data/empathy.schemas.in.h:52
+#: ../data/empathy.schemas.in.h:55
msgid ""
"Whether or not Empathy should automatically log in to your accounts on "
"startup."
@@ -257,7 +270,7 @@ msgstr ""
"Indica si Empathy debe iniciar sesión en sus cuentas automáticamente al "
"inicio."
-#: ../data/empathy.schemas.in.h:53
+#: ../data/empathy.schemas.in.h:56
msgid ""
"Whether or not Empathy should reduce the location's accuracy for privacy "
"reasons."
@@ -265,7 +278,7 @@ msgstr ""
"Indica si Empathy debería reducir la precisión de la ubicación por motivos "
"de privacidad."
-#: ../data/empathy.schemas.in.h:54
+#: ../data/empathy.schemas.in.h:57
msgid ""
"Whether or not Empathy should use the avatar of the contact as the chat "
"window icon."
@@ -273,14 +286,14 @@ msgstr ""
"Indica si Empathy debería usar el avatar del contacto como el icono de la "
"ventana de chat."
-#: ../data/empathy.schemas.in.h:55
+#: ../data/empathy.schemas.in.h:58
msgid ""
"Whether or not the Salut account has been created on the first Empathy run."
msgstr ""
"Indica si la cuenta Salut se ha creado cuando ejecutó por primera vez "
"Empathy."
-#: ../data/empathy.schemas.in.h:56
+#: ../data/empathy.schemas.in.h:59
msgid ""
"Whether or not the network manager should be used to automatically "
"disconnect/reconnect."
@@ -288,7 +301,7 @@ msgstr ""
"Indica si se debe usar el gestor de la red para desconectarse/reconectarse "
"automáticamente."
-#: ../data/empathy.schemas.in.h:57
+#: ../data/empathy.schemas.in.h:60
msgid ""
"Whether or not to check words typed against the languages you want to check "
"with."
@@ -296,21 +309,21 @@ msgstr ""
"Indica si se deben revisar las palabras tecleadas con respecto a los idiomas "
"con los que quiere comprobarlo."
-#: ../data/empathy.schemas.in.h:58
+#: ../data/empathy.schemas.in.h:61
msgid ""
"Whether or not to convert smileys into graphical images in conversations."
msgstr ""
"Indica si se deben convertir los emoticonos en imágenes gráficas en las "
"conversaciones."
-#: ../data/empathy.schemas.in.h:59
+#: ../data/empathy.schemas.in.h:62
msgid ""
"Whether or not to play a sound to notify for contacts logging in the network."
msgstr ""
"Indica si se debe reproducir un sonido para notificar los inicios de sesión "
"de los contactos en la red."
-#: ../data/empathy.schemas.in.h:60
+#: ../data/empathy.schemas.in.h:63
msgid ""
"Whether or not to play a sound to notify for contacts logging off the "
"network."
@@ -318,40 +331,54 @@ msgstr ""
"Indica si se debe reproducir un sonido para notificar las finalizaciones de "
"sesión de los contactos en la red."
-#: ../data/empathy.schemas.in.h:61
+#: ../data/empathy.schemas.in.h:64
msgid "Whether or not to play a sound to notify for events."
msgstr "Indica si se debe reproducir un sonido para notificar eventos."
-#: ../data/empathy.schemas.in.h:62
+#: ../data/empathy.schemas.in.h:65
msgid "Whether or not to play a sound to notify for incoming messages."
msgstr ""
"Indica si se debe reproducir un sonido para notificar mensajes entrantes."
-#: ../data/empathy.schemas.in.h:63
+#: ../data/empathy.schemas.in.h:66
msgid "Whether or not to play a sound to notify for new conversations."
msgstr ""
"Indica si se debe reproducir un sonido para notificar conversaciones nuevas."
-#: ../data/empathy.schemas.in.h:64
+#: ../data/empathy.schemas.in.h:67
msgid "Whether or not to play a sound to notify for outgoing messages."
msgstr ""
"Indica si se debe reproducir un sonido para notificar mensajes salientes."
-#: ../data/empathy.schemas.in.h:65
+#: ../data/empathy.schemas.in.h:68
msgid "Whether or not to play a sound when logging in a network."
msgstr "Indica si se debe reproducir un sonido al iniciar sesión en una red."
-#: ../data/empathy.schemas.in.h:66
+#: ../data/empathy.schemas.in.h:69
msgid "Whether or not to play a sound when logging off a network."
msgstr "Indica si se debe reproducir un sonido al finalizar sesión en una red."
-#: ../data/empathy.schemas.in.h:67
+#: ../data/empathy.schemas.in.h:70
msgid "Whether or not to play sound notifications when away or busy."
msgstr ""
"Indica si se deben reproducir sonidos de notificaciones cuando se esté "
"ausente u ocupado."
-#: ../data/empathy.schemas.in.h:68
+#: ../data/empathy.schemas.in.h:71
+#| msgid "Whether or not to show popup notifications when away or busy."
+msgid ""
+"Whether or not to show a popup notification when a contact goes offline."
+msgstr ""
+"Indica si se deben mostrar las notificaciones emergentes cuando un contacto "
+"se desconecta."
+
+#: ../data/empathy.schemas.in.h:72
+#| msgid "Whether or not to show popup notifications when away or busy."
+msgid "Whether or not to show a popup notification when a contact goes online."
+msgstr ""
+"Indica si se deben mostrar las notificaciones emergentes cuando se conecta."
+
+#: ../data/empathy.schemas.in.h:73
msgid ""
"Whether or not to show a popup notification when receiving a new message "
"even if the chat is already opened, but not focused."
@@ -359,14 +386,14 @@ msgstr ""
"Indica si de deben mostrar notificaciones emergentes al recibir un mensaje "
"nuevo incluso si la ventana de chat ya está abierta pero no tiene el foco."
-#: ../data/empathy.schemas.in.h:69
+#: ../data/empathy.schemas.in.h:74
msgid ""
"Whether or not to show a popup notification when receiving a new message."
msgstr ""
"Indica si se deben mostrar notificaciones emergentes al recibir un mensaje "
"nuevo."
-#: ../data/empathy.schemas.in.h:70
+#: ../data/empathy.schemas.in.h:75
msgid ""
"Whether or not to show avatars for contacts in the contact list and chat "
"windows."
@@ -374,19 +401,23 @@ msgstr ""
"Indica si se debe mostrar los avatares para los contactos en la lista de "
"contactos y ventanas de chat."
-#: ../data/empathy.schemas.in.h:71
+#: ../data/empathy.schemas.in.h:76
msgid "Whether or not to show contacts that are offline in the contact list."
msgstr ""
"Indica si se debe mostrar los contactos que están desconectados en la lista "
"de contactos."
-#: ../data/empathy.schemas.in.h:72
+#: ../data/empathy.schemas.in.h:77
msgid "Whether or not to show popup notifications when away or busy."
msgstr ""
"Indica si se deben mostrar las notificaciones emergentes cuando se esté "
"ausente u ocupado."
-#: ../data/empathy.schemas.in.h:73
+#: ../data/empathy.schemas.in.h:78
+msgid "Whether or not to show the contact list in chat rooms."
+msgstr "Indica si se debe mostrar la lista de contactos en salas de chat."
+
+#: ../data/empathy.schemas.in.h:79
msgid ""
"Whether or not to show the message dialog about closing the main window with "
"the 'x' button in the title bar."
@@ -394,15 +425,15 @@ msgstr ""
"Indica si se debe mostrar un mensaje de diálogo sobre cómo cerrar la ventana "
"principal con el botón 'x' en la barra de título."
-#: ../data/empathy.schemas.in.h:74
+#: ../data/empathy.schemas.in.h:80
msgid "Whether to show the contact list in compact mode or not."
msgstr "Indica si se debe mostrar la lista de contactos en modo compacto."
-#: ../data/empathy.schemas.in.h:75
+#: ../data/empathy.schemas.in.h:81
msgid "Whether to use the theme for chat rooms or not."
msgstr "Indica si se debe usar el tema para salas de chat."
-#: ../data/empathy.schemas.in.h:76
+#: ../data/empathy.schemas.in.h:82
msgid ""
"Which criterium to use when sorting the contact list. Default is to use sort "
"by the contact's name with the value \"name\". A value of \"state\" will "
@@ -420,7 +451,15 @@ msgstr "El «hash» del archivo recibido y del enviado no coinciden"
msgid "File transfer not supported by remote contact"
msgstr "El contacto remoto no soporta la transferencia de archivos"
-#: ../libempathy/empathy-tp-contact-list.c:757 ../src/empathy.c:286
+#: ../libempathy/empathy-ft-handler.c:1156
+msgid "The selected file is not a regular file"
+msgstr "El archivo seleccionado no es un archivo regular"
+
+#: ../libempathy/empathy-ft-handler.c:1165
+msgid "The selected file is empty"
+msgstr "El archivo seleccionado está vacío"
+
+#: ../libempathy/empathy-tp-contact-list.c:757 ../src/empathy.c:287
msgid "People nearby"
msgstr "Gente cerca"
@@ -506,12 +545,19 @@ msgstr[1] "hace %d días"
#: ../libempathy/empathy-time.c:157
#, c-format
+msgid "%d week ago"
+msgid_plural "%d weeks ago"
+msgstr[0] "hace %d semana"
+msgstr[1] "hace %d semanas"
+
+#: ../libempathy/empathy-time.c:162
+#, c-format
msgid "%d month ago"
msgid_plural "%d months ago"
msgstr[0] "hace %d mes"
msgstr[1] "hace %d meses"
-#: ../libempathy/empathy-time.c:162
+#: ../libempathy/empathy-time.c:167
msgid "in the future"
msgstr "en el futuro"
@@ -534,8 +580,8 @@ msgstr "%s:"
#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:1
#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:1
#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:1
-msgid "<b>Advanced</b>"
-msgstr "<b>Avanzado</b>"
+msgid "Advanced"
+msgstr "Avanzado"
#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:2
#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:3
@@ -571,7 +617,7 @@ msgid "_Server:"
msgstr "_Servidor:"
#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:2
-#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:3
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:2
#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:2
msgid "Login I_D:"
msgstr "_ID de sesión:"
@@ -590,44 +636,40 @@ msgid "New Network"
msgstr "Red nueva"
#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:1
-msgid "<b>Network</b>"
-msgstr "<b>Red</b>"
-
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:2
-msgid "<b>Servers</b>"
-msgstr "<b>Servidores</b>"
-
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:3
msgid "Charset:"
msgstr "Conjunto de caracteres:"
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:2
msgid "Network"
msgstr "Red"
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:3
msgid "Network:"
msgstr "Red:"
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:6
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:4
msgid "Nickname:"
msgstr "Apodo:"
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:7
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:5
msgid "Password:"
msgstr "Contraseña:"
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:8
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:6
msgid "Quit message:"
msgstr "Mensaje de salida:"
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:9
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:7
msgid "Real name:"
msgstr "Nombre real:"
-#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:2
-msgid "<b>Override server settings</b>"
-msgstr "<b>Sobreescribir los ajustes del servidor</b>"
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:8
+msgid "Servers"
+msgstr "Servidores"
+
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:3
+msgid "Override server settings"
+msgstr "Sobreescribir los ajustes del servidor"
#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:5
msgid "Pri_ority:"
@@ -735,96 +777,96 @@ msgstr "Todos los archivos"
msgid "Click to enlarge"
msgstr "Pulse para agrandar"
-#: ../libempathy-gtk/empathy-chat.c:178
+#: ../libempathy-gtk/empathy-chat.c:186
msgid "Failed to reconnect this chat"
msgstr "Falló al reconectar a este chat"
-#: ../libempathy-gtk/empathy-chat.c:396
+#: ../libempathy-gtk/empathy-chat.c:404
msgid "Unsupported command"
msgstr "Comando no soportado"
-#: ../libempathy-gtk/empathy-chat.c:531
+#: ../libempathy-gtk/empathy-chat.c:539
msgid "offline"
msgstr "desconectado"
-#: ../libempathy-gtk/empathy-chat.c:534
+#: ../libempathy-gtk/empathy-chat.c:542
msgid "invalid contact"
msgstr "contacto no válido"
-#: ../libempathy-gtk/empathy-chat.c:537
+#: ../libempathy-gtk/empathy-chat.c:545
msgid "permission denied"
msgstr "permiso denegado"
-#: ../libempathy-gtk/empathy-chat.c:540
+#: ../libempathy-gtk/empathy-chat.c:548
msgid "too long message"
msgstr "mensaje demasiado largo"
-#: ../libempathy-gtk/empathy-chat.c:543
+#: ../libempathy-gtk/empathy-chat.c:551
msgid "not implemented"
msgstr "no implementado"
-#: ../libempathy-gtk/empathy-chat.c:546
+#: ../libempathy-gtk/empathy-chat.c:554
msgid "unknown"
msgstr "desconocido"
-#: ../libempathy-gtk/empathy-chat.c:550
+#: ../libempathy-gtk/empathy-chat.c:558
#, c-format
msgid "Error sending message '%s': %s"
msgstr "Error al enviar el mensaje «%s»: %s"
-#: ../libempathy-gtk/empathy-chat.c:580
+#: ../libempathy-gtk/empathy-chat.c:588
#, c-format
msgid "Topic set to: %s"
msgstr "El tema se ha establecido a: %s"
-#: ../libempathy-gtk/empathy-chat.c:582
+#: ../libempathy-gtk/empathy-chat.c:590
msgid "No topic defined"
msgstr "No se ha definido el tema"
-#: ../libempathy-gtk/empathy-chat.c:951
+#: ../libempathy-gtk/empathy-chat.c:959
msgid "(No Suggestions)"
msgstr "(Sin sugerencias)"
-#: ../libempathy-gtk/empathy-chat.c:1005
+#: ../libempathy-gtk/empathy-chat.c:1013
msgid "Insert Smiley"
msgstr "Insertar emoticono"
#. send button
-#: ../libempathy-gtk/empathy-chat.c:1023
+#: ../libempathy-gtk/empathy-chat.c:1031
#: ../libempathy-gtk/empathy-ui-utils.c:1476
msgid "_Send"
msgstr "E_nviar"
-#: ../libempathy-gtk/empathy-chat.c:1057
+#: ../libempathy-gtk/empathy-chat.c:1065
msgid "_Spelling Suggestions"
msgstr "_Sugerencias ortográficas"
-#: ../libempathy-gtk/empathy-chat.c:1171
+#: ../libempathy-gtk/empathy-chat.c:1179
#, c-format
msgid "%s has joined the room"
msgstr "%s ha entrado en la sala"
-#: ../libempathy-gtk/empathy-chat.c:1174
+#: ../libempathy-gtk/empathy-chat.c:1182
#, c-format
msgid "%s has left the room"
msgstr "%s ha dejado la sala"
-#: ../libempathy-gtk/empathy-chat.c:1289 ../src/empathy-call-window.c:1107
+#: ../libempathy-gtk/empathy-chat.c:1313 ../src/empathy-call-window.c:1199
msgid "Disconnected"
msgstr "Desconectado"
-#: ../libempathy-gtk/empathy-chat.c:1700
+#: ../libempathy-gtk/empathy-chat.c:1742
msgid "Connected"
msgstr "Conectado"
-#: ../libempathy-gtk/empathy-chat.c:1750
+#: ../libempathy-gtk/empathy-chat.c:1792
#: ../libempathy-gtk/empathy-log-window.c:501
msgid "Conversation"
msgstr "Conversación"
-#: ../libempathy-gtk/empathy-chat.ui.h:1
-msgid "<b>Topic:</b>"
-msgstr "<b>Tema:</b>"
+#: ../libempathy-gtk/empathy-chat.ui.h:1 ../src/empathy-chat-window.c:471
+msgid "Topic:"
+msgstr "Tema:"
#: ../libempathy-gtk/empathy-chat-text-view.c:316
msgid "_Copy Link Address"
@@ -1054,52 +1096,53 @@ msgid "%B %e, %Y at %R UTC"
msgstr "%e de %B de %Y a las %R UTC"
#: ../libempathy-gtk/empathy-contact-widget.ui.h:1
-msgid "<b>Client Information</b>"
-msgstr "<b>Información del cliente</b>"
-
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:2
-msgid "<b>Contact Details</b>"
-msgstr "<b>Detalles del contacto</b>"
-
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:3
-msgid "<b>Contact</b>"
-msgstr "<b>Contacto</b>"
-
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:4
-msgid "<b>Groups</b>"
-msgstr "<b>Grupos</b>"
-
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:5
msgid "<b>Location</b> at (date)\t"
msgstr "<b>Ubicación</b> en (fecha)\t"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:6
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:2
#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:1
#: ../src/empathy-chatrooms-window.ui.h:1
#: ../src/empathy-new-chatroom-dialog.ui.h:1
msgid "Account:"
msgstr "Cuenta:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:7
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:3
msgid "Alias:"
msgstr "Apodo:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:8
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:4
msgid "Birthday:"
msgstr "Cumpleaños:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:9
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:5
+msgid "Client Information"
+msgstr "Información del cliente"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:6
msgid "Client:"
msgstr "Cliente:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:10
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:7
+#: ../src/empathy-main-window.c:888
+msgid "Contact"
+msgstr "Contacto"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:8
+msgid "Contact Details"
+msgstr "Detalles del contacto"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:9
msgid "Email:"
msgstr "Correo-e:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:11
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:10
msgid "Fullname:"
msgstr "Nombre completo:"
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:11
+msgid "Groups"
+msgstr "Grupos"
+
#. Identifier to connect to Instant Messaging network
#: ../libempathy-gtk/empathy-contact-widget.ui.h:13
msgid "Identifier:"
@@ -1216,12 +1259,12 @@ msgstr "Pulse para hacer este estado uno favorito"
msgid "Set status"
msgstr "Establecer estado"
-#: ../libempathy-gtk/empathy-presence-chooser.c:778
+#: ../libempathy-gtk/empathy-presence-chooser.c:782
msgid "Set your presence and current status"
msgstr "Establecer su presencia y estado actual"
#. Custom messages
-#: ../libempathy-gtk/empathy-presence-chooser.c:1013
+#: ../libempathy-gtk/empathy-presence-chooser.c:1017
msgid "Custom messages..."
msgstr "Mensajes personalizados…"
@@ -1542,23 +1585,23 @@ msgstr "Presencia"
msgid "Set your own presence"
msgstr "Establezca su propia presencia"
-#: ../src/empathy.c:476
+#: ../src/empathy.c:478
msgid "Don't connect on startup"
msgstr "No conectarse automáticamente al inicio"
-#: ../src/empathy.c:480
+#: ../src/empathy.c:482
msgid "Don't show the contact list on startup"
msgstr "No mostrar la lista de contactos al inicio"
-#: ../src/empathy.c:484
+#: ../src/empathy.c:486
msgid "Show the accounts dialog"
msgstr "Mostrar el diálogo de las cuentas"
-#: ../src/empathy.c:496
+#: ../src/empathy.c:498
msgid "- Empathy Instant Messenger"
msgstr "- Mensajería instantánea Empathy"
-#: ../src/empathy-about-dialog.c:84
+#: ../src/empathy-about-dialog.c:83
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 "
@@ -1570,7 +1613,7 @@ msgstr ""
"Foundation; ya sea en la versión 2 de la Licencia, o (a su elección) "
"cualquier versión posterior."
-#: ../src/empathy-about-dialog.c:88
+#: ../src/empathy-about-dialog.c:87
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 "
@@ -1582,7 +1625,7 @@ msgstr ""
"PARA UN PROPÓSITO PARTICULAR. Vea la Licencia Pública General de GNU para "
"más detalles."
-#: ../src/empathy-about-dialog.c:92
+#: ../src/empathy-about-dialog.c:91
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 "
@@ -1592,11 +1635,11 @@ msgstr ""
"con Gossip ; si no, escriba a la Free Software Foundation, Inc., 51 Franklin "
"Street, Fifth Floor, Boston, MA 02110-130159 EE. UU."
-#: ../src/empathy-about-dialog.c:120
+#: ../src/empathy-about-dialog.c:119
msgid "An Instant Messaging client for GNOME"
msgstr "Un cliente de mensajería instantánea para GNOME"
-#: ../src/empathy-about-dialog.c:126
+#: ../src/empathy-about-dialog.c:125
msgid "translator-credits"
msgstr "Jorge González <jorgegonz@svn.gnome.org>, 2007-2009"
@@ -1604,7 +1647,7 @@ msgstr "Jorge González <jorgegonz@svn.gnome.org>, 2007-2009"
msgid "Enabled"
msgstr "Activado"
-#: ../src/empathy-accounts-dialog.c:403 ../src/empathy-accounts-dialog.ui.h:4
+#: ../src/empathy-accounts-dialog.c:403 ../src/empathy-accounts-dialog.ui.h:1
msgid "Accounts"
msgstr "Cuentas"
@@ -1636,27 +1679,31 @@ msgstr ""
"\n"
"Si decidiera volver a añadir la cuenta más tarde, estarán aún disponibles."
-#: ../src/empathy-accounts-dialog.ui.h:1
-msgid "<b>Add Account</b>"
-msgstr "<b>Añadir cuenta</b>"
-
#: ../src/empathy-accounts-dialog.ui.h:2
-msgid "<b>No protocol installed</b>"
-msgstr "<b>No hay protocolos instalados</b>"
+msgid "Add Account"
+msgstr "Añadir cuenta"
#: ../src/empathy-accounts-dialog.ui.h:3
-msgid "<b>Settings</b>"
-msgstr "<b>Configuración</b>"
-
-#: ../src/empathy-accounts-dialog.ui.h:5
msgid "Cr_eate"
msgstr "Cr_ear"
-#: ../src/empathy-accounts-dialog.ui.h:6
+#: ../src/empathy-accounts-dialog.ui.h:4
+msgid "Gmail"
+msgstr "Gmail"
+
+#: ../src/empathy-accounts-dialog.ui.h:5
msgid "Import Accounts..."
msgstr "Importar cuentas…"
+#: ../src/empathy-accounts-dialog.ui.h:6
+msgid "No protocol installed"
+msgstr "No hay protocolos instalados"
+
#: ../src/empathy-accounts-dialog.ui.h:7
+msgid "Settings"
+msgstr "Ajustes"
+
+#: ../src/empathy-accounts-dialog.ui.h:8
msgid ""
"To add a new account, you first have to install a backend for each protocol "
"you want to use."
@@ -1664,19 +1711,19 @@ msgstr ""
"Para añadir una nueva cuenta debe instalar primero un «backend» para cada "
"protocolo que quiera usar."
-#: ../src/empathy-accounts-dialog.ui.h:8
+#: ../src/empathy-accounts-dialog.ui.h:9
msgid "Type:"
msgstr "Tipo:"
-#: ../src/empathy-accounts-dialog.ui.h:9
+#: ../src/empathy-accounts-dialog.ui.h:10
msgid "_Add..."
msgstr "_Añadir…"
-#: ../src/empathy-accounts-dialog.ui.h:10
+#: ../src/empathy-accounts-dialog.ui.h:11
msgid "_Create a new account"
msgstr "_Crear una cuenta nueva"
-#: ../src/empathy-accounts-dialog.ui.h:11
+#: ../src/empathy-accounts-dialog.ui.h:12
msgid "_Reuse an existing account"
msgstr "_Usar una cuenta ya existente"
@@ -1684,49 +1731,49 @@ msgstr "_Usar una cuenta ya existente"
msgid "Connecting..."
msgstr "Conectando…"
-#: ../src/empathy-call-window.c:405
+#: ../src/empathy-call-window.c:415
msgid "Contrast"
msgstr "Contraste"
-#: ../src/empathy-call-window.c:408
+#: ../src/empathy-call-window.c:418
msgid "Brightness"
msgstr "Brillo"
-#: ../src/empathy-call-window.c:411
+#: ../src/empathy-call-window.c:421
msgid "Gamma"
msgstr "Gamma"
-#: ../src/empathy-call-window.c:516
+#: ../src/empathy-call-window.c:526
msgid "Volume"
msgstr "Volumen"
-#: ../src/empathy-call-window.c:697
+#: ../src/empathy-call-window.c:728
msgid "_Sidebar"
msgstr "Barra _lateral"
-#: ../src/empathy-call-window.c:716
+#: ../src/empathy-call-window.c:747
msgid "Dialpad"
msgstr "Teclado de llamada"
-#: ../src/empathy-call-window.c:722
+#: ../src/empathy-call-window.c:753
msgid "Audio input"
msgstr "Entrada de sonido"
-#: ../src/empathy-call-window.c:726
+#: ../src/empathy-call-window.c:757
msgid "Video input"
msgstr "Entrada de vídeo"
-#: ../src/empathy-call-window.c:789
+#: ../src/empathy-call-window.c:820
#, c-format
msgid "Call with %s"
msgstr "Llamar con %s"
-#: ../src/empathy-call-window.c:860
+#: ../src/empathy-call-window.c:889
msgid "Call"
msgstr "Llamar"
#. Translators: number of minutes:seconds the caller has been connected
-#: ../src/empathy-call-window.c:1203
+#: ../src/empathy-call-window.c:1308
#, c-format
msgid "Connected — %d:%02dm"
msgstr "Conectado — %d:%02dm"
@@ -1759,24 +1806,15 @@ msgstr "_Llamar"
msgid "_View"
msgstr "_Ver"
-#: ../src/empathy-chat-window.c:342
+#: ../src/empathy-chat-window.c:343
#, c-format
msgid "Conversations (%d)"
msgstr "Conversaciones (%d)"
-#: ../src/empathy-chat-window.c:470
-msgid "Topic:"
-msgstr "Tema:"
-
-#: ../src/empathy-chat-window.c:474
+#: ../src/empathy-chat-window.c:475
msgid "Typing a message."
msgstr "Tecleando un mensaje."
-#: ../src/empathy-chat-window.c:935 ../src/empathy-event-manager.c:429
-#, c-format
-msgid "New message from %s"
-msgstr "Nuevo mensaje de %s"
-
#: ../src/empathy-chatrooms-window.c:258
msgid "Name"
msgstr "Nombre"
@@ -1793,75 +1831,75 @@ msgstr "Autoconectar"
msgid "Manage Favorite Rooms"
msgstr "Gestionar salas favoritas"
-#: ../src/empathy-event-manager.c:377
+#: ../src/empathy-event-manager.c:395
msgid "Incoming call"
msgstr "Llamada entrante"
-#: ../src/empathy-event-manager.c:380
+#: ../src/empathy-event-manager.c:398
#, c-format
msgid "%s is calling you, do you want to answer?"
msgstr "%s le está llamando, ¿quiere responder?"
-#: ../src/empathy-event-manager.c:387
+#: ../src/empathy-event-manager.c:405
msgid "_Reject"
msgstr "_Rechazar"
-#: ../src/empathy-event-manager.c:393
+#: ../src/empathy-event-manager.c:411
msgid "_Answer"
msgstr "Re_spuesta"
-#: ../src/empathy-event-manager.c:507
+#: ../src/empathy-event-manager.c:523
#, c-format
msgid "Incoming call from %s"
msgstr "Llamada entrante de %s"
-#: ../src/empathy-event-manager.c:547
+#: ../src/empathy-event-manager.c:563
#, c-format
msgid "%s is offering you an invitation"
msgstr "%s le está ofreciendo una invitación"
-#: ../src/empathy-event-manager.c:553
+#: ../src/empathy-event-manager.c:569
msgid "An external application will be started to handle it."
msgstr "Se iniciará una aplicación externa para manejarla."
-#: ../src/empathy-event-manager.c:558
+#: ../src/empathy-event-manager.c:574
msgid "You don't have the needed external application to handle it."
msgstr "No tiene la aplicación externa necesaria para manejarla."
-#: ../src/empathy-event-manager.c:685
+#: ../src/empathy-event-manager.c:701
msgid "Room invitation"
msgstr "Invitación a una sala"
-#: ../src/empathy-event-manager.c:688
+#: ../src/empathy-event-manager.c:704
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s le está invitando a unirse a %s"
-#: ../src/empathy-event-manager.c:696
+#: ../src/empathy-event-manager.c:712
msgid "_Decline"
msgstr "_Rechazar"
-#: ../src/empathy-event-manager.c:701
+#: ../src/empathy-event-manager.c:717
#: ../src/empathy-new-chatroom-dialog.ui.h:7
msgid "_Join"
msgstr "_Unirse"
-#: ../src/empathy-event-manager.c:740
+#: ../src/empathy-event-manager.c:756
#, c-format
msgid "%s invited you to join %s"
msgstr "%s le ha invitado a unirse a %s"
-#: ../src/empathy-event-manager.c:766
+#: ../src/empathy-event-manager.c:782
#, c-format
msgid "Incoming file transfer from %s"
msgstr "Transferencia de archivo entrante de %s"
-#: ../src/empathy-event-manager.c:946
+#: ../src/empathy-event-manager.c:962
#, c-format
msgid "Subscription requested by %s"
msgstr "Petición de suscripción de %s"
-#: ../src/empathy-event-manager.c:950
+#: ../src/empathy-event-manager.c:966
#, c-format
msgid ""
"\n"
@@ -1870,6 +1908,18 @@ msgstr ""
"\n"
"Mensaje: %s"
+#. someone is logging off
+#: ../src/empathy-event-manager.c:1009
+#, c-format
+msgid "%s is now offline."
+msgstr "Ahora %s está desconectado."
+
+#. someone is logging in
+#: ../src/empathy-event-manager.c:1025
+#, c-format
+msgid "%s is now online."
+msgstr "Ahora %s está conectado."
+
#. Translators: time left, when it is more than one hour
#: ../src/empathy-ft-manager.c:101
#, c-format
@@ -1974,7 +2024,7 @@ msgid "Remaining"
msgstr "Restantes"
#: ../src/empathy-ft-manager.ui.h:1
-msgid "File transfers"
+msgid "File Transfers"
msgstr "Transferencias de archivos"
#: ../src/empathy-ft-manager.ui.h:2
@@ -2068,15 +2118,11 @@ msgstr "Error del certificado"
msgid "Unknown error"
msgstr "Error desconocido"
-#: ../src/empathy-main-window.c:888
-msgid "Contact"
-msgstr "Contacto"
-
#: ../src/empathy-main-window.c:1220
msgid "Show and edit accounts"
msgstr "Mostrar y editar cuentas"
-#: ../src/empathy-main-window.ui.h:1
+#: ../src/empathy-main-window.ui.h:1 ../src/empathy-preferences.ui.h:10
msgid "Contact List"
msgstr "Lista de contactos"
@@ -2217,199 +2263,205 @@ msgstr "Lista de salas"
msgid "_Room:"
msgstr "_Sala:"
-#: ../src/empathy-preferences.c:158
+#: ../src/empathy-preferences.c:161
msgid "Message received"
msgstr "Mensaje recibido"
-#: ../src/empathy-preferences.c:159
+#: ../src/empathy-preferences.c:162
msgid "Message sent"
msgstr "Mensaje enviado"
-#: ../src/empathy-preferences.c:160
+#: ../src/empathy-preferences.c:163
msgid "New conversation"
msgstr "Conversación nueva"
-#: ../src/empathy-preferences.c:161
+#: ../src/empathy-preferences.c:164
msgid "Contact goes online"
msgstr "El contacto se conecta"
-#: ../src/empathy-preferences.c:162
+#: ../src/empathy-preferences.c:165
msgid "Contact goes offline"
msgstr "El contacto se desconecta"
-#: ../src/empathy-preferences.c:163
+#: ../src/empathy-preferences.c:166
msgid "Account connected"
msgstr "Cuenta conectada"
-#: ../src/empathy-preferences.c:164
+#: ../src/empathy-preferences.c:167
msgid "Account disconnected"
msgstr "Cuenta desconectada"
-#: ../src/empathy-preferences.c:427
+#: ../src/empathy-preferences.c:446
msgid "Language"
msgstr "Idioma"
#: ../src/empathy-preferences.ui.h:1
-msgid "<b>Appearance</b>"
-msgstr "<b>Apariencia</b>"
+msgid "Adium theme to use:"
+msgstr "Tema adium que usar:"
#: ../src/empathy-preferences.ui.h:2
-msgid "<b>Behavior</b>"
-msgstr "<b>Comportamiento</b>"
+msgid "Allow _GPS usage"
+msgstr "Permitir el usso de _GPS"
#: ../src/empathy-preferences.ui.h:3
-msgid "<b>Contact List</b>"
-msgstr "<b>Lista de contactos</b>"
+msgid "Allow _cellphone usage"
+msgstr "Permitir el uso de teléfono _móvil"
#: ../src/empathy-preferences.ui.h:4
-msgid "<b>Enable spell checking for languages:</b>"
-msgstr "<b>Activar la revisión ortográfica para idiomas:</b>"
+msgid "Allow _network usage"
+msgstr "Permitir el uso de la _red"
#: ../src/empathy-preferences.ui.h:5
-msgid "<b>Geoclue Settings</b>"
-msgstr "<b>Configuración de Geoclue</b>"
+msgid "Appearance"
+msgstr "Apariencia"
#: ../src/empathy-preferences.ui.h:6
-msgid "<b>Play sound for events</b>"
-msgstr "<b>Reproducir sonido para eventos</b>"
+msgid "Automatically _connect on startup "
+msgstr "_Conectarse automáticamente al inicio"
#: ../src/empathy-preferences.ui.h:7
-msgid "<b>Privacy</b>"
-msgstr "<b>Privacidad</b>"
+msgid "Avatars are user chosen images shown in the contact list"
+msgstr ""
+"Los avatares son imágenes elegidas por el usuario que se muestran en la "
+"lista de contactos"
#: ../src/empathy-preferences.ui.h:8
-msgid ""
-"<small>Reduced location accuracy means that nothing more precise than your "
-"city, state and country will be published. GPS coordinates will have a "
-"random value added (&#xB1;0.25&#xB0;).</small>"
-msgstr ""
-"<small>Reducir la precisión de la ubicación significa que no se publicará "
-"nada más preciso que su ciudad, estado y país. Las coordenadas GPS tendrán "
-"un valor aleatorio añadido (&#xB1;0.25&#xB0;).</small>"
+msgid "Behavior"
+msgstr "Comportamiento"
#: ../src/empathy-preferences.ui.h:9
-msgid ""
-"<small>The list of languages reflects only the languages for which you have "
-"a dictionary installed.</small>"
-msgstr ""
-"<small>La lista de idiomas refleja sólo los idiomas para los cuales tiene un "
-"diccionario instalado.</small>"
-
-#: ../src/empathy-preferences.ui.h:10
-msgid "<span foreground=\"red\">Not a valid adium theme</span>"
-msgstr "<span foreground=\"red\">No es un tema adium válido</span>"
+msgid "Chat Th_eme:"
+msgstr "_Tema del chat:"
#: ../src/empathy-preferences.ui.h:11
-msgid "Adium theme to use:"
-msgstr "Tema adium que usar:"
+msgid "Disable notifications when _away or busy"
+msgstr "Desactivar notificaciones al _ausentarse o estar ocupado"
#: ../src/empathy-preferences.ui.h:12
-msgid "Allow _GPS usage"
-msgstr "Permitir el usso de _GPS"
+msgid "Disable sounds when _away or busy"
+msgstr "Desactivar sonidos al _ausentarse o estar ocupado"
#: ../src/empathy-preferences.ui.h:13
-msgid "Allow _cellphone usage"
-msgstr "Permitir el uso de teléfono _móvil"
+#| msgid "Enable notifications when the _chat is not focused"
+msgid "Enable notifications when a contact comes online"
+msgstr "Activar notificaciones cuando un contacto se conecta"
#: ../src/empathy-preferences.ui.h:14
-msgid "Allow _network usage"
-msgstr "Permitir el uso de la _red"
+#| msgid "Enable notifications when the _chat is not focused"
+msgid "Enable notifications when a contact goes offline"
+msgstr "Activar notificaciones cuando un contacto se desconecta"
#: ../src/empathy-preferences.ui.h:15
-msgid "Automatically _connect on startup "
-msgstr "_Conectarse automáticamente al inicio"
+msgid "Enable notifications when the _chat is not focused"
+msgstr "Activar notificaciones cuando el _chat no tenga el foco"
#: ../src/empathy-preferences.ui.h:16
-msgid "Avatars are user chosen images shown in the contact list"
-msgstr ""
-"Los avatares son imágenes elegidas por el usuario que se muestran en la "
-"lista de contactos"
+msgid "Enable spell checking for languages:"
+msgstr "Activar la revisión ortográfica para idiomas:"
#: ../src/empathy-preferences.ui.h:17
-msgid "Chat Th_eme:"
-msgstr "_Tema del chat:"
+msgid "General"
+msgstr "General"
#: ../src/empathy-preferences.ui.h:18
-msgid "Disable notifications when _away or busy"
-msgstr "Desactivar notificaciones al _ausentarse o estar ocupado"
+msgid "Geoclue Settings"
+msgstr "Configuración de Geoclue"
#: ../src/empathy-preferences.ui.h:19
-msgid "Disable sounds when _away or busy"
-msgstr "Desactivar sonidos al _ausentarse o estar ocupado"
+msgid "Location"
+msgstr "Ubicación"
#: ../src/empathy-preferences.ui.h:20
-msgid "Enable notifications when the _chat is not focused"
-msgstr "Activar notificaciones cuando el _chat no tenga el foco"
+msgid "Not a valid adium theme"
+msgstr "No es un tema adium válido"
#: ../src/empathy-preferences.ui.h:21
-msgid "General"
-msgstr "General"
+msgid "Notifications"
+msgstr "Notificaciones"
#: ../src/empathy-preferences.ui.h:22
-msgid "Location"
-msgstr "Ubicación"
+msgid "Play sound for events"
+msgstr "Reproducir sonido para eventos"
#: ../src/empathy-preferences.ui.h:23
-msgid "Notifications"
-msgstr "Notificaciones"
-
-#: ../src/empathy-preferences.ui.h:24
msgid "Preferences"
msgstr "Preferencias"
+#: ../src/empathy-preferences.ui.h:24
+msgid "Privacy"
+msgstr "Privacidad"
+
#: ../src/empathy-preferences.ui.h:25
+msgid ""
+"Reduced location accuracy means that nothing more precise than your city, "
+"state and country will be published. GPS coordinates will have a random "
+"value added (&#xB1;0.25&#xB0;)."
+msgstr ""
+"Reducir la precisión de la ubicación significa que no se publicará nada más "
+"preciso que su ciudad, estado y país. Las coordenadas GPS tendrán un valor "
+"aleatorio añadido (&#xB1;0.25&#xB0;)."
+
+#: ../src/empathy-preferences.ui.h:26
msgid "Show _avatars"
msgstr "Mostrar _avatares"
-#: ../src/empathy-preferences.ui.h:26
+#: ../src/empathy-preferences.ui.h:27
msgid "Show _smileys as images"
msgstr "Mostrar los _emoticonos como imágenes"
-#: ../src/empathy-preferences.ui.h:27
+#: ../src/empathy-preferences.ui.h:28
msgid "Show co_mpact contact list"
msgstr "Mostrar lista de contactos co_mpacta"
-#: ../src/empathy-preferences.ui.h:28
+#: ../src/empathy-preferences.ui.h:29
+msgid "Show contact _list in rooms"
+msgstr "Mostrar _lista de contactos en salas"
+
+#: ../src/empathy-preferences.ui.h:30
msgid "Sort by _name"
msgstr "Ordenar por _nombre"
-#: ../src/empathy-preferences.ui.h:29
+#: ../src/empathy-preferences.ui.h:31
msgid "Sort by s_tate"
msgstr "Ordenar por es_tado"
-#: ../src/empathy-preferences.ui.h:30
+#: ../src/empathy-preferences.ui.h:32
msgid "Sounds"
msgstr "Sonidos"
-#: ../src/empathy-preferences.ui.h:31
+#: ../src/empathy-preferences.ui.h:33
msgid "Spell Checking"
msgstr "Revisión ortográfica"
-#: ../src/empathy-preferences.ui.h:32
-msgid "Sélectionner un dossier"
-msgstr "Seleccionar una carpeta"
+#: ../src/empathy-preferences.ui.h:34
+msgid ""
+"The list of languages reflects only the languages for which you have a "
+"dictionary installed."
+msgstr ""
+"La lista de idiomas refleja sólo los idiomas para los cuales tiene un "
+"diccionario instalado."
-#: ../src/empathy-preferences.ui.h:33
+#: ../src/empathy-preferences.ui.h:35
msgid "Themes"
msgstr "Temas"
-#: ../src/empathy-preferences.ui.h:34
+#: ../src/empathy-preferences.ui.h:36
msgid "_Enable bubble notifications"
msgstr "_Activar notificaciones de burbuja"
-#: ../src/empathy-preferences.ui.h:35
+#: ../src/empathy-preferences.ui.h:37
msgid "_Enable sound notifications"
msgstr "_Activar notificaciones de sonido"
-#: ../src/empathy-preferences.ui.h:36
+#: ../src/empathy-preferences.ui.h:38
msgid "_Open new chats in separate windows"
msgstr "_Abrir charlas nuevas en ventanas separadas"
-#: ../src/empathy-preferences.ui.h:37
+#: ../src/empathy-preferences.ui.h:39
msgid "_Publish location to my contacts"
msgstr "_Publicar mi ubicación a mis contactos"
-#: ../src/empathy-preferences.ui.h:38
+#: ../src/empathy-preferences.ui.h:40
msgid "_Reduce location accuracy"
msgstr "_Reducir la precisión de la ubicación"
@@ -2512,6 +2564,36 @@ msgstr ""
"El gestor de conexiones seleccionado no soporta la extensión de depuración "
"remota."
+#~ msgid "<b>Network</b>"
+#~ msgstr "<b>Red</b>"
+
+#~ msgid "<b>Servers</b>"
+#~ msgstr "<b>Servidores</b>"
+
+#~ msgid "<b>Topic:</b>"
+#~ msgstr "<b>Tema:</b>"
+
+#~ msgid "<b>Contact</b>"
+#~ msgstr "<b>Contacto</b>"
+
+#~ msgid "<b>Groups</b>"
+#~ msgstr "<b>Grupos</b>"
+
+#~ msgid "<b>Add Account</b>"
+#~ msgstr "<b>Añadir cuenta</b>"
+
+#~ msgid "New message from %s"
+#~ msgstr "Nuevo mensaje de %s"
+
+#~ msgid "File transfers"
+#~ msgstr "Transferencias de archivos"
+
+#~ msgid "<b>Contact List</b>"
+#~ msgstr "<b>Lista de contactos</b>"
+
+#~ msgid "Sélectionner un dossier"
+#~ msgstr "Seleccionar una carpeta"
+
#~ msgid "I already have an account I want to use"
#~ msgstr "Ya tengo una cuenta que quiero usar"
diff --git a/po/lt.po b/po/lt.po
index bcf2614ff..ccc76d8cc 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -1,30 +1,28 @@
# translation of empathy to Lithuanian
-# Copyright (C) 2004-2007, 2008 Free Software Foundation, Inc.
-# This file is distributed under the same license as the gossip package.
+# Copyright (C) 2004-2009 Free Software Foundation, Inc.
+# This file is distributed under the same license as the empathy package.
#
#
# Justina Klingaitė <justina.klingaite@gmail.com>, 2006.
# Gintautas Miliauskas <gintas@akl.lt>, 2006.
-# Žygimantas Beručka <zygis@gnome.org>, 2004-2007.
+# Žygimantas Beručka <zygis@gnome.org>, 2004-2007, 2009.
# Saulius <saulius.shopaga@gmail.com>, 2008, 2009.
msgid ""
msgstr ""
"Project-Id-Version: empathy.HEAD\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-07 17:07+0200\n"
-"PO-Revision-Date: 2009-03-07 17:07+0200\n"
-"Last-Translator: Saulius <saulius.shopaga@gmail.com>\n"
-"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
+"POT-Creation-Date: 2009-06-29 14:20+0300\n"
+"PO-Revision-Date: 2009-06-29 20:10+0300\n"
+"Last-Translator: Žygimantas Beručka <zygis@gnome.org>\n"
+"Language-Team: Lithuanian <gnome-lt@lists.akl.lt>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%"
-"100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Lokalize 0.2\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: ../data/empathy.desktop.in.in.h:1
msgid "Empathy Instant Messenger"
-msgstr "Bendravimas žinutėmis"
+msgstr "Pokalbių programa Empathy"
#: ../data/empathy.desktop.in.in.h:2
msgid "Send and receive instant messages"
@@ -39,8 +37,8 @@ msgid ""
"Character to add after nickname when using nick completion (tab) in group "
"chat."
msgstr ""
-"Simbolis po slapyvardžio naudojant slapyvardžio užbaigimą (tab) grupės "
-"pokalbiuose"
+"Po slapyvardžio pridėtinas simbolis, naudojant slapyvardžio užbaigimą (tab) "
+"grupės pokalbiuose."
#: ../data/empathy.schemas.in.h:3
msgid "Chat window theme"
@@ -54,251 +52,332 @@ msgstr ""
#: ../data/empathy.schemas.in.h:5
msgid "Compact contact list"
-msgstr "Kompaktiškas bičiulių sąrašas"
+msgstr "Kompaktiškas adresatų sąrašas"
#: ../data/empathy.schemas.in.h:6
msgid "Contact list sort criterium"
-msgstr "Bičiulių sąrašo rikiavimo požymis"
+msgstr "Adresatų sąrašo rikiavimo kriterijus"
#: ../data/empathy.schemas.in.h:7
msgid "Default directory to select an avatar image from"
-msgstr "Numatytasis aplankas, iš kurio renkamas paveikslėlis"
+msgstr ""
+"Numatytasis aplankas, iš kurio pasirinktinas pseudoportreto paveikslėlis"
#: ../data/empathy.schemas.in.h:8
msgid "Disable popup notifications when away"
-msgstr "Išjungti pranešimų iškylančius langus, kai manęs nėra"
+msgstr "Išjungti iškylančius pranešimų langus, kai manęs nėra"
#: ../data/empathy.schemas.in.h:9
msgid "Disable sounds when away"
msgstr "Išjungti garsus, kai manęs nėra"
#: ../data/empathy.schemas.in.h:10
-msgid "Empathy default download folder"
-msgstr "Numatytasis aplankas atsisiuntimams"
+msgid "Empathy can publish the user's location"
+msgstr "Empathy gali rodyti naudotojo vietovę"
#: ../data/empathy.schemas.in.h:11
-msgid "Empathy has asked about importing accounts"
-msgstr "Programa užklausė dėl paskyrų importo"
+msgid "Empathy can use the GPS to guess the location"
+msgstr "Empathy gali naudoti GPS, siekiant atspėti vietovę"
#: ../data/empathy.schemas.in.h:12
-msgid "Empathy should auto-connect on startup"
-msgstr "Prie kurios paskyros prisijungti paleidimo metu"
+msgid "Empathy can use the cellular network to guess the location"
+msgstr "Empathy naudoti mobiliojo ryšio tinklą, siekiant atspėti vietovę"
#: ../data/empathy.schemas.in.h:13
-msgid "Empathy should use the avatar of the contact as the chat window icon"
-msgstr "Bičiulio paveikslėlis bus ir pokalbio lango ženkliuku"
+msgid "Empathy can use the network to guess the location"
+msgstr "Empathy gali naudoti tinklą, siekiant atspėti vietovę"
#: ../data/empathy.schemas.in.h:14
-msgid "Enable popup notifications for new messages"
-msgstr "Įjungti iškylančius langus pranešimams apie naujas žinutes"
+msgid "Empathy default download folder"
+msgstr "Numatytasis Empathy atsiuntimo aplankas"
#: ../data/empathy.schemas.in.h:15
+msgid "Empathy has asked about importing accounts"
+msgstr "Empathy klausė apie paskyrų importavimą"
+
+#: ../data/empathy.schemas.in.h:16
+msgid "Empathy should auto-connect on startup"
+msgstr "Paleidus Empathy, ji turėtų automatiškai prisijungti"
+
+#: ../data/empathy.schemas.in.h:17
+msgid "Empathy should reduce the location's accuracy"
+msgstr "Empathy turėtų sumažinti vietovės tikslumą"
+
+#: ../data/empathy.schemas.in.h:18
+msgid "Empathy should use the avatar of the contact as the chat window icon"
+msgstr ""
+"Empathy turėtų naudoti adresato pseudoportretą pokalbio lango piktogramai"
+
+#: ../data/empathy.schemas.in.h:19
+msgid "Enable popup notifications for new messages"
+msgstr "Įjungti iškylančius pranešimus apie naujas žinutes"
+
+#: ../data/empathy.schemas.in.h:20
msgid "Enable spell checker"
msgstr "Įjungti rašybos tikrinimą"
-#: ../data/empathy.schemas.in.h:16
+#: ../data/empathy.schemas.in.h:21
msgid "Hide main window"
msgstr "Paslėpti pagrindinį langą"
-#: ../data/empathy.schemas.in.h:17
+#: ../data/empathy.schemas.in.h:22
msgid "Hide the main window."
msgstr "Paslėpti pagrindinį langą."
-#: ../data/empathy.schemas.in.h:18
+#: ../data/empathy.schemas.in.h:23
msgid "NetworkManager should be used"
msgstr "Naudoti NetworkManager"
-#: ../data/empathy.schemas.in.h:19
+#: ../data/empathy.schemas.in.h:24
msgid "Nick completed character"
msgstr "Slapyvardžio užbaigimo simbolis"
-#: ../data/empathy.schemas.in.h:20
+#: ../data/empathy.schemas.in.h:25
msgid "Open new chats in separate windows"
-msgstr "Atverti pokalbius atskiruose languose"
+msgstr "Atverti naujus pokalbius atskiruose languose"
-#: ../data/empathy.schemas.in.h:21
+#: ../data/empathy.schemas.in.h:26
+msgid "Path of the adium theme to use"
+msgstr "Naudotinos adium temos kelias"
+
+#: ../data/empathy.schemas.in.h:27
+msgid "Path of the adium theme to use if the theme used for chat is adium."
+msgstr "Naudotinos adium temos kelias, jei pokalbiui naudojama tema yra adium."
+
+#: ../data/empathy.schemas.in.h:28
msgid "Play a sound for incoming messages"
msgstr "Gavus žinutę sugroti garsą"
-#: ../data/empathy.schemas.in.h:22
+#: ../data/empathy.schemas.in.h:29
msgid "Play a sound for new conversations"
-msgstr "Pradedant pokalbį sugroti garsą"
+msgstr "Pradedant naują pokalbį sugroti garsą"
-#: ../data/empathy.schemas.in.h:23
+#: ../data/empathy.schemas.in.h:30
msgid "Play a sound for outgoing messages"
-msgstr "Išsiunčiant žinutę sugroti garsą"
+msgstr "Išsiunčiant žinutes sugroti garsą"
-#: ../data/empathy.schemas.in.h:24
+#: ../data/empathy.schemas.in.h:31
msgid "Play a sound when a contact logs in"
-msgstr "Prisijungus bičiuliui sugroti garsą"
+msgstr "Prisijungus adresatui sugroti garsą"
-#: ../data/empathy.schemas.in.h:25
+#: ../data/empathy.schemas.in.h:32
msgid "Play a sound when a contact logs out"
-msgstr "Atsijungus bičiuliui sugroti garsą"
+msgstr "Atsijungus adresatui sugroti garsą"
-#: ../data/empathy.schemas.in.h:26
+#: ../data/empathy.schemas.in.h:33
msgid "Play a sound when we log in"
-msgstr "Prisijungus sugroti garsą"
+msgstr "Jums prisijungus sugroti garsą"
-#: ../data/empathy.schemas.in.h:27
+#: ../data/empathy.schemas.in.h:34
msgid "Play a sound when we log out"
-msgstr "Atsijungus sugroti garsą"
+msgstr "Jums atsijungus sugroti garsą"
-#: ../data/empathy.schemas.in.h:28
+#: ../data/empathy.schemas.in.h:35
msgid "Popup notifications if the chat isn't focused"
-msgstr "Iškylančio lango pranešimas apie pokalbį neaktyviame lange"
+msgstr "Rodyti iškylančius pranešimus, jei pokalbio langas nesuaktyvintas"
-#: ../data/empathy.schemas.in.h:29
+#: ../data/empathy.schemas.in.h:36
+msgid "Popup notifications when a contact sign in"
+msgstr "Rodyti iškylančius pranešimus, kai adresatas prisijungia"
+
+#: ../data/empathy.schemas.in.h:37
+msgid "Popup notifications when a contact sign out"
+msgstr "Rodyti iškylančius pranešimus, kai adresatas atsijungia"
+
+#: ../data/empathy.schemas.in.h:38
msgid "Salut account is created"
msgstr "Salut paskyra sukurta"
-#: ../data/empathy.schemas.in.h:30
+#: ../data/empathy.schemas.in.h:39
msgid "Show avatars"
-msgstr "Rodyti bičiulių paveikslėlius"
+msgstr "Rodyti pseudoportretus"
-#: ../data/empathy.schemas.in.h:31
+#: ../data/empathy.schemas.in.h:40
+msgid "Show contact list in rooms"
+msgstr "Rodyti adresatų sąrašą kambariuose"
+
+#: ../data/empathy.schemas.in.h:41
msgid "Show hint about closing the main window"
msgstr "Perspėti apie pagrindinio lango užvėrimą"
-#: ../data/empathy.schemas.in.h:32
+#: ../data/empathy.schemas.in.h:42
msgid "Show offline contacts"
-msgstr "Rodyti atsijungusius bičiulius"
+msgstr "Rodyti atsijungusius adresatus"
-#: ../data/empathy.schemas.in.h:33
+#: ../data/empathy.schemas.in.h:43
msgid "Spell checking languages"
-msgstr "Kalbų rašybos tikrinimas"
+msgstr "Kalbos, kurių rašyba tikrinama"
-#: ../data/empathy.schemas.in.h:34
+#: ../data/empathy.schemas.in.h:44
msgid "The default folder to save file transfers in."
-msgstr "Numatytasis aplankas atsisiunčiamiems failams"
+msgstr "Numatytasis aplankas, kuriame įrašomi atsiųsti failai."
-#: ../data/empathy.schemas.in.h:35
+#: ../data/empathy.schemas.in.h:45
msgid "The last directory that an avatar image was chosen from."
-msgstr "Aplankas, iš kurio praeitą kartą buvo pasirinktas paveikslėlis."
+msgstr "Aplankas, kuriame praeitą kartą buvo pasirinktas pseudoportretas."
-#: ../data/empathy.schemas.in.h:36
+#: ../data/empathy.schemas.in.h:46
msgid "The theme that is used to display the conversation in chat windows."
-msgstr "Tema naudojama pokalbio rodymui pokalbių lange."
+msgstr "Tema, naudojama pokalbio rodymui pokalbių languose."
-#: ../data/empathy.schemas.in.h:37
+#: ../data/empathy.schemas.in.h:47
msgid "Use graphical smileys"
msgstr "Naudoti grafines šypsenėles"
-#: ../data/empathy.schemas.in.h:38
+#: ../data/empathy.schemas.in.h:48
msgid "Use notification sounds"
-msgstr "Naudoti įspėjimo garsus"
+msgstr "Naudoti pranešimų garsus"
-#: ../data/empathy.schemas.in.h:39
+#: ../data/empathy.schemas.in.h:49
msgid "Use theme for chat rooms"
msgstr "Naudoti temą pokalbių kambariams"
-#: ../data/empathy.schemas.in.h:40
+#: ../data/empathy.schemas.in.h:50
+msgid "Whether or not Empathy can publish the user's location to his contacts."
+msgstr "Ar Empathy gali rodyti naudotojo vietovę jo adresatams."
+
+#: ../data/empathy.schemas.in.h:51
+msgid "Whether or not Empathy can use the GPS to guess the location."
+msgstr "Ar Empathy gali naudoti GPS vietovės spėjimui."
+
+#: ../data/empathy.schemas.in.h:52
+msgid ""
+"Whether or not Empathy can use the cellular network to guess the location."
+msgstr "Ar Empathy gali naudoti mobiliojo ryšio tinklą vietovės spėjimui."
+
+#: ../data/empathy.schemas.in.h:53
+msgid "Whether or not Empathy can use the network to guess the location."
+msgstr "Ar Empathy gali naudoti tinklą vietovės spėjimui."
+
+#: ../data/empathy.schemas.in.h:54
msgid ""
"Whether or not Empathy has asked about importing accounts from other "
"programs."
-msgstr "Ar buvo užklausta dėl paskyrų importo iš kitų programų."
+msgstr "Ar Empathy klausė apie paskyrų importavimą iš kitų programų."
-#: ../data/empathy.schemas.in.h:41
+#: ../data/empathy.schemas.in.h:55
msgid ""
"Whether or not Empathy should automatically log in to your accounts on "
"startup."
-msgstr "Ar prisijungti prie paskyrų pradedant darbą"
+msgstr ""
+"Ar Empathy turėtų automatiškai prisijungti prie paskyrų ją paleidus."
-#: ../data/empathy.schemas.in.h:42
+#: ../data/empathy.schemas.in.h:56
+msgid ""
+"Whether or not Empathy should reduce the location's accuracy for privacy "
+"reasons."
+msgstr ""
+"Ar Empathy turėtų sumažinti vietovės rodymo tikslumą privatumo sumetimais."
+
+#: ../data/empathy.schemas.in.h:57
msgid ""
"Whether or not Empathy should use the avatar of the contact as the chat "
"window icon."
-msgstr "Ar pašnekovo paveikslėlį naudoti ir kaip pokalbio lango ženkliuką ."
+msgstr "Ar naudoti adresato pseudoportretą kaip pokalbio lango piktogramą."
-#: ../data/empathy.schemas.in.h:43
+#: ../data/empathy.schemas.in.h:58
msgid ""
"Whether or not the Salut account has been created on the first Empathy run."
-msgstr "Ar pirmos paleisties metu sukurti Salut paskyrą"
+msgstr "Ar pirmąkart paleidus Empathy buvo sukurta Salut paskyra."
-#: ../data/empathy.schemas.in.h:44
+#: ../data/empathy.schemas.in.h:59
msgid ""
"Whether or not the network manager should be used to automatically "
"disconnect/reconnect."
-msgstr "Ar naudoti tinklo tvarkyklę automatiškai atjungiant/vėl prijungiant"
+msgstr "Ar naudoti tinklo valdyklę automatiškai atsijungiant/vėl prisijungiant."
-#: ../data/empathy.schemas.in.h:45
+#: ../data/empathy.schemas.in.h:60
msgid ""
"Whether or not to check words typed against the languages you want to check "
"with."
-msgstr "Ar tikrinti žodžių rašybą pagal pasirinktą kalbą."
+msgstr ""
+"Ar tikrinti įvedamų žodžių rašybą pasirenkant jūsų pageidaujamas kalbas."
-#: ../data/empathy.schemas.in.h:46
+#: ../data/empathy.schemas.in.h:61
msgid ""
"Whether or not to convert smileys into graphical images in conversations."
-msgstr "Ar pokalbiuose paversti šypsenėles į grafinius paveiksliukus."
+msgstr "Ar pokalbiuose versti šypsenėles į grafinius paveikslėlius."
-#: ../data/empathy.schemas.in.h:47
+#: ../data/empathy.schemas.in.h:62
msgid ""
"Whether or not to play a sound to notify for contacts logging in the network."
-msgstr "Ar groti garsą prisijungiant bičiuliams."
+msgstr "Ar sugroti garsą adresatams prisijungiant prie tinklo."
-#: ../data/empathy.schemas.in.h:48
+#: ../data/empathy.schemas.in.h:63
msgid ""
"Whether or not to play a sound to notify for contacts logging off the "
"network."
-msgstr "Ar groti garsą atsijungiant bičiuliams."
+msgstr "Ar sugroti garsą adresatams atsijungiant nuo tinklo."
-#: ../data/empathy.schemas.in.h:49
+#: ../data/empathy.schemas.in.h:64
msgid "Whether or not to play a sound to notify for events."
msgstr "Ar sugroti garsą pranešant apie įvykius."
-#: ../data/empathy.schemas.in.h:50
+#: ../data/empathy.schemas.in.h:65
msgid "Whether or not to play a sound to notify for incoming messages."
msgstr "Ar sugroti garsą, kai atsiunčiama nauja žinutė."
-#: ../data/empathy.schemas.in.h:51
+#: ../data/empathy.schemas.in.h:66
msgid "Whether or not to play a sound to notify for new conversations."
msgstr "Ar sugroti garsą pranešant apie naują pokalbį."
-#: ../data/empathy.schemas.in.h:52
+#: ../data/empathy.schemas.in.h:67
msgid "Whether or not to play a sound to notify for outgoing messages."
msgstr "Ar sugroti garsą, kai išsiunčiama žinutė."
-#: ../data/empathy.schemas.in.h:53
+#: ../data/empathy.schemas.in.h:68
msgid "Whether or not to play a sound when logging in a network."
-msgstr "Ar groti garsą prisijungiant."
+msgstr "Ar groti garsą prisijungiant prie tinklo."
-#: ../data/empathy.schemas.in.h:54
+#: ../data/empathy.schemas.in.h:69
msgid "Whether or not to play a sound when logging off a network."
-msgstr "Ar groti garsą atsijungiant."
+msgstr "Ar groti garsą atsijungiant nuo tinklo."
-#: ../data/empathy.schemas.in.h:55
+#: ../data/empathy.schemas.in.h:70
msgid "Whether or not to play sound notifications when away or busy."
-msgstr "Ar groti garsinius pranešimus, kai tavęs nėra ar užsiėmęs."
+msgstr "Ar groti garsinius pranešimus, kai esate pasitraukę ar užsiėmę."
-#: ../data/empathy.schemas.in.h:56
+#: ../data/empathy.schemas.in.h:71
+msgid ""
+"Whether or not to show a popup notification when a contact goes offline."
+msgstr "Ar rodyti iškeliamą pranešimą, kai adresatas atsijungia."
+
+#: ../data/empathy.schemas.in.h:72
+msgid "Whether or not to show a popup notification when a contact goes online."
+msgstr "Ar rodyti iškeliamą pranešimą, kai adresatas prisijungia."
+
+#: ../data/empathy.schemas.in.h:73
msgid ""
"Whether or not to show a popup notification when receiving a new message "
"even if the chat is already opened, but not focused."
msgstr ""
-"Ar rodyti iškylantį pranešimo langą gauvus žinutę pradėtame pokalbyje, jei "
-"pokalbio langas neaktyvuotas."
+"Ar rodyti iškylantį pranešimo langą, kai gaunama nauja žinutė, net jei "
+"pokalbio langas yra jau atvertas, tačiau nesuaktyvintas."
-#: ../data/empathy.schemas.in.h:57
+#: ../data/empathy.schemas.in.h:74
msgid ""
"Whether or not to show a popup notification when receiving a new message."
-msgstr "Ar rodyti iškylantį pranešimo langą gavus naują žinutę."
+msgstr "Ar rodyti iškylantį pranešimą gavus naują žinutę."
-#: ../data/empathy.schemas.in.h:58
+#: ../data/empathy.schemas.in.h:75
msgid ""
"Whether or not to show avatars for contacts in the contact list and chat "
"windows."
-msgstr "Ar rodyti bičiulių paveikslėlius kontaktų sąraše ir pokalbių languose."
+msgstr "Ar rodyti adresatų sąraše ir pokalbių languose pseudoportretus."
-#: ../data/empathy.schemas.in.h:59
+#: ../data/empathy.schemas.in.h:76
msgid "Whether or not to show contacts that are offline in the contact list."
-msgstr "Ar bičiulių sąraše rodyti bičiulius, kurie yra atsijungę."
+msgstr "Ar adresatų sąraše rodyti adresatus, kurie yra atsijungę."
-#: ../data/empathy.schemas.in.h:60
+#: ../data/empathy.schemas.in.h:77
msgid "Whether or not to show popup notifications when away or busy."
-msgstr "Ar rodyti iškylančius pranešimo langus, kai tavęs nėra ar užsiėmęs."
+msgstr "Ar rodyti iškylančius pranešimus, kai esate pasitraukę ar užsiėmę."
-#: ../data/empathy.schemas.in.h:61
+#: ../data/empathy.schemas.in.h:78
+msgid "Whether or not to show the contact list in chat rooms."
+msgstr "Ar rodyti adresatų sąrašą pokalbių kambariuose."
+
+#: ../data/empathy.schemas.in.h:79
msgid ""
"Whether or not to show the message dialog about closing the main window with "
"the 'x' button in the title bar."
@@ -306,740 +385,950 @@ msgstr ""
"Ar rodyti pranešimo apie pagrindinio lango uždarymą dialogą su mygtuku „x“ "
"antraštės juostoje."
-#: ../data/empathy.schemas.in.h:62
+#: ../data/empathy.schemas.in.h:80
msgid "Whether to show the contact list in compact mode or not."
-msgstr "Ar bičiulių sąrašą rodyti glaudintą."
+msgstr "Ar adresatų sąrašą rodyti glaudintą."
-#: ../data/empathy.schemas.in.h:63
+#: ../data/empathy.schemas.in.h:81
msgid "Whether to use the theme for chat rooms or not."
msgstr "Ar naudoti temą pokalbių kambariams."
-#: ../data/empathy.schemas.in.h:64
+#: ../data/empathy.schemas.in.h:82
msgid ""
"Which criterium to use when sorting the contact list. Default is to use sort "
"by the contact's name with the value \"name\". A value of \"state\" will "
"sort the contact list by state."
msgstr ""
-"Pagal kurį požymį rikiuoti bičiulių sąrašą. Numatytasis požymis yra bičiulio "
-"vardas (reikšmė „vardas“). Reikšmė „būsena“ rikiuos bičiulių sąrašą pagal "
+"Pagal kurį kriterijų rikiuoti adresatų sąrašą. Numatytasis yra adresato "
+"vardas (reikšmė „name“). Reikšmė „state“ rikiuoja adresatų sąrašą pagal "
"būseną."
-#: ../libempathy/empathy-tp-contact-list.c:731 ../src/empathy.c:270
+#: ../libempathy/empathy-ft-handler.c:838
+msgid "The hash of the received file and the sent one do not match"
+msgstr "Gautojo ir išsiųstojo failo maišos kodai nesutampa"
+
+#: ../libempathy/empathy-ft-handler.c:1098
+msgid "File transfer not supported by remote contact"
+msgstr "Nutolęs adresatas nepalaiko failų siuntimo"
+
+#: ../libempathy/empathy-ft-handler.c:1156
+msgid "The selected file is not a regular file"
+msgstr "Pasirinktas failas nėra normalus failas"
+
+#: ../libempathy/empathy-ft-handler.c:1165
+msgid "The selected file is empty"
+msgstr "Pasirinktas failas yra tuščias"
+
+#: ../libempathy/empathy-tp-contact-list.c:757 ../src/empathy.c:288
msgid "People nearby"
msgstr "Žmonės netoliese"
-#: ../libempathy/empathy-utils.c:252
+#: ../libempathy/empathy-tp-file.c:279
+msgid "Socket type not supported"
+msgstr "Nepalaikomas lizdo tipas"
+
+#: ../libempathy/empathy-tp-file.c:398
+msgid "No reason was specified"
+msgstr "Nenurodyta priežastis"
+
+#: ../libempathy/empathy-tp-file.c:401
+msgid "The change in state was requested"
+msgstr "Būsenos keitimo užklausa"
+
+#: ../libempathy/empathy-tp-file.c:404
+msgid "You canceled the file transfer"
+msgstr "Atšaukėte failo siuntimą"
+
+#: ../libempathy/empathy-tp-file.c:407
+msgid "The other participant canceled the file transfer"
+msgstr "Kitas dalyvis atšaukė failo siuntimą"
+
+#: ../libempathy/empathy-tp-file.c:410
+msgid "Error while trying to transfer the file"
+msgstr "Klaida bandant persiųsti failą"
+
+#: ../libempathy/empathy-tp-file.c:413
+msgid "The other participant is unable to transfer the file"
+msgstr "Kitas dalyvis negali persiųsti failo"
+
+#: ../libempathy/empathy-tp-file.c:416
+msgid "Unknown reason"
+msgstr "Nežinoma priežastis"
+
+#: ../libempathy/empathy-utils.c:274
msgid "Available"
msgstr "Esu"
-#: ../libempathy/empathy-utils.c:254
+#: ../libempathy/empathy-utils.c:276
msgid "Busy"
-msgstr "Užsiėmęs"
+msgstr "Užsiėmęs(-usi)"
-#: ../libempathy/empathy-utils.c:257
+#: ../libempathy/empathy-utils.c:279
msgid "Away"
-msgstr "Manęs nėra."
+msgstr "Pasitraukęs(-usi)"
-#: ../libempathy/empathy-utils.c:259
+#: ../libempathy/empathy-utils.c:281
msgid "Hidden"
-msgstr "Nematomas"
+msgstr "Pasislėpęs(-usi)"
-#: ../libempathy/empathy-utils.c:262
+#: ../libempathy/empathy-utils.c:283
msgid "Offline"
-msgstr "Atsijungęs"
+msgstr "Atsijungęs(-usi)"
+
+#: ../libempathy/empathy-time.c:137
+#, c-format
+msgid "%d second ago"
+msgid_plural "%d seconds ago"
+msgstr[0] "prieš %d sekundę"
+msgstr[1] "prieš %d sekundes"
+msgstr[2] "prieš %d sekundžių"
+
+#: ../libempathy/empathy-time.c:142
+#, c-format
+msgid "%d minute ago"
+msgid_plural "%d minutes ago"
+msgstr[0] "prieš %d minutę"
+msgstr[1] "prieš %d minutes"
+msgstr[2] "prieš %d minučių"
+
+#: ../libempathy/empathy-time.c:147
+#, c-format
+msgid "%d hour ago"
+msgid_plural "%d hours ago"
+msgstr[0] "prieš %d valandą"
+msgstr[1] "prieš %d valandas"
+msgstr[2] "prieš %d valandų"
+
+#: ../libempathy/empathy-time.c:152
+#, c-format
+msgid "%d day ago"
+msgid_plural "%d days ago"
+msgstr[0] "prieš %d dieną"
+msgstr[1] "prieš %d dienas"
+msgstr[2] "prieš %d dienų"
+
+#: ../libempathy/empathy-time.c:157
+#, c-format
+msgid "%d week ago"
+msgid_plural "%d weeks ago"
+msgstr[0] "prieš %d savaitę"
+msgstr[1] "prieš %d savaites"
+msgstr[2] "prieš %d savaičių"
+
+#: ../libempathy/empathy-time.c:162
+#, c-format
+msgid "%d month ago"
+msgid_plural "%d months ago"
+msgstr[0] "prieš %d mėnesį"
+msgstr[1] "prieš %d mėnesius"
+msgstr[2] "prieš %d mėnesių"
-#: ../libempathy-gtk/empathy-account-chooser.c:326
+#: ../libempathy/empathy-time.c:167
+msgid "in the future"
+msgstr "ateityje"
+
+#: ../libempathy-gtk/empathy-account-chooser.c:419
msgid "All"
msgstr "Visi"
#: ../libempathy-gtk/empathy-account-widget.c:302
-#: ../libempathy-gtk/empathy-account-widget.c:347
+#: ../libempathy-gtk/empathy-account-widget.c:354
#, c-format
msgid "%s:"
msgstr "%s:"
-#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-generic.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:1
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:1
-msgid "<b>Advanced</b>"
-msgstr "<b>Sudėtingesnės parinktys</b>"
-
-#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:2
-#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:2
-#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:2
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:3
-#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:2
-#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:4
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:2
-msgid "Forget password and clear the entry."
-msgstr "Užmiršti slaptažodį ir išvalyti įrašą."
-
-#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:3
-#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:4
-#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:4
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:5
-#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:4
-#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:5
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:3
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-generic.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:1
+msgid "Advanced"
+msgstr "Papildomi"
+
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:2
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:3
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:3
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:3
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:2
msgid "Pass_word:"
msgstr "S_laptažodis:"
-#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:4
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:3
msgid "Screen _Name:"
-msgstr "_Rodomas Vardas:"
-
-#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:5
-#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:5
-#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:6
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:11
-#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:5
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:8
+msgstr "_Rodomas vardas:"
+
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:10
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:7
msgid "_Port:"
msgstr "_Prievadas:"
-#: ../libempathy-gtk/empathy-account-widget-aim.glade.h:6
-#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:6
-#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:7
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:12
-#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:6
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:10
-#: ../src/empathy-new-chatroom-dialog.glade.h:10
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:6
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:11
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:9
+#: ../src/empathy-new-chatroom-dialog.ui.h:9
msgid "_Server:"
msgstr "_Serveris:"
-#: ../libempathy-gtk/empathy-account-widget-groupwise.glade.h:3
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:4
-#: ../libempathy-gtk/empathy-account-widget-msn.glade.h:3
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:2
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:2
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:2
msgid "Login I_D:"
msgstr "Prisijungimo I_D:"
-#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:3
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:2
msgid "ICQ _UIN:"
msgstr "ICQ _UIN:"
-#: ../libempathy-gtk/empathy-account-widget-icq.glade.h:5
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:6
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:5
msgid "_Charset:"
-msgstr "K_oduotė:"
+msgstr "_Koduotė:"
-#: ../libempathy-gtk/empathy-account-widget-irc.c:245
+#: ../libempathy-gtk/empathy-account-widget-irc.c:241
msgid "New Network"
-msgstr "Naujas Tinklas"
-
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:1
-msgid "<b>Network</b>"
-msgstr "<b>Tinklas</b>"
+msgstr "Naujas tinklas"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:2
-msgid "<b>Servers</b>"
-msgstr "<b>Serveriai</b>"
-
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:3
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:1
msgid "Charset:"
msgstr "Koduotė:"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:4
-msgid "Create a new IRC network"
-msgstr "Sukurti naują IRC tinklą"
-
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:5
-msgid "Edit the selected IRC network"
-msgstr "Redaguoti pasirinktą IRC tinklą"
-
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:6
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:2
msgid "Network"
msgstr "Tinklas"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:7
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:3
msgid "Network:"
msgstr "Tinklas:"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:8
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:4
msgid "Nickname:"
msgstr "Slapyvardis:"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:9
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:5
msgid "Password:"
msgstr "Slaptažodis:"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:10
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:6
msgid "Quit message:"
msgstr "Išėjimo žinutė:"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:11
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:7
msgid "Real name:"
msgstr "Tikrasis vardas:"
-#: ../libempathy-gtk/empathy-account-widget-irc.glade.h:12
-msgid "Remove the selected IRC network"
-msgstr "Pašalinti pasirinktą IRC tinklą"
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:8
+msgid "Servers"
+msgstr "Serveriai"
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:2
-msgid "<b>Override server settings</b>"
-msgstr "<b>Pakeisti serverio nustatymus</b>"
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:3
+msgid "Override server settings"
+msgstr "Nepaisyti serverio parametrų"
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:6
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:5
msgid "Pri_ority:"
msgstr "Pri_oritetas:"
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:7
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:6
msgid "Reso_urce:"
-msgstr "Res_ursas:"
+msgstr "Ištekli_us:"
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:8
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:7
msgid "Use old SS_L"
-msgstr "Naudoti šifravimą (SS_L)"
+msgstr "Naudoti senąjį SS_L"
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:9
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:8
msgid "_Encryption required (TLS/SSL)"
-msgstr "R_eikalingas šifravimas (TLS/SSL)"
+msgstr "_Reikalingas šifravimas (TLS/SSL)"
-#: ../libempathy-gtk/empathy-account-widget-jabber.glade.h:10
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:9
msgid "_Ignore SSL certificate errors"
-msgstr "_Ignoruoti SSL sertifikato klaidas"
+msgstr "_Nepaisyti SSL liudijimo klaidų"
-#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:2
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:2
msgid "_Email:"
msgstr "_El. paštas:"
-#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:3
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:3
msgid "_First Name:"
msgstr "_Vardas:"
-#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:4
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:4
msgid "_Jabber ID:"
msgstr "_Jabber ID:"
-#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:5
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:5
msgid "_Last Name:"
msgstr "_Pavardė:"
-#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:6
-#: ../src/empathy-chatrooms-window.glade.h:8
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:6
msgid "_Nickname:"
msgstr "_Slapyvardis:"
-#: ../libempathy-gtk/empathy-account-widget-salut.glade.h:7
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:7
msgid "_Published Name:"
msgstr "_Prisistatymo vardas:"
#. look up the DNS SRV record at the service's domain for the host name of a STUN server.
-#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:3
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:3
msgid "Discover STUN"
-msgstr "Rasti STUN"
+msgstr "Aptikti STUN"
-#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:6
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:5
msgid "STUN Server:"
-msgstr "STUN Serveris:"
+msgstr "STUN serveris:"
-#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:7
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:6
msgid "STUN port:"
msgstr "STUN prievadas:"
-#: ../libempathy-gtk/empathy-account-widget-sip.glade.h:8
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:7
msgid "_Username:"
-msgstr "Naudotojo _Vardas:"
+msgstr "_Naudotojo vardas:"
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:4
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:3
msgid "Use _Yahoo Japan"
msgstr "Naudoti _Yahoo Japan"
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:5
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:4
msgid "Yahoo I_D:"
msgstr "Yahoo I_D:"
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:7
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:6
msgid "_Ignore conference and chatroom invitations"
-msgstr "_Ignoruoti grupių ir pokalbių kambarių kvietimus"
+msgstr "_Nepaisyti konferencijų ir pokalbių kambarių kvietimų"
-#: ../libempathy-gtk/empathy-account-widget-yahoo.glade.h:9
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:8
msgid "_Room List locale:"
-msgstr "_Kambarių Sąrašo kalbos kodas"
+msgstr "_Kambarių sąrašo lokalė:"
-#: ../libempathy-gtk/empathy-avatar-chooser.c:462
-#: ../libempathy-gtk/empathy-avatar-chooser.c:537
+#: ../libempathy-gtk/empathy-avatar-chooser.c:449
+#: ../libempathy-gtk/empathy-avatar-chooser.c:525
msgid "Couldn't convert image"
-msgstr "Nepavyko sukonvertuoti paveikslėlio"
+msgstr "Nepavyko konvertuoti paveikslėlio"
-#: ../libempathy-gtk/empathy-avatar-chooser.c:463
+#: ../libempathy-gtk/empathy-avatar-chooser.c:450
msgid "None of the accepted image formats is supported on your system"
-msgstr "Nei vienas iš priimtinų paveikslėlio formatų sistemoje neregistruotas"
+msgstr "Jokie priimti paveikslėlių formatai jūsų sistemoje nepalaikomi"
-#: ../libempathy-gtk/empathy-avatar-chooser.c:956
+#: ../libempathy-gtk/empathy-avatar-chooser.c:933
msgid "Select Your Avatar Image"
-msgstr "Pasirinkite savo paveikslėlį"
+msgstr "Pasirinkite savo pseudoportretą"
-#: ../libempathy-gtk/empathy-avatar-chooser.c:959
+#: ../libempathy-gtk/empathy-avatar-chooser.c:936
msgid "No Image"
msgstr "Paveikslėlio nėra"
-#: ../libempathy-gtk/empathy-avatar-chooser.c:1021
+#: ../libempathy-gtk/empathy-avatar-chooser.c:998
msgid "Images"
msgstr "Paveikslėliai"
-#: ../libempathy-gtk/empathy-avatar-chooser.c:1025
+#: ../libempathy-gtk/empathy-avatar-chooser.c:1002
msgid "All Files"
-msgstr "Visi Failai"
+msgstr "Visi failai"
-#: ../libempathy-gtk/empathy-avatar-image.c:294
+#: ../libempathy-gtk/empathy-avatar-image.c:324
msgid "Click to enlarge"
-msgstr "Spustelėkite, kad padidinti"
+msgstr "Norėdami padidinti, spustelėkite"
+
+#: ../libempathy-gtk/empathy-chat.c:186
+msgid "Failed to reconnect this chat"
+msgstr "Nepavyko iš naujo prisijungti prie šio pokalbio"
+
+#: ../libempathy-gtk/empathy-chat.c:404
+msgid "Unsupported command"
+msgstr "Nepalaikoma komanda"
-#: ../libempathy-gtk/empathy-chat.c:498
+#: ../libempathy-gtk/empathy-chat.c:539
msgid "offline"
msgstr "atsijungęs"
-#: ../libempathy-gtk/empathy-chat.c:501
+#: ../libempathy-gtk/empathy-chat.c:542
msgid "invalid contact"
-msgstr "duomenys netinkami"
+msgstr "netinkamas adresatas"
-#: ../libempathy-gtk/empathy-chat.c:504
+#: ../libempathy-gtk/empathy-chat.c:545
msgid "permission denied"
msgstr "prieeiga uždrausta"
-#: ../libempathy-gtk/empathy-chat.c:507
+#: ../libempathy-gtk/empathy-chat.c:548
msgid "too long message"
-msgstr "žinutė per ilga"
+msgstr "per ilga žinutė"
-#: ../libempathy-gtk/empathy-chat.c:510
+#: ../libempathy-gtk/empathy-chat.c:551
msgid "not implemented"
-msgstr "Ši funkcija dar nerealizuota"
+msgstr "ši funkcija dar nerealizuota"
-#: ../libempathy-gtk/empathy-chat.c:513
+#: ../libempathy-gtk/empathy-chat.c:554
msgid "unknown"
msgstr "nežinoma"
-#: ../libempathy-gtk/empathy-chat.c:517
+#: ../libempathy-gtk/empathy-chat.c:558
#, c-format
msgid "Error sending message '%s': %s"
msgstr "Klaida siunčiant žinutę „%s“: %s"
-#: ../libempathy-gtk/empathy-chat.c:547
+#: ../libempathy-gtk/empathy-chat.c:588
#, c-format
msgid "Topic set to: %s"
-msgstr "Tema: %s"
+msgstr "Tema nustatyta į: %s"
-#: ../libempathy-gtk/empathy-chat.c:549
+#: ../libempathy-gtk/empathy-chat.c:590
msgid "No topic defined"
-msgstr "Nenurodyta tema"
+msgstr "Nenurodyta jokia tema"
-#: ../libempathy-gtk/empathy-chat.c:964
+#: ../libempathy-gtk/empathy-chat.c:959
+msgid "(No Suggestions)"
+msgstr "(Nėra pasiūlymų)"
+
+#: ../libempathy-gtk/empathy-chat.c:1013
msgid "Insert Smiley"
msgstr "Įterpti šypsenėlę"
#. send button
-#: ../libempathy-gtk/empathy-chat.c:982
-#: ../libempathy-gtk/empathy-ui-utils.c:1559
+#: ../libempathy-gtk/empathy-chat.c:1031
+#: ../libempathy-gtk/empathy-ui-utils.c:1475
msgid "_Send"
msgstr "_Siųsti"
-#: ../libempathy-gtk/empathy-chat.c:1016
-msgid "_Check Word Spelling..."
-msgstr "_Tikrinti žodžių rašybą..."
+#: ../libempathy-gtk/empathy-chat.c:1065
+msgid "_Spelling Suggestions"
+msgstr "_Rašybos pasiūlymai"
-#: ../libempathy-gtk/empathy-chat.c:1134
+#: ../libempathy-gtk/empathy-chat.c:1179
#, c-format
msgid "%s has joined the room"
msgstr "%s prisijungė prie pokalbių kambario"
-#: ../libempathy-gtk/empathy-chat.c:1137
+#: ../libempathy-gtk/empathy-chat.c:1182
#, c-format
msgid "%s has left the room"
msgstr "%s paliko pokalbių kambarį"
-#: ../libempathy-gtk/empathy-chat.c:1251 ../src/empathy-call-window.c:721
+#: ../libempathy-gtk/empathy-chat.c:1313 ../src/empathy-call-window.c:1226
msgid "Disconnected"
-msgstr "Neprisijungęs"
+msgstr "Atsijungęs(-usi)"
-#: ../libempathy-gtk/empathy-chat.c:1647
+#: ../libempathy-gtk/empathy-chat.c:1742
msgid "Connected"
-msgstr "Prisijungęs"
+msgstr "Prisijungęs(-usi)"
-#: ../libempathy-gtk/empathy-chat.c:1697
-#: ../libempathy-gtk/empathy-log-window.c:505
+#: ../libempathy-gtk/empathy-chat.c:1792
+#: ../libempathy-gtk/empathy-log-window.c:501
msgid "Conversation"
msgstr "Pokalbis"
-#: ../libempathy-gtk/empathy-chat.glade.h:1
-msgid "<b>Topic:</b>"
-msgstr "<b>Tema:</b>"
-
-#: ../libempathy-gtk/empathy-chat.glade.h:2
-msgid "Group Chat"
-msgstr "Grupinis pokalbis"
+#: ../libempathy-gtk/empathy-chat.ui.h:1 ../src/empathy-chat-window.c:472
+msgid "Topic:"
+msgstr "Tema:"
-#: ../libempathy-gtk/empathy-chat-text-view.c:331
+#: ../libempathy-gtk/empathy-chat-text-view.c:316
msgid "_Copy Link Address"
msgstr "_Kopijuoti nuorodos adresą"
-#: ../libempathy-gtk/empathy-chat-text-view.c:339
+#: ../libempathy-gtk/empathy-chat-text-view.c:323
msgid "_Open Link"
msgstr "_Atverti nuorodą"
#. Translators: timestamp displayed between conversations in
#. * chat windows (strftime format string)
-#: ../libempathy-gtk/empathy-chat-text-view.c:432
+#: ../libempathy-gtk/empathy-chat-text-view.c:421
msgid "%A %B %d %Y"
-msgstr "%Y-%b-%d (%A)"
-
-#: ../libempathy-gtk/empathy-contact-dialogs.c:180
-msgid "Personal Information"
-msgstr "Asmeninė informacija"
+msgstr "%Y %B %d (%A)"
-#: ../libempathy-gtk/empathy-contact-dialogs.c:183
+#: ../libempathy-gtk/empathy-contact-dialogs.c:179
+#: ../libempathy-gtk/empathy-contact-dialogs.c:238
msgid "Edit Contact Information"
-msgstr "Keisti bičiulio info"
+msgstr "Taisyti adresato informaciją"
-#: ../libempathy-gtk/empathy-contact-dialogs.c:186
-msgid "Contact Information"
-msgstr "Bičiulio Info"
-
-#: ../libempathy-gtk/empathy-contact-dialogs.c:267
-msgid "I would like to add you to my contact list."
-msgstr "Norėčiau Jus įtraukti į savo bičiulių sąrašą."
+#: ../libempathy-gtk/empathy-contact-dialogs.c:289
+msgid "Personal Information"
+msgstr "Asmeninė informacija"
-#: ../libempathy-gtk/empathy-contact-dialogs.c:291
+#: ../libempathy-gtk/empathy-contact-dialogs.c:392
msgid "New Contact"
-msgstr "Bičiulis"
+msgstr "Naujas adresatas"
-#: ../libempathy-gtk/empathy-contact-dialogs.glade.h:1
+#: ../libempathy-gtk/empathy-contact-dialogs.ui.h:1
msgid "Decide _Later"
-msgstr "Nuspręsti vė_liau"
+msgstr "Nuspręsti _vėliau"
-#: ../libempathy-gtk/empathy-contact-dialogs.glade.h:2
+#: ../libempathy-gtk/empathy-contact-dialogs.ui.h:2
msgid "Subscription Request"
msgstr "Prenumeratos prašymas"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1249
+#: ../libempathy-gtk/empathy-contact-list-view.c:1378
#, c-format
msgid "Do you really want to remove the group '%s'?"
-msgstr "Ar norite pašalinti grupę „%s“?"
+msgstr "Ar tikrai norite pašalinti grupę „%s“?"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1251
+#: ../libempathy-gtk/empathy-contact-list-view.c:1380
msgid "Removing group"
msgstr "Šalinama grupė"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1298
-#: ../libempathy-gtk/empathy-contact-list-view.c:1377
+#: ../libempathy-gtk/empathy-contact-list-view.c:1427
+#: ../libempathy-gtk/empathy-contact-list-view.c:1505
msgid "_Remove"
msgstr "_Pašalinti"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1328
+#: ../libempathy-gtk/empathy-contact-list-view.c:1457
#, c-format
msgid "Do you really want to remove the contact '%s'?"
-msgstr "Ar norite pašalinti bičiulį „%s“ iš sąrašo?"
+msgstr "Ar tikrai norite pašalinti adresatą „%s“?"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1330
+#: ../libempathy-gtk/empathy-contact-list-view.c:1459
msgid "Removing contact"
-msgstr "Šalinamas bičiulis"
-
-#: ../libempathy-gtk/empathy-contact-list-view.c:1335
-msgid "Sorry, I don't want you in my contact list anymore."
-msgstr "Atleiskite, bet esate nepageidaujamas mano adresatų sąraše."
+msgstr "Šalinamas adresatas"
-#: ../libempathy-gtk/empathy-contact-menu.c:130
-#: ../src/empathy-main-window.glade.h:9
+#: ../libempathy-gtk/empathy-contact-menu.c:135
+#: ../src/empathy-main-window.ui.h:8
msgid "_Chat"
-msgstr "P_okalbis"
+msgstr "_Pokalbis"
-#: ../libempathy-gtk/empathy-contact-menu.c:161
-#: ../src/empathy-call-window.glade.h:5
-msgid "_Call"
-msgstr "_Kvietimas"
+#: ../libempathy-gtk/empathy-contact-menu.c:166
+msgctxt "menu item"
+msgid "_Audio Call"
+msgstr "_Garsinis skambutis"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:198
+msgctxt "menu item"
+msgid "_Video Call"
+msgstr "_Vaizdinis skambutis"
-#: ../libempathy-gtk/empathy-contact-menu.c:200
-#: ../src/empathy-main-window.glade.h:17
+#: ../libempathy-gtk/empathy-contact-menu.c:237
msgid "_View Previous Conversations"
-msgstr "Žiūrė_ti ankstesnius pokalbius"
+msgstr "_Žiūrėti ankstesnius pokalbius"
-#: ../libempathy-gtk/empathy-contact-menu.c:222
+#: ../libempathy-gtk/empathy-contact-menu.c:259
msgid "Send file"
msgstr "Siųsti failą"
-#: ../libempathy-gtk/empathy-contact-menu.c:250
+#: ../libempathy-gtk/empathy-contact-menu.c:287
msgid "Infor_mation"
msgstr "Infor_macija"
-#: ../libempathy-gtk/empathy-contact-menu.c:277
-#: ../src/empathy-chat-window.glade.h:14 ../src/empathy-main-window.glade.h:11
+#: ../libempathy-gtk/empathy-contact-menu.c:314
+#: ../src/empathy-main-window.ui.h:11
msgid "_Edit"
-msgstr "_Keisti"
+msgstr "_Taisyti"
-#: ../libempathy-gtk/empathy-contact-menu.c:336
+#: ../libempathy-gtk/empathy-contact-menu.c:372
msgid "Inviting to this room"
msgstr "Kviečiamas į šį kambarį"
-#: ../libempathy-gtk/empathy-contact-menu.c:369
+#: ../libempathy-gtk/empathy-contact-menu.c:403
msgid "_Invite to chatroom"
msgstr "_Pakviesti į pokalbių kambarį"
-#: ../libempathy-gtk/empathy-contact-selector.c:111
+#: ../libempathy-gtk/empathy-contact-selector.c:129
msgid "Select a contact"
-msgstr "Išrinkti bičiulį"
+msgstr "Pasirinkti adresatą"
-#: ../libempathy-gtk/empathy-contact-widget.c:358
+#: ../libempathy-gtk/empathy-contact-widget.c:440
msgid "Save Avatar"
-msgstr "Išsaugoti paveikslėlį"
+msgstr "Išsaugoti pseudoportretą"
-#: ../libempathy-gtk/empathy-contact-widget.c:414
+#: ../libempathy-gtk/empathy-contact-widget.c:496
msgid "Unable to save avatar"
-msgstr "Nepavyko išsaugoti paveikslėlio"
+msgstr "Nepavyko išsaugoti pseudoportreto"
-#: ../libempathy-gtk/empathy-contact-widget.c:895
+#: ../libempathy-gtk/empathy-contact-widget.c:979
msgid "Select"
-msgstr "Rinktis"
+msgstr "Pasirinkti"
-#: ../libempathy-gtk/empathy-contact-widget.c:904
-#: ../src/empathy-main-window.c:991
+#: ../libempathy-gtk/empathy-contact-widget.c:988
+#: ../src/empathy-main-window.c:906
msgid "Group"
msgstr "Grupė"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:1
-msgid "<b>Client Information</b>"
-msgstr "<b>Kliento info</b>"
+#: ../libempathy-gtk/empathy-contact-widget.c:1239
+msgid "Country ISO Code:"
+msgstr "Šalies ISO kodas:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1241
+msgid "Country:"
+msgstr "Šalis:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1243
+msgid "State:"
+msgstr "Būsena:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1245
+msgid "City:"
+msgstr "Miestas:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1247
+msgid "Area:"
+msgstr "Sritis:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1249
+msgid "Postal Code:"
+msgstr "Pašto kodas:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1251
+msgid "Street:"
+msgstr "Gatvė:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:2
-msgid "<b>Contact Details</b>"
-msgstr "<b>Išsami info</b>"
+#: ../libempathy-gtk/empathy-contact-widget.c:1253
+msgid "Building:"
+msgstr "Pastatas:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:3
-msgid "<b>Contact</b>"
-msgstr "<b>Bičiulis</b>"
+#: ../libempathy-gtk/empathy-contact-widget.c:1255
+msgid "Floor:"
+msgstr "Aukštas:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:4
-msgid "<b>Groups</b>"
-msgstr "<b>Grupės</b>"
+#: ../libempathy-gtk/empathy-contact-widget.c:1257
+msgid "Room:"
+msgstr "Kambarys:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1259
+msgid "Text:"
+msgstr "Tekstas:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1261
+msgid "Description:"
+msgstr "Aprašymas:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1263
+msgid "URI:"
+msgstr "URI:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1265
+msgid "Accuracy Level:"
+msgstr "Tikslumo lygis:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1267
+msgid "Error:"
+msgstr "Paklaida:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1269
+msgid "Vertical Error (meters):"
+msgstr "Vertikali paklaida (metrais):"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1271
+msgid "Horizontal Error (meters):"
+msgstr "Horizontali paklaida (metrais):"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1273
+msgid "Speed:"
+msgstr "Greitis:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1275
+msgid "Bearing:"
+msgstr "Azimutas:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1277
+msgid "Climb Speed:"
+msgstr "Kilimo greitis:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1279
+msgid "Last Updated on:"
+msgstr "Paskutinįkart atnaujinta:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1281
+msgid "Longitude:"
+msgstr "Ilguma:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1283
+msgid "Latitude:"
+msgstr "Platuma:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:5
-#: ../libempathy-gtk/empathy-new-message-dialog.glade.h:1
-#: ../src/empathy-chatrooms-window.glade.h:1
-#: ../src/empathy-new-chatroom-dialog.glade.h:1
+#: ../libempathy-gtk/empathy-contact-widget.c:1285
+msgid "Altitude:"
+msgstr "Altitudė:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1332
+msgid "<b>Location</b>"
+msgstr "<b>Vietovė</b>"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1345
+msgid "<b>Location</b>, "
+msgstr "<b>Vietovė</b>, "
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1395
+msgid "%B %e, %Y at %R UTC"
+msgstr "%Y %B %e, %R UTC"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:1
+msgid "<b>Location</b> at (date)\t"
+msgstr "<b>Vietovė</b> (data)\t"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:2
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:1
+#: ../src/empathy-chatrooms-window.ui.h:1
+#: ../src/empathy-new-chatroom-dialog.ui.h:1
msgid "Account:"
msgstr "Paskyra:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:6
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:3
msgid "Alias:"
-msgstr "Alternatyvus vardas:"
+msgstr "Alternatyvusis vardas:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:7
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:4
msgid "Birthday:"
msgstr "Gimtadienis:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:8
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:5
+msgid "Client Information"
+msgstr "Kliento informacija"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:6
msgid "Client:"
msgstr "Klientas:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:9
-msgid "Contact information"
-msgstr "Bičiulio info"
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:7
+#: ../src/empathy-main-window.c:889
+msgid "Contact"
+msgstr "Adresatas"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:8
+msgid "Contact Details"
+msgstr "Adresato informacija"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:10
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:9
msgid "Email:"
msgstr "El. paštas:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:11
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:10
msgid "Fullname:"
-msgstr "Pilnas vardas:"
+msgstr "Visas vardas:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:11
+msgid "Groups"
+msgstr "Grupės"
#. Identifier to connect to Instant Messaging network
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:13
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:13
msgid "Identifier:"
msgstr "Identifikatorius:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:14
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:14
msgid "Information requested..."
-msgstr "Informacija užklausta..."
+msgstr "Informacijos užklausta..."
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:15
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:15
msgid "OS:"
msgstr "OS:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:16
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:16
msgid ""
"Select the groups you want this contact to appear in. Note that you can "
"select more than one group or no groups."
msgstr ""
-"Pasirinkite grupes, į kurias norite įtraukti šį bičiulį. Galite pasirinkti "
-"daugiau nei vieną grupę arba nei vienos grupės."
+"Pasirinkite grupes, į kurias norite įtraukti šį adresatą. Galite pasirinkti "
+"daugiau nei vieną grupę arba nepasirinkti nei vienos grupės."
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:17
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:17
msgid "Version:"
msgstr "Versija:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:18
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:18
msgid "Web site:"
-msgstr "Tinklapis:"
+msgstr "Tinklalapis:"
-#: ../libempathy-gtk/empathy-contact-widget.glade.h:19
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:19
msgid "_Add Group"
-msgstr "Pridėti grupę"
+msgstr "_Pridėti grupę"
-#: ../libempathy-gtk/empathy-irc-network-dialog.c:284
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:283
msgid "new server"
-msgstr "serveris"
+msgstr "naujas serveris"
-#: ../libempathy-gtk/empathy-irc-network-dialog.c:513
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:510
msgid "Server"
msgstr "Serveris:"
-#: ../libempathy-gtk/empathy-irc-network-dialog.c:528
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:525
msgid "Port"
msgstr "Prievadas:"
-#: ../libempathy-gtk/empathy-irc-network-dialog.c:541
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:538
msgid "SSL"
msgstr "SSL"
-#: ../libempathy-gtk/empathy-log-window.c:498
-#: ../src/empathy-import-dialog.c:277
+#: ../libempathy-gtk/empathy-log-window.c:494
+#: ../src/empathy-import-dialog.c:281
msgid "Account"
msgstr "Paskyra"
-#: ../libempathy-gtk/empathy-log-window.c:515
+#: ../libempathy-gtk/empathy-log-window.c:511
msgid "Date"
msgstr "Data"
-#. Tab Label
-#: ../libempathy-gtk/empathy-log-window.glade.h:2
+#: ../libempathy-gtk/empathy-log-window.ui.h:1
msgid "Conversations"
msgstr "Pokalbiai"
-#: ../libempathy-gtk/empathy-log-window.glade.h:3
+#: ../libempathy-gtk/empathy-log-window.ui.h:2
msgid "Previous Conversations"
msgstr "Ankstesni pokalbiai"
-#. Tab Label
-#: ../libempathy-gtk/empathy-log-window.glade.h:5
+#: ../libempathy-gtk/empathy-log-window.ui.h:3
msgid "Search"
msgstr "Ieškoti"
-#. Searching *for* something
-#: ../libempathy-gtk/empathy-log-window.glade.h:7
+#: ../libempathy-gtk/empathy-log-window.ui.h:4
msgid "_For:"
-msgstr "Kam:"
+msgstr "_Kam:"
-#: ../libempathy-gtk/empathy-new-message-dialog.glade.h:2
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:2
msgid "C_all"
-msgstr "Sk_ambinti"
+msgstr "_Skambutis"
-#: ../libempathy-gtk/empathy-new-message-dialog.glade.h:3
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:3
msgid "C_hat"
-msgstr "Pokalbis"
+msgstr "_Pokalbis"
-#: ../libempathy-gtk/empathy-new-message-dialog.glade.h:4
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:4
msgid "Contact ID:"
-msgstr "Bičiulio ID:"
+msgstr "Adresato ID:"
-#: ../libempathy-gtk/empathy-new-message-dialog.glade.h:5
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:5
msgid "New Conversation"
-msgstr "Pokalbis"
+msgstr "Naujas pokalbis"
+
+#. COL_STATE_ICON_NAME
+#. COL_STATE
+#. COL_STATUS_TEXT
+#. COL_DISPLAY_MARKUP
+#. COL_STATUS_CUSTOMISABLE
+#. COL_TYPE
+#: ../libempathy-gtk/empathy-presence-chooser.c:172
+msgid "Custom Message..."
+msgstr "Pasirinktinė žinutė..."
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:227
+msgid "Edit Custom Messages..."
+msgstr "Taisyti pasirinktines žinutes..."
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:326
+msgid "Click to remove this status as a favorite"
+msgstr "Spustelėkite, jei norite pašalinti šią būseną iš mėgiamų"
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:335
+msgid "Click to make this status a favorite"
+msgstr "Spustelėkite, jei norite padaryti šią būsena mėgiama"
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:369
+msgid "Set status"
+msgstr "Nustatyti būseną"
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:782
+msgid "Set your presence and current status"
+msgstr "Nurodykite savo buvimą ir dabartinę būseną"
#. Custom messages
-#: ../libempathy-gtk/empathy-presence-chooser.c:685
+#: ../libempathy-gtk/empathy-presence-chooser.c:1017
msgid "Custom messages..."
-msgstr "Kita..."
+msgstr "Pasirinktinės žinutės..."
+
+#: ../libempathy-gtk/empathy-sound.c:51
+msgid "Received an instant message"
+msgstr "Gauta žinutė"
-#: ../libempathy-gtk/empathy-presence-chooser.glade.h:1
-msgid "Custom message"
-msgstr "Kitoks pranešimas"
+#: ../libempathy-gtk/empathy-sound.c:53
+msgid "Sent an instant message"
+msgstr "Išsiųsta žinutė"
-#: ../libempathy-gtk/empathy-presence-chooser.glade.h:2
-msgid "Message:"
-msgstr "Pranešimas:"
+#: ../libempathy-gtk/empathy-sound.c:55
+msgid "Incoming chat request"
+msgstr "Gautas kvietimas pokalbiui"
-#: ../libempathy-gtk/empathy-presence-chooser.glade.h:3
-msgid "Save message"
-msgstr "Išsaugoti"
+#: ../libempathy-gtk/empathy-sound.c:57
+msgid "Contact connected"
+msgstr "Adresatas prisijungęs"
-#: ../libempathy-gtk/empathy-presence-chooser.glade.h:4
-msgid "Status:"
-msgstr "Būsena:"
+#: ../libempathy-gtk/empathy-sound.c:59
+msgid "Contact disconnected"
+msgstr "Adresatas atsijungęs"
-#: ../libempathy-gtk/empathy-spell-dialog.c:88
-msgid "Word"
-msgstr "Žodis"
+#: ../libempathy-gtk/empathy-sound.c:61
+msgid "Connected to server"
+msgstr "Prisijungėte prie serverio"
-#: ../libempathy-gtk/empathy-spell-dialog.c:265
-msgid "Suggestions for the word"
-msgstr "Žodžio pasiūlymas"
+#: ../libempathy-gtk/empathy-sound.c:63
+msgid "Disconnected from server"
+msgstr "Atsijungėte nuo serverio"
-#: ../libempathy-gtk/empathy-spell-dialog.glade.h:1
-msgid "Spell Checker"
-msgstr "Rašybos tikrinimas"
+#: ../libempathy-gtk/empathy-sound.c:65
+msgid "Incoming voice call"
+msgstr "Gaunamas garsinis skambutis"
+
+#: ../libempathy-gtk/empathy-sound.c:67
+msgid "Outgoing voice call"
+msgstr "Atliekamas garsinis skambutis"
+
+#: ../libempathy-gtk/empathy-sound.c:69
+msgid "Voice call ended"
+msgstr "Baigtas garsinis skambutis"
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.c:362
+msgid "Enter Custom Message"
+msgstr "Įveskite pasirinktinę žinutę"
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.c:521
+msgid "Edit Custom Messages"
+msgstr "Taisykite pasirinktinę žinutę"
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:1
+msgid "Add _New Preset"
+msgstr "Pridėti _naują žinutę"
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:2
+msgid "Saved Presets"
+msgstr "Išsaugoti žinutes"
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:3
+msgid "gtk-add"
+msgstr ""
-#: ../libempathy-gtk/empathy-spell-dialog.glade.h:2
-msgid "Suggestions for the word:"
-msgstr "Žodžio pasiūlymai:"
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:4
+msgid "gtk-remove"
+msgstr ""
-#: ../libempathy-gtk/empathy-theme-manager.c:60
+#: ../libempathy-gtk/empathy-theme-manager.c:66
msgid "Classic"
msgstr "Klasikinė"
-#: ../libempathy-gtk/empathy-theme-manager.c:61
+#: ../libempathy-gtk/empathy-theme-manager.c:67
msgid "Simple"
msgstr "Paprasta"
-#: ../libempathy-gtk/empathy-theme-manager.c:62
+#: ../libempathy-gtk/empathy-theme-manager.c:68
msgid "Clean"
msgstr "Tvarkinga"
-#: ../libempathy-gtk/empathy-theme-manager.c:63
+#: ../libempathy-gtk/empathy-theme-manager.c:69
msgid "Blue"
msgstr "Mėlyna"
-#: ../libempathy-gtk/empathy-ui-utils.c:1406
+#: ../libempathy-gtk/empathy-theme-manager.c:71
+msgid "Adium"
+msgstr "Adium"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1377
msgid "Unable to open URI"
msgstr "Nepavyko atverti URI"
-#: ../libempathy-gtk/empathy-ui-utils.c:1551
+#: ../libempathy-gtk/empathy-ui-utils.c:1467
msgid "Select a file"
msgstr "Pasirinkite failą"
-#: ../libempathy-gtk/empathy-ui-utils.c:1587
-msgid "Received an instant message"
-msgstr "Gauta žinutė"
-
-#: ../libempathy-gtk/empathy-ui-utils.c:1589
-msgid "Sent an instant message"
-msgstr "Išsiųsta žinutė"
-
-#: ../libempathy-gtk/empathy-ui-utils.c:1591
-msgid "Incoming chat request"
-msgstr "Kvietimas pokalbiui"
-
-#: ../libempathy-gtk/empathy-ui-utils.c:1593
-msgid "Contact connected"
-msgstr "Bičiulis prisijungęs"
-
-#: ../libempathy-gtk/empathy-ui-utils.c:1595
-msgid "Contact disconnected"
-msgstr "Bičiulis atsijungęs"
-
-#: ../libempathy-gtk/empathy-ui-utils.c:1597
-msgid "Connected to server"
-msgstr "Prisijungęs prie serverio"
-
-#: ../libempathy-gtk/empathy-ui-utils.c:1599
-msgid "Disconnected from server"
-msgstr "Atsijungęs nuo serverio"
-
-#: ../libempathy-gtk/empathy-ui-utils.c:1601
-msgid "Incoming voice call"
-msgstr "Skambutis balso ryšiui"
-
-#: ../libempathy-gtk/empathy-ui-utils.c:1603
-msgid "Outgoing voice call"
-msgstr "Skambinama balso ryšiui"
-
-#: ../libempathy-gtk/empathy-ui-utils.c:1605
-msgid "Voice call ended"
-msgstr "Balso ryšys baigtas"
+#: ../libempathy-gtk/empathy-ui-utils.c:1525
+msgid "Select a destination"
+msgstr "Pasirinkite paskirtį"
#: ../libempathy-gtk/totem-subtitle-encoding.c:158
msgid "Current Locale"
@@ -1120,7 +1409,7 @@ msgstr "Graikų"
#: ../libempathy-gtk/totem-subtitle-encoding.c:242
msgid "Gujarati"
-msgstr "Gujarati"
+msgstr "Gudžaratų"
#: ../libempathy-gtk/totem-subtitle-encoding.c:245
msgid "Gurmukhi"
@@ -1160,7 +1449,7 @@ msgstr "Korėjiečių"
#: ../libempathy-gtk/totem-subtitle-encoding.c:282
msgid "Nordic"
-msgstr "Šiaurės šalių"
+msgstr "Šiaurės Europos"
#: ../libempathy-gtk/totem-subtitle-encoding.c:285
msgid "Persian"
@@ -1169,15 +1458,15 @@ msgstr "Persų"
#: ../libempathy-gtk/totem-subtitle-encoding.c:288
#: ../libempathy-gtk/totem-subtitle-encoding.c:290
msgid "Romanian"
-msgstr "Lotynų"
+msgstr "Rumunų"
#: ../libempathy-gtk/totem-subtitle-encoding.c:293
msgid "South European"
-msgstr "Pietų Europos"
+msgstr "Pietinės Europos"
#: ../libempathy-gtk/totem-subtitle-encoding.c:296
msgid "Thai"
-msgstr "Thai"
+msgstr "Tajų"
#: ../libempathy-gtk/totem-subtitle-encoding.c:299
#: ../libempathy-gtk/totem-subtitle-encoding.c:301
@@ -1200,7 +1489,7 @@ msgstr "Unikodas"
#: ../libempathy-gtk/totem-subtitle-encoding.c:325
#: ../libempathy-gtk/totem-subtitle-encoding.c:327
msgid "Western"
-msgstr "Vakarų"
+msgstr "Vakariečių"
#: ../libempathy-gtk/totem-subtitle-encoding.c:330
#: ../libempathy-gtk/totem-subtitle-encoding.c:332
@@ -1214,21 +1503,18 @@ msgstr "Vietnamiečių"
#: ../megaphone/data/GNOME_Megaphone_Applet.schemas.in.h:1
msgid ""
"The contact to display in the applet. Empty means no contact is displayed."
-msgstr ""
-"Kuris bičiulis bus rodomas įskiepyje. Jei nepažymėta, joks nebus rodomas."
+msgstr "Įtaise rodytinas adresatas. Jei tuščia – joks."
#: ../megaphone/data/GNOME_Megaphone_Applet.schemas.in.h:2
msgid "The contact's avatar token. Empty means contact has no avatar."
-msgstr ""
-"Bičiuliui priskirtas paveikslėlis. Jei tuščia, bičiulis rodomas be "
-"paveikslėlio."
+msgstr "Adresato pseudoportretas. Jei tuščia, adresatas yra be pseudoportreto."
#: ../megaphone/data/GNOME_Megaphone_Applet.server.in.in.h:1
msgid "Megaphone"
msgstr "Megafonas"
#: ../megaphone/data/GNOME_Megaphone_Applet.server.in.in.h:2
-#: ../megaphone/src/megaphone-applet.c:417
+#: ../megaphone/src/megaphone-applet.c:527
msgid "Talk!"
msgstr "Kalbėk!"
@@ -1242,44 +1528,44 @@ msgid "_Information"
msgstr "_Informacija"
#: ../megaphone/data/GNOME_Megaphone_Applet.xml.h:3
-#: ../src/empathy-main-window.glade.h:15
+#: ../src/empathy-main-window.ui.h:18
msgid "_Preferences"
msgstr "_Nustatymai"
-#: ../megaphone/src/megaphone-applet.c:255
+#: ../megaphone/src/megaphone-applet.c:168
msgid "Please configure a contact."
-msgstr "Sutvarkykite bičiulio sąranką."
+msgstr "Sukonfigūruokite adresatą."
-#: ../megaphone/src/megaphone-applet.c:348
+#: ../megaphone/src/megaphone-applet.c:258
msgid "Select contact..."
-msgstr "Pasirinkti bičiulį..."
+msgstr "Pasirinkti adresatą..."
#: ../nothere/data/GNOME_NotHere_Applet.server.in.in.h:1
msgid "Presence"
-msgstr "Dalyvavimas"
+msgstr "Buvimas"
#: ../nothere/data/GNOME_NotHere_Applet.server.in.in.h:2
#: ../nothere/src/nothere-applet.c:106
msgid "Set your own presence"
-msgstr "Nustatyti savo dalyvavimą"
+msgstr "Nustatyti savo buvimą"
-#: ../src/empathy.c:428
+#: ../src/empathy.c:504
msgid "Don't connect on startup"
msgstr "Paleidimo metu neprisijungti"
-#: ../src/empathy.c:432
+#: ../src/empathy.c:508
msgid "Don't show the contact list on startup"
-msgstr "Pradedant darbą nerodyti bičiulių sąrašo"
+msgstr "Paleidus nerodyti adresatų sąrašo"
-#: ../src/empathy.c:436
+#: ../src/empathy.c:512
msgid "Show the accounts dialog"
-msgstr "Rodyti ir taisyti paskyras"
+msgstr "Rodyti paskyrų dialogą"
-#: ../src/empathy.c:448
+#: ../src/empathy.c:524
msgid "- Empathy Instant Messenger"
-msgstr "- Greitų žinučių programa „Empathy“"
+msgstr "– Pokalbių programa Empathy"
-#: ../src/empathy-about-dialog.c:84
+#: ../src/empathy-about-dialog.c:83
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 "
@@ -1291,7 +1577,7 @@ msgstr ""
"programinės įrangos fondo; 2-osios arba (Jūsų pasirinkimu) bet kurios "
"vėlesnės licencijos versijos sąlygomis."
-#: ../src/empathy-about-dialog.c:88
+#: ../src/empathy-about-dialog.c:87
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 "
@@ -1302,7 +1588,7 @@ msgstr ""
"netgi be numanomų PARDAVIMO arba TINKAMUMO TAM TIKRAM TIKSLUI garantijų. Dėl "
"išsamesnės informacijos žiūrėkite GNU bendrąją viešąją licenciją."
-#: ../src/empathy-about-dialog.c:92
+#: ../src/empathy-about-dialog.c:91
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 "
@@ -1312,42 +1598,41 @@ msgstr ""
"Empathy; jeigu negavote, rašykite Laisvosios programinės įrangos fondui, 51 "
"Franklin Street, Fifth Floor, Boston, MA 02110-130159 USA"
-#: ../src/empathy-about-dialog.c:120
+#: ../src/empathy-about-dialog.c:119
msgid "An Instant Messaging client for GNOME"
-msgstr "Greitų žinučių klientas skirtas GNOME"
+msgstr "Sparčių žinučių programa, skirta GNOME aplinkai"
-#: ../src/empathy-about-dialog.c:126
+#: ../src/empathy-about-dialog.c:125
msgid "translator-credits"
msgstr ""
"Žygimantas Beručka\n"
"Justina Klingaitė\n"
"Saulius Šopaga"
-#: ../src/empathy-accounts-dialog.c:391
+#: ../src/empathy-accounts-dialog.c:393
msgid "Enabled"
-msgstr "Įjungtas"
+msgstr "Įjungta"
-#: ../src/empathy-accounts-dialog.c:401
-#: ../src/empathy-accounts-dialog.glade.h:4
+#: ../src/empathy-accounts-dialog.c:403 ../src/empathy-accounts-dialog.ui.h:1
msgid "Accounts"
msgstr "Paskyros"
#. To translator: %s is the protocol name
-#: ../src/empathy-accounts-dialog.c:833
+#: ../src/empathy-accounts-dialog.c:838
#, c-format
msgid "New %s account"
msgstr "Nauja %s paskyra"
-#: ../src/empathy-accounts-dialog.c:943
+#: ../src/empathy-accounts-dialog.c:951
#, c-format
msgid ""
"You are about to remove your %s account!\n"
"Are you sure you want to proceed?"
msgstr ""
-"Ištrinsite paskyrą %s!\n"
+"Ištrinsite savo paskyrą %s!\n"
"Ar tikrai norite tęsti?"
-#: ../src/empathy-accounts-dialog.c:949
+#: ../src/empathy-accounts-dialog.c:957
msgid ""
"Any associated conversations and chat rooms will NOT be removed if you "
"decide to proceed.\n"
@@ -1355,309 +1640,231 @@ msgid ""
"Should you decide to add the account back at a later time, they will still "
"be available."
msgstr ""
-"Jei nuspręsite tęsti, susiję pokalbiai bei pokalbių kambariai nebus "
-"ištrinti.\n"
+"Jei nuspręsite tęsti, susiję pokalbiai ir pokalbių kambariai NEBUS ištrinti.\n"
"\n"
-"Jei vėliau vėl pridėsite paskyrą, jie vis dar bus prieinami."
-
-#: ../src/empathy-accounts-dialog.glade.h:1
-msgid "<b>New Account</b>"
-msgstr "<b>Paskyra</b>"
-
-#: ../src/empathy-accounts-dialog.glade.h:2
-msgid "<b>No protocol installed</b>"
-msgstr "<b>Neįdiegtas joks protokolas</b>"
+"Jei vėliau vėl pridėsite šią paskyrą, jie tebebus prieinami."
-#: ../src/empathy-accounts-dialog.glade.h:3
-msgid "<b>Settings</b>"
-msgstr "<b>Nustatymai</b>"
+#: ../src/empathy-accounts-dialog.ui.h:2
+msgid "Add Account"
+msgstr "Pridėti paskyrą"
-#: ../src/empathy-accounts-dialog.glade.h:5
+#: ../src/empathy-accounts-dialog.ui.h:3
msgid "Cr_eate"
-msgstr "Sukurti"
+msgstr "Su_kurti"
-#: ../src/empathy-accounts-dialog.glade.h:6
-msgid "I already have an account I want to use"
-msgstr "Jau turiu paskyrą, kuria norėčiau naudotis"
+#: ../src/empathy-accounts-dialog.ui.h:4
+msgid "Gmail"
+msgstr "Gmail"
-#: ../src/empathy-accounts-dialog.glade.h:7
+#: ../src/empathy-accounts-dialog.ui.h:5
msgid "Import Accounts..."
-msgstr "Įkelti paskyras..."
+msgstr "Įmportuoti paskyras..."
-#: ../src/empathy-accounts-dialog.glade.h:8
+#: ../src/empathy-accounts-dialog.ui.h:6
+msgid "No protocol installed"
+msgstr "Neįdiegta jokių protokolų"
+
+#: ../src/empathy-accounts-dialog.ui.h:7
+msgid "Settings"
+msgstr "Parametrai"
+
+#: ../src/empathy-accounts-dialog.ui.h:8
msgid ""
"To add a new account, you first have to install a backend for each protocol "
"you want to use."
msgstr ""
-"Norint sukurti naują paskyrą, pirmiau reikia įdiegti programinę sąsają "
-"kiekvienam pageidaujamam protokolui."
+"Norint sukurti naują paskyrą, pirmiau reikia įdiegti kiekvieno pagaudaujamo "
+"naudoti protokolo posistemę."
-#: ../src/empathy-accounts-dialog.glade.h:9
+#: ../src/empathy-accounts-dialog.ui.h:9
msgid "Type:"
msgstr "Tipas:"
-#: ../src/empathy-call-window.c:334
+#: ../src/empathy-accounts-dialog.ui.h:10
+msgid "_Add..."
+msgstr "_Pridėti..."
+
+#: ../src/empathy-accounts-dialog.ui.h:11
+msgid "_Create a new account"
+msgstr "_Sukurti naują paskyrą"
+
+#: ../src/empathy-accounts-dialog.ui.h:12
+msgid "_Reuse an existing account"
+msgstr "_Panaudoti esančią paskyrą"
+
+#: ../src/empathy-call-window.c:420
msgid "Contrast"
msgstr "Kontrastas"
-#: ../src/empathy-call-window.c:337
+#: ../src/empathy-call-window.c:423
msgid "Brightness"
msgstr "Skaistis"
-#: ../src/empathy-call-window.c:340
+#: ../src/empathy-call-window.c:426
msgid "Gamma"
msgstr "Gama"
-#: ../src/empathy-call-window.c:429
+#: ../src/empathy-call-window.c:531
msgid "Volume"
msgstr "Garsumas"
-#: ../src/empathy-call-window.c:520
+#: ../src/empathy-call-window.c:662
+msgid "Connecting..."
+msgstr "Jungiamasi..."
+
+#: ../src/empathy-call-window.c:746
msgid "_Sidebar"
-msgstr "Parankinė"
+msgstr "Š_oninė juosta"
-#: ../src/empathy-call-window.c:538
+#: ../src/empathy-call-window.c:765
msgid "Dialpad"
msgstr "Tel. klaviatūra"
-#: ../src/empathy-call-window.c:544
+#: ../src/empathy-call-window.c:771
msgid "Audio input"
msgstr "Garso įvestis"
-#: ../src/empathy-call-window.c:548
+#: ../src/empathy-call-window.c:775
msgid "Video input"
msgstr "Vaizdo įvestis"
-#: ../src/empathy-call-window.c:561
-msgid "Connecting..."
-msgstr "Jungiama..."
+#: ../src/empathy-call-window.c:836
+#, c-format
+msgid "Call with %s"
+msgstr "Skambinti su %s"
+
+#: ../src/empathy-call-window.c:905
+msgid "Call"
+msgstr "Skambutis"
#. Translators: number of minutes:seconds the caller has been connected
-#: ../src/empathy-call-window.c:792
+#: ../src/empathy-call-window.c:1336
#, c-format
-msgid "Connected -- %d:%02dm"
-msgstr "Prisijungęs – %d:%02dm"
+msgid "Connected — %d:%02dm"
+msgstr "Prisijunta – %d:%02dm"
-#: ../src/empathy-call-window.glade.h:1
+#: ../src/empathy-call-window.ui.h:1
msgid "Hang up"
-msgstr "Atsijungti"
+msgstr "Padėti ragelį"
+
+#: ../src/empathy-call-window.ui.h:2
+msgid "Redial"
+msgstr "Rinkti iš naujo"
-#: ../src/empathy-call-window.glade.h:2
+#: ../src/empathy-call-window.ui.h:3
msgid "Send Audio"
-msgstr "Siųsti audio"
+msgstr "Siųsti garsą"
-#: ../src/empathy-call-window.glade.h:3
+#: ../src/empathy-call-window.ui.h:4
msgid "Send video"
-msgstr "Siųsti video"
+msgstr "Siųsti vaizdą"
-#: ../src/empathy-call-window.glade.h:4
+#: ../src/empathy-call-window.ui.h:5
msgid "Video preview"
-msgstr "Peržiūra"
+msgstr "Vaizdo peržiūra"
-#: ../src/empathy-call-window.glade.h:6
+#: ../src/empathy-call-window.ui.h:6
+msgid "_Call"
+msgstr "_Skambutis"
+
+#: ../src/empathy-call-window.ui.h:7 ../src/empathy-main-window.ui.h:21
msgid "_View"
msgstr "_Rodymas"
-#: ../src/empathy-chat-window.c:313
+#: ../src/empathy-chat-window.c:344
#, c-format
msgid "Conversations (%d)"
msgstr "Pokalbiai (%d)"
-#: ../src/empathy-chat-window.c:418
-msgid "Topic:"
-msgstr "Tema:"
-
-#: ../src/empathy-chat-window.c:423
+#: ../src/empathy-chat-window.c:476
msgid "Typing a message."
msgstr "Rašoma žinutė."
-#: ../src/empathy-chat-window.c:892 ../src/empathy-event-manager.c:429
-#, c-format
-msgid "New message from %s"
-msgstr "Nauja žinutė iš %s"
-
-#: ../src/empathy-chat-window.glade.h:1
-msgid "C_lear"
-msgstr "Išva_lyti"
-
-#: ../src/empathy-chat-window.glade.h:2
-msgid "Chat"
-msgstr "Pokalbis"
-
-#: ../src/empathy-chat-window.glade.h:3
-msgid "Insert _Smiley"
-msgstr "Įterpti _šypsniuką"
-
-#: ../src/empathy-chat-window.glade.h:4
-msgid "Invitation _message:"
-msgstr "Pakvietimo ži_nutė:"
-
-#: ../src/empathy-chat-window.glade.h:5
-msgid "Invite"
-msgstr "Pakviesti"
-
-#: ../src/empathy-chat-window.glade.h:6
-msgid "Move Tab _Left"
-msgstr "Perkelti kortelę į _kairę"
-
-#: ../src/empathy-chat-window.glade.h:7
-msgid "Move Tab _Right"
-msgstr "Perkelti kortelę į _dešinę"
-
-#: ../src/empathy-chat-window.glade.h:8
-msgid "Select who would you like to invite:"
-msgstr "Pasirinkite ką norite pakviesti:"
-
-#: ../src/empathy-chat-window.glade.h:9
-msgid "You have been invited to join a chat conference."
-msgstr "Esate kviečiami prisijungti prie pokalbių konferencijos."
-
-#: ../src/empathy-chat-window.glade.h:10
-msgid "_Contact"
-msgstr "_Bičiulis"
-
-#: ../src/empathy-chat-window.glade.h:11 ../src/empathy-main-window.glade.h:10
-msgid "_Contents"
-msgstr "_Turinys"
-
-#: ../src/empathy-chat-window.glade.h:12
-msgid "_Conversation"
-msgstr "_Pokalbis"
-
-#: ../src/empathy-chat-window.glade.h:13
-msgid "_Detach Tab"
-msgstr "Atkabinti kortelę"
-
-#: ../src/empathy-chat-window.glade.h:15
-msgid "_Favorite Chatroom"
-msgstr "Mėgstamiausias kambarys"
-
-#: ../src/empathy-chat-window.glade.h:16 ../src/empathy-main-window.glade.h:12
-msgid "_Help"
-msgstr "Žinynas"
-
-#: ../src/empathy-chat-window.glade.h:17
-msgid "_Next Tab"
-msgstr "_Kita kortelė"
-
-#: ../src/empathy-chat-window.glade.h:18
-msgid "_Previous Tab"
-msgstr "_Ankstesnė kortelė"
-
-#: ../src/empathy-chat-window.glade.h:19
-msgid "_Tabs"
-msgstr "K_ortelės"
-
-#: ../src/empathy-chatrooms-window.c:262
+#: ../src/empathy-chatrooms-window.c:258
msgid "Name"
msgstr "Vardas"
-#: ../src/empathy-chatrooms-window.c:280
+#: ../src/empathy-chatrooms-window.c:276
msgid "Room"
msgstr "Kambarys"
-#: ../src/empathy-chatrooms-window.c:289
+#: ../src/empathy-chatrooms-window.c:285
msgid "Auto-Connect"
msgstr "Automatiškai prisijungti"
-#: ../src/empathy-chatrooms-window.glade.h:2
-msgid "Edit Favorite Room"
-msgstr "Taisyti mėgiamą kambarį"
-
-#: ../src/empathy-chatrooms-window.glade.h:3
-msgid "Join room on start_up"
-msgstr "Prisijungti prie pokalbių kambario paleidimo metu"
-
-#: ../src/empathy-chatrooms-window.glade.h:4
-msgid "Join this chat room when Empathy starts and you are connected"
-msgstr "Įeiti į šį pokalbių kambarį pradedant darbą ir prisijungus."
-
-#: ../src/empathy-chatrooms-window.glade.h:5
+#: ../src/empathy-chatrooms-window.ui.h:2
msgid "Manage Favorite Rooms"
msgstr "Tvarkyti mėgiamus kambarius"
-#: ../src/empathy-chatrooms-window.glade.h:6
-msgid "N_ame:"
-msgstr "V_ardas:"
-
-#: ../src/empathy-chatrooms-window.glade.h:7
-msgid "S_erver:"
-msgstr "S_erveris:"
-
-#: ../src/empathy-chatrooms-window.glade.h:9
-#: ../src/empathy-new-chatroom-dialog.glade.h:9
-msgid "_Room:"
-msgstr "Kambarys:"
-
-#: ../src/empathy-event-manager.c:377
+#: ../src/empathy-event-manager.c:321
msgid "Incoming call"
msgstr "Skambutis jums"
-#: ../src/empathy-event-manager.c:380
+#: ../src/empathy-event-manager.c:324
#, c-format
msgid "%s is calling you, do you want to answer?"
msgstr "%s jums skambina, ar atsiliepsite?"
-#: ../src/empathy-event-manager.c:387
+#: ../src/empathy-event-manager.c:331
msgid "_Reject"
-msgstr "Atmesti"
+msgstr "A_tmesti"
-#: ../src/empathy-event-manager.c:393
+#: ../src/empathy-event-manager.c:337
msgid "_Answer"
-msgstr "_Atsakyti"
+msgstr "_Atsiliepti"
-#: ../src/empathy-event-manager.c:516
+#: ../src/empathy-event-manager.c:452
#, c-format
msgid "Incoming call from %s"
msgstr "Skambutis jums nuo %s"
-#: ../src/empathy-event-manager.c:564
+#: ../src/empathy-event-manager.c:496
#, c-format
msgid "%s is offering you an invitation"
msgstr "%s siūlo jums kvietimą"
-#: ../src/empathy-event-manager.c:570
+#: ../src/empathy-event-manager.c:502
msgid "An external application will be started to handle it."
msgstr "Jam priimti bus paleista išorinė programa."
-#: ../src/empathy-event-manager.c:575
+#: ../src/empathy-event-manager.c:507
msgid "You don't have the needed external application to handle it."
-msgstr "Nėra įdiegta reikiama programa."
+msgstr "Nėra įdiegta tam reikalinga programa."
-#: ../src/empathy-event-manager.c:698
+#: ../src/empathy-event-manager.c:634
msgid "Room invitation"
-msgstr "Pakvietimas į pokalbių kambarį"
+msgstr "Kvietimas į pokalbių kambarį"
-#: ../src/empathy-event-manager.c:701
+#: ../src/empathy-event-manager.c:637
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s kviečia jus prisijungti prie %s"
-#. Decline button
-#: ../src/empathy-event-manager.c:709 ../src/empathy-ft-manager.c:1023
+#: ../src/empathy-event-manager.c:645
msgid "_Decline"
msgstr "_Atmesti"
-#: ../src/empathy-event-manager.c:714
+#: ../src/empathy-event-manager.c:650
+#: ../src/empathy-new-chatroom-dialog.ui.h:7
msgid "_Join"
msgstr "_Prisijungti"
-#: ../src/empathy-event-manager.c:744
+#: ../src/empathy-event-manager.c:689
#, c-format
msgid "%s invited you to join %s"
msgstr "%s pakvietė jus prisijungti %s"
-#: ../src/empathy-event-manager.c:867
+#: ../src/empathy-event-manager.c:715
#, c-format
msgid "Incoming file transfer from %s"
msgstr "Failo atsiuntimas iš %s"
-#: ../src/empathy-event-manager.c:961
+#: ../src/empathy-event-manager.c:895
#, c-format
msgid "Subscription requested by %s"
msgstr "Užsisakymo prašymas iš %s"
-#: ../src/empathy-event-manager.c:965
+#: ../src/empathy-event-manager.c:899
#, c-format
msgid ""
"\n"
@@ -1666,583 +1873,649 @@ msgstr ""
"\n"
"Žinutė: %s"
+#. someone is logging off
+#: ../src/empathy-event-manager.c:942
+#, c-format
+msgid "%s is now offline."
+msgstr "%s dabar atsijungęs(-usi)."
+
+#. someone is logging in
+#: ../src/empathy-event-manager.c:958
+#, c-format
+msgid "%s is now online."
+msgstr "%s dabar prisijungęs(-usi)."
+
#. Translators: time left, when it is more than one hour
-#: ../src/empathy-ft-manager.c:114
+#: ../src/empathy-ft-manager.c:101
#, c-format
msgid "%u:%02u.%02u"
msgstr "%u:%02u.%02u"
#. Translators: time left, when is is less than one hour
-#: ../src/empathy-ft-manager.c:117
+#: ../src/empathy-ft-manager.c:104
#, c-format
msgid "%02u.%02u"
msgstr "%02u.%02u"
-#: ../src/empathy-ft-manager.c:166
-msgid "No reason was specified"
-msgstr "Nenustatyta priežastis"
-
-#: ../src/empathy-ft-manager.c:168
-msgid "The change in state was requested"
-msgstr "Būsenos keitimo užklausa"
-
-#: ../src/empathy-ft-manager.c:170
-msgid "You canceled the file transfer"
-msgstr "Atšaukėte failo persiuntimą"
-
-#: ../src/empathy-ft-manager.c:172
-msgid "The other participant canceled the file transfer"
-msgstr "Failo persiuntimą atšaukė kažkas iš dalyvių"
-
-#: ../src/empathy-ft-manager.c:174
-msgid "Error while trying to transfer the file"
-msgstr "Klaida bandant persiųsti failą"
+#: ../src/empathy-ft-manager.c:180
+msgctxt "file transfer percent"
+msgid "Unknown"
+msgstr "Nežinoma"
-#: ../src/empathy-ft-manager.c:176
-msgid "The other participant is unable to transfer the file"
-msgstr "Kažkas iš dalyvių negali persiųsti failo"
+#: ../src/empathy-ft-manager.c:275
+#, c-format
+msgid "%s of %s at %s/s"
+msgstr "%s iš %s %s/s sparta"
-#: ../src/empathy-ft-manager.c:178
-msgid "Unknown reason"
-msgstr "Nenustatyta priežastis"
+#: ../src/empathy-ft-manager.c:276
+#, c-format
+msgid "%s of %s"
+msgstr "%s iš %s"
#. translators: first %s is filename, second %s is the contact name
-#: ../src/empathy-ft-manager.c:226
+#: ../src/empathy-ft-manager.c:307
#, c-format
msgid "Receiving \"%s\" from %s"
-msgstr "Priimama „%s“ nuo %s"
+msgstr "Priimama „%s“ iš %s"
#. translators: first %s is filename, second %s is the contact name
-#: ../src/empathy-ft-manager.c:229
+#: ../src/empathy-ft-manager.c:310
#, c-format
msgid "Sending \"%s\" to %s"
-msgstr "Siunčiama „%s“. Gavėjas %s"
+msgstr "Siunčiama „%s“ adresatui %s"
-#: ../src/empathy-ft-manager.c:239
-msgctxt "file size"
-msgid "Unknown"
-msgstr "Nežinoma"
+#. translators: first %s is filename, second %s
+#. * is the contact name
+#: ../src/empathy-ft-manager.c:340
+#, c-format
+msgid "Error receiving \"%s\" from %s"
+msgstr "Klaida priimant „%s“ iš %s"
+
+#: ../src/empathy-ft-manager.c:343
+msgid "Error receiving a file"
+msgstr "Klaida priimant failą"
-#. translators: first %s is the transferred size, second %s is
-#. * the total file size
-#: ../src/empathy-ft-manager.c:247
+#: ../src/empathy-ft-manager.c:348
#, c-format
-msgid "%s of %s"
-msgstr "%s iš %s"
+msgid "Error sending \"%s\" to %s"
+msgstr "Klaida siunčiant „%s“ adresatui %s"
-#: ../src/empathy-ft-manager.c:254
-msgid "Waiting the other participant's response"
-msgstr "Laukiama kažkurio iš dalyvių atsakymo"
+#: ../src/empathy-ft-manager.c:351
+msgid "Error sending a file"
+msgstr "Klaida siunčiant failą"
-#: ../src/empathy-ft-manager.c:264
+#. translators: first %s is filename, second %s
+#. * is the contact name
+#: ../src/empathy-ft-manager.c:490
#, c-format
msgid "\"%s\" received from %s"
-msgstr "„%s“ priėmė iš %s"
+msgstr "„%s“ gautas iš %s"
-#: ../src/empathy-ft-manager.c:270
+#. translators: first %s is filename, second %s
+#. * is the contact name
+#: ../src/empathy-ft-manager.c:495
#, c-format
msgid "\"%s\" sent to %s"
-msgstr "„%s“ išsiųstas. Gavėjas – %s"
+msgstr "„%s“ išsiųstas gavėjui %s"
-#: ../src/empathy-ft-manager.c:273
+#: ../src/empathy-ft-manager.c:498
msgid "File transfer completed"
-msgstr "Failo persiuntimas baigtas"
+msgstr "Failo siuntimas baigtas"
-#: ../src/empathy-ft-manager.c:282
-#, c-format
-msgid "\"%s\" receiving from %s"
-msgstr "„%s“ priimama iš %s"
+#: ../src/empathy-ft-manager.c:617 ../src/empathy-ft-manager.c:784
+msgid "Waiting for the other participant's response"
+msgstr "Laukiama kito dalyvio atsakymo"
-#: ../src/empathy-ft-manager.c:288
+#: ../src/empathy-ft-manager.c:643 ../src/empathy-ft-manager.c:681
#, c-format
-msgid "\"%s\" sending to %s"
-msgstr "„%s“ siunčiama. Gavėjas – %s"
+msgid "Checking integrity of \"%s\""
+msgstr "Tikrinamas „%s“ vientisumas"
-#: ../src/empathy-ft-manager.c:291
+#: ../src/empathy-ft-manager.c:646 ../src/empathy-ft-manager.c:684
#, c-format
-msgid "File transfer canceled: %s"
-msgstr "Failo persiuntimas atšauktas: %s"
-
-#: ../src/empathy-ft-manager.c:306
-msgctxt "remaining time"
-msgid "Unknown"
-msgstr "Nežinoma"
-
-#: ../src/empathy-ft-manager.c:366
-msgctxt "file transfer percent"
-msgid "Unknown"
-msgstr "Nežinoma"
+msgid "Hashing \"%s\""
+msgstr "Kuriama „%s“ maiša"
-#: ../src/empathy-ft-manager.c:702
+#: ../src/empathy-ft-manager.c:1024
msgid "%"
msgstr "%"
-#: ../src/empathy-ft-manager.c:714
+#: ../src/empathy-ft-manager.c:1036
msgid "File"
msgstr "Failas"
-#: ../src/empathy-ft-manager.c:736
+#: ../src/empathy-ft-manager.c:1058
msgid "Remaining"
msgstr "Liko"
-#: ../src/empathy-ft-manager.c:887
-msgid "Cannot save file to this location"
-msgstr "Čia failo įrašyti negalima"
-
-#: ../src/empathy-ft-manager.c:933
-msgid "Save file as..."
-msgstr "Įrašyti taip..."
-
-#: ../src/empathy-ft-manager.c:1003
-msgid "unknown size"
-msgstr "nežinomas dydis"
-
-#: ../src/empathy-ft-manager.c:1009
-#, c-format
-msgid "%s would like to send you a file"
-msgstr "%s norėtų jums persiųsti failą"
-
-#: ../src/empathy-ft-manager.c:1014
-#, c-format
-msgid "Do you want to accept the file \"%s\" (%s)?"
-msgstr "Ar sutinkate priimti failą „%s“ (%s)?"
-
-#. Accept button
-#: ../src/empathy-ft-manager.c:1032
-msgid "_Accept"
-msgstr "_Priimti"
-
-#: ../src/empathy-ft-manager.glade.h:1
-msgid "File transfers"
-msgstr "Failų persiuntimai"
+#: ../src/empathy-ft-manager.ui.h:1
+msgid "File Transfers"
+msgstr "Failų siuntimai"
-#: ../src/empathy-ft-manager.glade.h:2
+#: ../src/empathy-ft-manager.ui.h:2
msgid "Remove completed, canceled and failed file transfers from the list"
-msgstr ""
-"Pašalinti įvykdytus, atšauktus ir nepavykusius failų persiuntimo aprašus iš "
-"sąrašo"
+msgstr "Pašalinti baigtus, atšauktus ir nepavykusius failų siuntimus iš sąrašo"
#. Translators: this is the header of a treeview column
-#: ../src/empathy-import-dialog.c:255
+#: ../src/empathy-import-dialog.c:259
msgid "Import"
-msgstr "Importas"
+msgstr "Importuoti"
-#: ../src/empathy-import-dialog.c:264
+#: ../src/empathy-import-dialog.c:268
msgid "Protocol"
msgstr "Protokolas"
-#: ../src/empathy-import-dialog.c:290
+#: ../src/empathy-import-dialog.c:294
msgid "Source"
msgstr "Šaltinis"
-#: ../src/empathy-import-dialog.c:378
+#: ../src/empathy-import-dialog.c:388
msgid ""
"No accounts to import could be found. Empathy currently only supports "
"importing accounts from Pidgin."
msgstr ""
-"Nėra tinkamų importui paskyrų. Kol kas palaikomas tik paskyrų importas iš "
-"Pidgin."
+"Nėrasta importuotinų paskyrų. Kol kas Empathy gali importuoti paskyras tik "
+"iš Pidgin."
-#: ../src/empathy-import-dialog.glade.h:1
+#: ../src/empathy-import-dialog.ui.h:1
msgid "Import Accounts"
-msgstr "Paskyrų importas"
+msgstr "Paskyrų importavimas"
+
+#: ../src/empathy-main-window.c:396
+msgid "_Edit account"
+msgstr "_Taisyti paskyrą"
-#: ../src/empathy-main-window.c:391
+#: ../src/empathy-main-window.c:499
msgid "No error specified"
-msgstr "Nenustatyta klaida"
+msgstr "Nenurodyta klaida"
-#: ../src/empathy-main-window.c:394
+#: ../src/empathy-main-window.c:502
msgid "Network error"
msgstr "Tinklo klaida"
-#: ../src/empathy-main-window.c:397
+#: ../src/empathy-main-window.c:505
msgid "Authentication failed"
-msgstr "Atpažinimas nepavyko."
+msgstr "Nepavyko nustatyti tapatybės"
-#: ../src/empathy-main-window.c:400
+#: ../src/empathy-main-window.c:508
msgid "Encryption error"
msgstr "Šifravimo klaida"
-#: ../src/empathy-main-window.c:403
+#: ../src/empathy-main-window.c:511
msgid "Name in use"
-msgstr "Toks vardas jau yra"
+msgstr "Vardas jau naudojamas"
-#: ../src/empathy-main-window.c:406
+#: ../src/empathy-main-window.c:514
msgid "Certificate not provided"
-msgstr "Nepateiktas sertifikatas"
+msgstr "Nepateiktas liudijimas"
-#: ../src/empathy-main-window.c:409
+#: ../src/empathy-main-window.c:517
msgid "Certificate untrusted"
-msgstr "Sertifikatas nepatikimas"
+msgstr "Liudijimas nepatikimas"
-#: ../src/empathy-main-window.c:412
+#: ../src/empathy-main-window.c:520
msgid "Certificate expired"
-msgstr "Nebegaliojantis sertifikatas"
+msgstr "Nebegaliojantis liudijimas"
-#: ../src/empathy-main-window.c:415
+#: ../src/empathy-main-window.c:523
msgid "Certificate not activated"
-msgstr "Sertifikatas neaktyvuotas"
+msgstr "Liudijimas neaktyvuotas"
-#: ../src/empathy-main-window.c:418
+#: ../src/empathy-main-window.c:526
msgid "Certificate hostname mismatch"
-msgstr "Sertifikato mazgo pavadinimo neatitiktis"
+msgstr "Neatitinka liudijimo kompiuterio vardas"
-#: ../src/empathy-main-window.c:421
+#: ../src/empathy-main-window.c:529
msgid "Certificate fingerprint mismatch"
-msgstr "Sertifikato atpažinimo požymio neatitikimas"
+msgstr "Neatitinka liudijimo kontrolinis kodas"
-#: ../src/empathy-main-window.c:424
+#: ../src/empathy-main-window.c:532
msgid "Certificate self-signed"
-msgstr "Paties pasirašytas sertifikatas"
+msgstr "Paties pasirašytas liudijimas"
-#: ../src/empathy-main-window.c:427
+#: ../src/empathy-main-window.c:535
msgid "Certificate error"
-msgstr "Sertifikato klaida"
+msgstr "Liudijimo klaida"
-#: ../src/empathy-main-window.c:430
+#: ../src/empathy-main-window.c:538
msgid "Unknown error"
-msgstr "Nenustatyta klaida"
+msgstr "Nežinoma klaida"
-#: ../src/empathy-main-window.c:594
+#: ../src/empathy-main-window.c:1221
msgid "Show and edit accounts"
msgstr "Rodyti ir taisyti paskyras"
-#: ../src/empathy-main-window.c:974
-msgid "Contact"
-msgstr "Bičiulis"
-
-#: ../src/empathy-main-window.c:1176
-msgid "_Edit account"
-msgstr "_Taisyti paskyrą"
-
-#: ../src/empathy-main-window.glade.h:1
+#: ../src/empathy-main-window.ui.h:1 ../src/empathy-preferences.ui.h:10
msgid "Contact List"
-msgstr "Bičiulių sąrašas"
+msgstr "Adresatų sąrašas"
+
+#: ../src/empathy-main-window.ui.h:2
+msgid "Contacts on a _Map"
+msgstr "Adresatai že_mėlapyje"
-#: ../src/empathy-main-window.glade.h:2
+#: ../src/empathy-main-window.ui.h:3
msgid "Context"
msgstr "Kontekstas"
-#: ../src/empathy-main-window.glade.h:3
+#: ../src/empathy-main-window.ui.h:4
msgid "Join _Favorites"
-msgstr "Prisijungti prie _mėgstamų"
+msgstr "Prisijungti prie _mėgiamų"
-#: ../src/empathy-main-window.glade.h:4
-msgid "Join _New..."
-msgstr "Prisijungti prie naujo..."
-
-#: ../src/empathy-main-window.glade.h:5
+#: ../src/empathy-main-window.ui.h:5
msgid "Manage Favorites"
-msgstr "Tvarkyti Žymeles"
-
-#: ../src/empathy-main-window.glade.h:6
-msgid "Show _Offline Contacts"
-msgstr "Rodyti atsijungusius bičiulius"
+msgstr "Tvarkyti mėgiamus"
-#: ../src/empathy-main-window.glade.h:7
+#: ../src/empathy-main-window.ui.h:6
msgid "_Accounts"
msgstr "P_askyros"
-#: ../src/empathy-main-window.glade.h:8
+#: ../src/empathy-main-window.ui.h:7
msgid "_Add Contact..."
-msgstr "Pridėti bičiulį..."
+msgstr "_Pridėti adresatą..."
+
+#: ../src/empathy-main-window.ui.h:9
+msgid "_Contents"
+msgstr "_Turinys"
+
+#: ../src/empathy-main-window.ui.h:10
+msgid "_Debug"
+msgstr "_Derinti"
+
+#: ../src/empathy-main-window.ui.h:12
+msgid "_File Transfers"
+msgstr "_Failų siuntimai"
-#: ../src/empathy-main-window.glade.h:13 ../src/empathy-status-icon.glade.h:2
+#: ../src/empathy-main-window.ui.h:13
+msgid "_Help"
+msgstr "_Žinynas"
+
+#: ../src/empathy-main-window.ui.h:14
+msgid "_Join..."
+msgstr "_Prisijungti..."
+
+#: ../src/empathy-main-window.ui.h:15 ../src/empathy-status-icon.ui.h:2
msgid "_New Conversation..."
-msgstr "_Pokalbis"
+msgstr "_Naujas pokalbis..."
-#: ../src/empathy-main-window.glade.h:14
+#: ../src/empathy-main-window.ui.h:16
+msgid "_Offline Contacts"
+msgstr "_Atsijungę adresatai"
+
+#: ../src/empathy-main-window.ui.h:17
msgid "_Personal Information"
msgstr "_Asmeninė informacija"
-#: ../src/empathy-main-window.glade.h:16
+#: ../src/empathy-main-window.ui.h:19
+msgid "_Previous Conversations"
+msgstr "_Ankstesni pokalbiai"
+
+#: ../src/empathy-main-window.ui.h:20
msgid "_Room"
-msgstr "Kambarys"
+msgstr "_Kambarys"
-#: ../src/empathy-new-chatroom-dialog.c:291
-msgid "Chat Rooms"
-msgstr "Pokalbių kambariai"
+#: ../src/empathy-new-chatroom-dialog.c:332
+msgid "Chat Room"
+msgstr "Pokalbių kambarys"
-#: ../src/empathy-new-chatroom-dialog.glade.h:2
-msgid "Browse:"
-msgstr "Naršyti:"
+#: ../src/empathy-new-chatroom-dialog.c:348
+msgid "Members"
+msgstr "Nariai"
-#: ../src/empathy-new-chatroom-dialog.glade.h:3
+#: ../src/empathy-new-chatroom-dialog.c:492
+#, c-format
+msgctxt ""
+"Room/Join's roomlist tooltip. Parametersare a channel name, yes/no, yes/no "
+"and a number."
+msgid ""
+"<b>%s</b>\n"
+"Invite required: %s\n"
+"Password required: %s\n"
+"Members: %s"
+msgstr ""
+"<b>%s</b>\n"
+"Reikia pakvietimo: %s\n"
+"Reikia slaptažodžio: %s\n"
+"Nariai: %s"
+
+#: ../src/empathy-new-chatroom-dialog.c:494
+#: ../src/empathy-new-chatroom-dialog.c:495
+msgid "Yes"
+msgstr "Taip"
+
+#: ../src/empathy-new-chatroom-dialog.c:494
+#: ../src/empathy-new-chatroom-dialog.c:495
+msgid "No"
+msgstr "Ne"
+
+#: ../src/empathy-new-chatroom-dialog.c:522
+msgid "Could not start room listing"
+msgstr "Nepavyko paleisti kambarių sąrašo"
+
+#: ../src/empathy-new-chatroom-dialog.c:532
+msgid "Could not stop room listing"
+msgstr "Nepavyko sustabdyti kambarių rodymo"
+
+#: ../src/empathy-new-chatroom-dialog.ui.h:2
+msgid "Couldn't load room list"
+msgstr "Nepavyko įkelti kambarių sąrašo"
+
+#: ../src/empathy-new-chatroom-dialog.ui.h:3
msgid ""
"Enter the room name to join here or click on one or more rooms in the list."
msgstr ""
-"Įveskite kambario pavadinimą arba spustelėkite vieną ar daugiau kambarių "
-"sąraše."
+"Įveskite kambario, į kurį norite įeiti, pavadinimą arba spustelėkite vieną "
+"ar daugiau kambarių sąraše."
-#: ../src/empathy-new-chatroom-dialog.glade.h:4
+#: ../src/empathy-new-chatroom-dialog.ui.h:4
msgid ""
"Enter the server which hosts the room, or leave it empty if the room is on "
"the current account's server"
msgstr ""
-"Įrašykite serverio vardą, kuris aptarnauja pokalbių kambarį, arba "
-"neįrašykite nieko, jei pokalbių kambarys palaikomas esamos sąskaitos "
-"serverio."
-
-#: ../src/empathy-new-chatroom-dialog.glade.h:5
-msgid "Join"
-msgstr "Prisijungti"
+"Įrašykite serverio vardą, kuriame yra pokalbių kambarys, arba neįrašykite "
+"nieko, jei pokalbių kambarys yra dabartinės paskyros serveryje."
-#: ../src/empathy-new-chatroom-dialog.glade.h:6
-msgid "Join New"
-msgstr "Prisijungti prie naujo"
+#: ../src/empathy-new-chatroom-dialog.ui.h:5
+msgid "Join Room"
+msgstr "Prisijungti prie kambario"
-#: ../src/empathy-new-chatroom-dialog.glade.h:7
-msgid "Re_fresh"
-msgstr "Atnaujinti"
+#: ../src/empathy-new-chatroom-dialog.ui.h:6
+msgid "Room List"
+msgstr "Kambarių sąrašas"
-#: ../src/empathy-new-chatroom-dialog.glade.h:8
-msgid ""
-"This list represents all chat rooms hosted on the server you have entered."
-msgstr ""
-"Šiame sąraše pateikiami visi pokalbių kambariai esantys šiame serveryje."
+#: ../src/empathy-new-chatroom-dialog.ui.h:8
+msgid "_Room:"
+msgstr "_Kambarys:"
-#: ../src/empathy-preferences.c:157
+#: ../src/empathy-preferences.c:161
msgid "Message received"
msgstr "Gauta žinutė"
-#: ../src/empathy-preferences.c:158
+#: ../src/empathy-preferences.c:162
msgid "Message sent"
msgstr "Žinutė išsiųsta"
-#: ../src/empathy-preferences.c:159
+#: ../src/empathy-preferences.c:163
msgid "New conversation"
msgstr "Naujas pokalbis"
-#: ../src/empathy-preferences.c:160
+#: ../src/empathy-preferences.c:164
msgid "Contact goes online"
-msgstr "Bičiulis prisijungė"
+msgstr "Adresatas prisijungė"
-#: ../src/empathy-preferences.c:161
+#: ../src/empathy-preferences.c:165
msgid "Contact goes offline"
-msgstr "Bičiulis atsijungė"
+msgstr "Adresatas atsijungė"
-#: ../src/empathy-preferences.c:162
+#: ../src/empathy-preferences.c:166
msgid "Account connected"
-msgstr "Prisijungta pagal paskyrą"
+msgstr "Paskyra prijungta"
-#: ../src/empathy-preferences.c:163
+#: ../src/empathy-preferences.c:167
msgid "Account disconnected"
-msgstr "Atsijungta pagal paskyrą"
+msgstr "Paskyra atjungta"
-#: ../src/empathy-preferences.c:397
+#: ../src/empathy-preferences.c:446
msgid "Language"
msgstr "Kalba"
-#: ../src/empathy-preferences.glade.h:1
-msgid "<b>Appearance</b>"
-msgstr "<b>Išvaizda</b>"
-
-#: ../src/empathy-preferences.glade.h:2
-msgid "<b>Behavior</b>"
-msgstr "<b>Elgsena</b>"
+#: ../src/empathy-preferences.ui.h:1
+msgid "Adium theme to use:"
+msgstr "Naudotina Adium tema:"
-#: ../src/empathy-preferences.glade.h:3
-msgid "<b>Contact List</b>"
-msgstr "<b>Bičiulių sąrašas</b>"
+#: ../src/empathy-preferences.ui.h:2
+msgid "Allow _GPS usage"
+msgstr "Leisti naudoti _GPS"
-#: ../src/empathy-preferences.glade.h:4
-msgid "<b>Enable spell checking for languages:</b>"
-msgstr "<b>Įgalinti šių kalbų rašybos tikrinimą:</b>"
+#: ../src/empathy-preferences.ui.h:3
+msgid "Allow _cellphone usage"
+msgstr "Leisti naudoti _mobilųjį telefoną"
-#: ../src/empathy-preferences.glade.h:5
-msgid "<b>Play sound for events</b>"
-msgstr "<b>Groti melodiją įvykiams</b>"
+#: ../src/empathy-preferences.ui.h:4
+msgid "Allow _network usage"
+msgstr "Leisti naudoti _tinklą"
-#: ../src/empathy-preferences.glade.h:6
-msgid ""
-"<small>The list of languages reflects only the languages for which you have "
-"a dictionary installed.</small>"
-msgstr ""
-"<small>Šiame kalbų sąraše yra tik tos kalbos, kurių žodynus turite įdiegę.</"
-"small>"
+#: ../src/empathy-preferences.ui.h:5
+msgid "Appearance"
+msgstr "Išvaizda"
-#: ../src/empathy-preferences.glade.h:7
+#: ../src/empathy-preferences.ui.h:6
msgid "Automatically _connect on startup "
-msgstr "Paleisties metu automatiškai prisijungti"
+msgstr "Paleidus, automatiškai _prisijungti"
-#: ../src/empathy-preferences.glade.h:8
+#: ../src/empathy-preferences.ui.h:7
msgid "Avatars are user chosen images shown in the contact list"
-msgstr "Paveikslėliai, pasirinkti naudotojų, rodomi bičiulių sąraše."
+msgstr ""
+"Pseudoportretai – tai adresatų sąraše rodomi naudotojų pasirinkti "
+"paveikslėliai"
+
+#: ../src/empathy-preferences.ui.h:8
+msgid "Behavior"
+msgstr "Elgsena"
-#: ../src/empathy-preferences.glade.h:9
+#: ../src/empathy-preferences.ui.h:9
msgid "Chat Th_eme:"
msgstr "Pokalbio t_ema:"
-#: ../src/empathy-preferences.glade.h:10
+#: ../src/empathy-preferences.ui.h:11
msgid "Disable notifications when _away or busy"
-msgstr "Išjungti pranešimus, kai manęs nėra ar užimtas"
+msgstr "Išjungti pranešimus, kai manęs _nėra ar užsiėmęs(-usi)"
-#: ../src/empathy-preferences.glade.h:11
+#: ../src/empathy-preferences.ui.h:12
msgid "Disable sounds when _away or busy"
-msgstr "Išjungti garsus, kai manęs nėra ar užimtas"
+msgstr "Išjungti garsus, kai manęs _nėra ar užsiėmęs(-usi)"
-#: ../src/empathy-preferences.glade.h:12
+#: ../src/empathy-preferences.ui.h:13
+msgid "Enable notifications when a contact comes online"
+msgstr "Įjungti pranešimus, kai prisijungia adresatas"
+
+#: ../src/empathy-preferences.ui.h:14
+msgid "Enable notifications when a contact goes offline"
+msgstr "Įjungti pranešimus, kai atsijungia adresatas"
+
+#: ../src/empathy-preferences.ui.h:15
msgid "Enable notifications when the _chat is not focused"
-msgstr "Įjungti pranešimus, kai pokalbio langas neaktyvuotas"
+msgstr "Įjungti pranešimus, kai _pokalbio langas nesuaktyvintas"
+
+#: ../src/empathy-preferences.ui.h:16
+msgid "Enable spell checking for languages:"
+msgstr "Įjungti šių kalbų rašybos tikrinimą:"
-#: ../src/empathy-preferences.glade.h:13
+#: ../src/empathy-preferences.ui.h:17
msgid "General"
msgstr "Bendra"
-#: ../src/empathy-preferences.glade.h:14
+#: ../src/empathy-preferences.ui.h:18
+msgid "Geoclue Settings"
+msgstr "Geoclue parametrai"
+
+#: ../src/empathy-preferences.ui.h:19
+msgid "Location"
+msgstr "Vietovė"
+
+#: ../src/empathy-preferences.ui.h:20
+msgid "Not a valid adium theme"
+msgstr "Tai nėra tinkama adium tema"
+
+#: ../src/empathy-preferences.ui.h:21
msgid "Notifications"
msgstr "Pranešimai"
-#: ../src/empathy-preferences.glade.h:15
+#: ../src/empathy-preferences.ui.h:22
+msgid "Play sound for events"
+msgstr "Groti garsus įvykiams"
+
+#: ../src/empathy-preferences.ui.h:23
msgid "Preferences"
msgstr "Nustatymai"
-#: ../src/empathy-preferences.glade.h:16
+#: ../src/empathy-preferences.ui.h:24
+msgid "Privacy"
+msgstr "Privatumas"
+
+#: ../src/empathy-preferences.ui.h:25
+msgid ""
+"Reduced location accuracy means that nothing more precise than your city, "
+"state and country will be published. GPS coordinates will have a random "
+"value added (&#xB1;0.25&#xB0;)."
+msgstr ""
+"Sumažinus vietovės tikslumą, bus rodomas tik jūsų miestas, sritis ir šalis. "
+"GPS koordinatėms bus pridedama atsitiktinė reikšmė (&#xB1;0.25&#xB0;)."
+
+#: ../src/empathy-preferences.ui.h:26
msgid "Show _avatars"
-msgstr "Rodyti paveikslėlius"
+msgstr "Rodyti _pseudoportretus"
-#: ../src/empathy-preferences.glade.h:17
+#: ../src/empathy-preferences.ui.h:27
msgid "Show _smileys as images"
-msgstr "Versti šypsenėles į grafinius paveiksliukus"
+msgstr "Rodyti š_ypsenelės kaip paveikslėlius"
-#: ../src/empathy-preferences.glade.h:18
+#: ../src/empathy-preferences.ui.h:28
msgid "Show co_mpact contact list"
-msgstr "Rodyti kompaktišką bičiulių sąrašą"
+msgstr "Rodyti _kompaktišką adresatų sąrašą"
+
+#: ../src/empathy-preferences.ui.h:29
+msgid "Show contact _list in rooms"
+msgstr "Rodyti adresatų _sąrašą kambariuose"
-#: ../src/empathy-preferences.glade.h:19
+#: ../src/empathy-preferences.ui.h:30
msgid "Sort by _name"
-msgstr "Rikiuoti pagal vardą"
+msgstr "Rikiuoti pagal _vardą"
-#: ../src/empathy-preferences.glade.h:20
+#: ../src/empathy-preferences.ui.h:31
msgid "Sort by s_tate"
-msgstr "Rikiuoti pagal būseną"
+msgstr "Rikiuoti pagal _būseną"
-#: ../src/empathy-preferences.glade.h:21
+#: ../src/empathy-preferences.ui.h:32
msgid "Sounds"
msgstr "Garsai"
-#: ../src/empathy-preferences.glade.h:22
+#: ../src/empathy-preferences.ui.h:33
msgid "Spell Checking"
msgstr "Rašybos tikrinimas"
-#: ../src/empathy-preferences.glade.h:23
+#: ../src/empathy-preferences.ui.h:34
+msgid ""
+"The list of languages reflects only the languages for which you have a "
+"dictionary installed."
+msgstr ""
+"Šiame kalbų sąraše yra tik tos kalbos, kurių žodynus turite įdiegę."
+
+#: ../src/empathy-preferences.ui.h:35
msgid "Themes"
msgstr "Temos"
-#: ../src/empathy-preferences.glade.h:24
+#: ../src/empathy-preferences.ui.h:36
msgid "_Enable bubble notifications"
-msgstr "Įjungti burbulinius pranešimus"
+msgstr "Į_jungti burbulinius pranešimus"
-#: ../src/empathy-preferences.glade.h:25
+#: ../src/empathy-preferences.ui.h:37
msgid "_Enable sound notifications"
-msgstr "Įjungti garsinius pranešimus"
+msgstr "Į_jungti garsinius pranešimus"
-#: ../src/empathy-preferences.glade.h:26
+#: ../src/empathy-preferences.ui.h:38
msgid "_Open new chats in separate windows"
-msgstr "Atverti naujus pokalbius atskiruose languose"
+msgstr "_Atverti naujus pokalbius atskiruose languose"
+
+#: ../src/empathy-preferences.ui.h:39
+msgid "_Publish location to my contacts"
+msgstr "_Rodyti vietovę mano adresatams"
-#: ../src/empathy-status-icon.glade.h:1
+#: ../src/empathy-preferences.ui.h:40
+msgid "_Reduce location accuracy"
+msgstr "_Sumažinti vietovės tikslumą"
+
+#: ../src/empathy-status-icon.ui.h:1
msgid "Status"
msgstr "Būsena"
-#: ../src/empathy-status-icon.glade.h:3
+#: ../src/empathy-status-icon.ui.h:3
msgid "_Quit"
-msgstr "Išeiti"
+msgstr "Iš_eiti"
-#: ../src/empathy-status-icon.glade.h:4
+#: ../src/empathy-status-icon.ui.h:4
msgid "_Show Contact List"
-msgstr "Rodyti Bičiulių Sąrašą"
+msgstr "_Rodyti adresatų sąrašą"
-#: ../src/empathy-tube-dispatch.c:364
+#: ../src/empathy-tube-dispatch.c:375
#, c-format
msgid "Unable to start application for service %s: %s"
-msgstr "Nepavyko paleisti programos %s tarnybai: %s"
+msgstr "Nepavyko paleisti programos tarnybai %s: %s"
-#: ../src/empathy-tube-dispatch.c:435
+#: ../src/empathy-tube-dispatch.c:446
#, c-format
msgid ""
"An invitation was offered for service %s, but you don't have the needed "
"application to handle it"
-msgstr "Pasiųstas kvietimas į tarnybą %s, bet nėra įdiegta reikiama programa."
-
-#~ msgid "Enable popup when contact is available"
-#~ msgstr "Įjungti iššokantį langą, rodomą bičiuliui prisijungus"
-
-#~ msgid "Enable sound when busy"
-#~ msgstr "Įjungti garsus, kai aš užsiėmęs"
-
-#~ msgid "Closed"
-#~ msgstr "Užvertas"
-
-#~ msgid "End this call?"
-#~ msgstr "Nutraukti skambutį?"
-
-#~ msgid "Closing this window will end the call in progress."
-#~ msgstr "Uždarius langą, bus nutraukta skambinimo eiga."
-
-#~ msgid "_End Call"
-#~ msgstr "_Baigti"
-
-#~ msgid "Empathy Call"
-#~ msgstr "Kvietimas"
-
-#~ msgid "Readying"
-#~ msgstr "Ruošiama"
-
-#~ msgid "%s - Empathy Call"
-#~ msgstr "%s - Skambina"
-
-#~ msgid ""
-#~ "Incoming call from %s rejected because there is already a running call."
-#~ msgstr "Įeinantis ryšys su %s atmestas, nes kalbamasi kita linija."
+msgstr ""
+"Pasiųstas kvietimas į tarnybą %s, tačiau neįdiegta jai reikalinga programa"
-#~ msgid "#"
-#~ msgstr "#"
+#: ../src/empathy-call-window-fullscreen.ui.h:1
+msgid "gtk-leave-fullscreen"
+msgstr ""
-#~ msgid "*"
-#~ msgstr "*"
+#: ../src/empathy-map-view.ui.h:1
+msgid "Contact Map View"
+msgstr "Adresatų žemėlapio rodinys"
-#~ msgid "0"
-#~ msgstr "0"
+#: ../src/empathy-debug-dialog.c:111 ../src/empathy-debug-dialog.c:1083
+msgid "Error"
+msgstr "Klaida"
-#~ msgid "1"
-#~ msgstr "1"
+#: ../src/empathy-debug-dialog.c:114 ../src/empathy-debug-dialog.c:1077
+msgid "Critical"
+msgstr "Kritinė"
-#~ msgid "2"
-#~ msgstr "2"
+#: ../src/empathy-debug-dialog.c:117 ../src/empathy-debug-dialog.c:1071
+msgid "Warning"
+msgstr "Perspėjimas"
-#~ msgid "3"
-#~ msgstr "3"
+#: ../src/empathy-debug-dialog.c:120 ../src/empathy-debug-dialog.c:1065
+#: ../src/empathy-debug-dialog.c:1113
+msgid "Message"
+msgstr "Pranešimas"
-#~ msgid "4"
-#~ msgstr "4"
+#: ../src/empathy-debug-dialog.c:123 ../src/empathy-debug-dialog.c:1059
+msgid "Info"
+msgstr "Informacija"
-#~ msgid "5"
-#~ msgstr "5"
+#: ../src/empathy-debug-dialog.c:126 ../src/empathy-debug-dialog.c:1053
+msgid "Debug"
+msgstr "Derinimas"
-#~ msgid "6"
-#~ msgstr "6"
+#: ../src/empathy-debug-dialog.c:845
+msgid "Save"
+msgstr "Irašyti"
-#~ msgid "7"
-#~ msgstr "7"
+#: ../src/empathy-debug-dialog.c:948
+msgid "Debug Window"
+msgstr "Derinimo langas"
-#~ msgid "8"
-#~ msgstr "8"
+#: ../src/empathy-debug-dialog.c:1021
+msgid "Pause"
+msgstr "Pauzė"
-#~ msgid "9"
-#~ msgstr "9"
+#: ../src/empathy-debug-dialog.c:1033
+msgid "Level "
+msgstr "Lygis "
-#~ msgid "<b>Keypad</b>"
-#~ msgstr "<b>Skaičių klaviatūra</b>"
+#: ../src/empathy-debug-dialog.c:1102
+msgid "Time"
+msgstr "Laikas"
-#~ msgid "Invitation Error"
-#~ msgstr "Pakvietimo Klaida:"
+#: ../src/empathy-debug-dialog.c:1104
+msgid "Domain"
+msgstr "Sritis"
-#~ msgid "<b>Audio</b>"
-#~ msgstr "<b>Garsai</b>"
+#: ../src/empathy-debug-dialog.c:1106
+msgid "Category"
+msgstr "Kategorija"
-#~ msgid "<b>Visual</b>"
-#~ msgstr "<b>Vaizdas</b>"
+#: ../src/empathy-debug-dialog.c:1108
+msgid "Level"
+msgstr "Lygis"
-#~ msgid "Enable sounds when _busy"
-#~ msgstr "Įjungti garsus, kai aš _užsiėmęs"
+#: ../src/empathy-debug-dialog.c:1140
+msgid ""
+"The selected connection manager does not support the remote debugging "
+"extension."
+msgstr "Pasirinktoji ryšių valdyklė nepalaiko nuotolinio derinimo plėtinio."
diff --git a/po/or.po b/po/or.po
new file mode 100644
index 000000000..d89ee2e2a
--- /dev/null
+++ b/po/or.po
@@ -0,0 +1,2490 @@
+# translation of empathy.po.master.or.po to Oriya
+# Oriya translation of empathy.
+# Copyright (C) 2009 empathy's COPYRIGHT HOLDER
+# This file is distributed under the same license as the empathy package.
+#
+# Manoj Kumar Giri <mgiri@redhat.com>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: empathy.po.master.or\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=empathy&component=general\n"
+"POT-Creation-Date: 2009-07-01 13:43+0000\n"
+"PO-Revision-Date: 2009-07-01 19:21+0530\n"
+"Last-Translator: Manoj Kumar Giri <mgiri@redhat.com>\n"
+"Language-Team: Oriya <oriya-it@googlegroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: ../data/empathy.desktop.in.in.h:1
+msgid "Empathy Instant Messenger"
+msgstr "Empathy ତୀବ୍ର ସନ୍ଦେଶ ବାହକ"
+
+#: ../data/empathy.desktop.in.in.h:2
+msgid "Send and receive instant messages"
+msgstr "ତୁରନ୍ତ ସନ୍ଦେଶଗୁଡ଼ିକୁ ପଠାନ୍ତୁ ଏବଂ ଗ୍ରହଣ କରନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:1
+msgid "Always open a separate chat window for new chats."
+msgstr "ନୂତନ ଚାର୍ଟ ପାଇଁ ସର୍ବଦା ଭିନ୍ନ ଭିନ୍ନ ଚାର୍ଟ ୱିଣ୍ଡୋ ଖୋଲନ୍ତୁ।"
+
+#: ../data/empathy.schemas.in.h:2
+msgid ""
+"Character to add after nickname when using nick completion (tab) in group "
+"chat."
+msgstr "ଉପନାମ ପରେ ଯୋଡ଼ିବାକୁ ଥିବା ଅକ୍ଷର ଯେତେବେଳେ ସମୂହ ଚାର୍ଟରେ ଉପନାମ ସମ୍ପୂର୍ଣ୍ଣ ଟ୍ୟାବ ବ୍ୟବହାର କରିଥାଏ।"
+
+#: ../data/empathy.schemas.in.h:3
+msgid "Chat window theme"
+msgstr "ଚାର୍ଟ ୱିଣ୍ଡୋ ପ୍ରସଂଗ"
+
+#: ../data/empathy.schemas.in.h:4
+msgid "Comma separated list of spell checker languages to use (e.g. en, fr, nl)."
+msgstr ""
+"ବ୍ୟବହାର କରିବା ପାଇଁ ବନାନ ଯାଞ୍ଚକାରୀ ଭାଷାଗୁଡ଼ିକର କମା ଦ୍ୱାରା ପୃଥକ ତାଲିକା (ଉଦାହରଣ en, fr, "
+"nl)।"
+
+#: ../data/empathy.schemas.in.h:5
+msgid "Compact contact list"
+msgstr "ସୁସଂଗତ ସମ୍ପର୍କ ତାଲିକା"
+
+#: ../data/empathy.schemas.in.h:6
+msgid "Contact list sort criterium"
+msgstr "ସମ୍ପର୍କ ତାଲିକା ସଜାଡ଼ିବା ମାନଦଣ୍ଡ"
+
+#: ../data/empathy.schemas.in.h:7
+msgid "Default directory to select an avatar image from"
+msgstr "ଅବତାର ଚିତ୍ର ଚୟନ କରିବା ପାଇଁ ପୂର୍ବ ନିର୍ଦ୍ଧାରିତ ଡ଼ିରେକ୍ଟରୀ"
+
+#: ../data/empathy.schemas.in.h:8
+msgid "Disable popup notifications when away"
+msgstr "ଦୂରରେ ଥିବା ସମୟରେ ପପଅପ ୱିଣ୍ଡୋ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:9
+msgid "Disable sounds when away"
+msgstr "ଦୂରରେ ଥିବା ସମୟରେ ଧ୍ୱନିକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:10
+msgid "Empathy can publish the user's location"
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:11
+msgid "Empathy can use the GPS to guess the location"
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:12
+msgid "Empathy can use the cellular network to guess the location"
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:13
+msgid "Empathy can use the network to guess the location"
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:14
+msgid "Empathy default download folder"
+msgstr "Empathy ପୂର୍ବନିର୍ଦ୍ଧାରିତ ଆହରଣ ଫୋଲଡର"
+
+#: ../data/empathy.schemas.in.h:15
+msgid "Empathy has asked about importing accounts"
+msgstr "Empathy ଖାତାଗୁଡ଼ିକୁ ରପ୍ତାନି କରିବା ବିଷୟରେ ପଚାରିଥାଏ"
+
+#: ../data/empathy.schemas.in.h:16
+msgid "Empathy should auto-connect on startup"
+msgstr "Empathy ଆରମ୍ଭରେ ପଚାରିବା ଉଚିତ"
+
+#: ../data/empathy.schemas.in.h:17
+msgid "Empathy should reduce the location's accuracy"
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:18
+msgid "Empathy should use the avatar of the contact as the chat window icon"
+msgstr "Empathy ଚାର୍ଟ ୱିଣ୍ଡୋ ଚିତ୍ର ସଂକେତ ପରି ସମ୍ପର୍କର ଅବତାରକୁ ବ୍ୟବହାର କରିବା ଉଚିତ"
+
+#: ../data/empathy.schemas.in.h:19
+msgid "Enable popup notifications for new messages"
+msgstr "ନୂତନ ସନ୍ଦେଶଗୁଡ଼ିକ ପାଇଁ ପପଅପ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ସକ୍ରିୟ କରନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:20
+msgid "Enable spell checker"
+msgstr "ବନାନ ଯାଞ୍ଚକର୍ତ୍ତାକୁ ସକ୍ରିୟ କରନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:21
+msgid "Hide main window"
+msgstr "ମୁଖ୍ଯ ୱିଣ୍ଡୋ ଲୁଚାନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:22
+msgid "Hide the main window."
+msgstr "ମୁଖ୍ଯ ୱିଣ୍ଡୋ ଲୁଚାନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:23
+msgid "NetworkManager should be used"
+msgstr "ନେଟୱର୍କ ପରିଚାଳକଙ୍କୁ ବ୍ୟବହାର କରିବା ଉଚିତ"
+
+#: ../data/empathy.schemas.in.h:24
+msgid "Nick completed character"
+msgstr "ଉପନାମ ସମ୍ପୂର୍ଣ୍ଣ ଅକ୍ଷର"
+
+#: ../data/empathy.schemas.in.h:25
+msgid "Open new chats in separate windows"
+msgstr "ନୁଆ ଚାଟଗୁଡ଼ିକ ଅଲଗା ୱିଣ୍ଡୋରେ ଖୋଲନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:26
+msgid "Path of the adium theme to use"
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:27
+msgid "Path of the adium theme to use if the theme used for chat is adium."
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:28
+msgid "Play a sound for incoming messages"
+msgstr "ଆଗତ ସନ୍ଦେଶ ପାଇଁ ଏକ ଶବ୍ଦ ଚଲାନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:29
+msgid "Play a sound for new conversations"
+msgstr "ନୂତନ ବାର୍ତ୍ତାଳାପ ପାଇଁ ଧ୍ୱନି ଚଲାନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:30
+msgid "Play a sound for outgoing messages"
+msgstr "ଯାଉଥିବା ସନ୍ଦେଶଗୁଡ଼ିକ ପାଇଁ ଧ୍ୱନି ଚଲାନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:31
+msgid "Play a sound when a contact logs in"
+msgstr "ଗୋଟିଏ ସମ୍ପର୍କ ଲଗ ଇନ ହୋଇସାରିବା ପରେ ଧ୍ୱନି ଚଲାନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:32
+msgid "Play a sound when a contact logs out"
+msgstr "ଗୋଟିଏ ସମ୍ପର୍କ ଲଗ ଆଉଟ ହୋଇସାରିବା ପରେ ଧ୍ୱନି ଚଲାନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:33
+msgid "Play a sound when we log in"
+msgstr "ଆମ୍ଭେ ଲଗଇନ୍ କରିବାବେଳେ ଏକ ଶବ୍ଦ ଚଲାନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:34
+msgid "Play a sound when we log out"
+msgstr "ଆମ୍ଭେ ଲଗଆଉଟ କରିବାବେଳେ ଏକ ଶବ୍ଦ ଚଲାନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:35
+msgid "Popup notifications if the chat isn't focused"
+msgstr "ପପଅପ ବିଜ୍ଞପ୍ତି ଯଦି ଚାର୍ଟ ଲକ୍ଷ୍ୟ ହୋଇନାହିଁ"
+
+#: ../data/empathy.schemas.in.h:36
+msgid "Popup notifications when a contact sign in"
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:37
+msgid "Popup notifications when a contact sign out"
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:38
+msgid "Salut account is created"
+msgstr "ସେଲ୍ୟୁଟ ଖାତା ନିର୍ମିତ ହୋଇଛି"
+
+#: ../data/empathy.schemas.in.h:39
+msgid "Show avatars"
+msgstr "ଅବତାର ଦେଖାନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:40
+msgid "Show contact list in rooms"
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:41
+msgid "Show hint about closing the main window"
+msgstr "ମୁଖ୍ଯ ୱିଣ୍ଡୋ ବନ୍ଦ କରିବା ପାଇଁ ଆଭାସ ଦିଅନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:42
+msgid "Show offline contacts"
+msgstr "ଅଫଲାଇନ ସମ୍ପର୍କ ଦେଖାଅ"
+
+#: ../data/empathy.schemas.in.h:43
+msgid "Spell checking languages"
+msgstr "ବନାନ ଯାଞ୍ଚକାରୀ ଭାଷାଗୁଡ଼ିକ"
+
+#: ../data/empathy.schemas.in.h:44
+msgid "The default folder to save file transfers in."
+msgstr "ଫାଇଲ ପରିବହନକୁ ସଂରକ୍ଷଣ କରିବା ପାଇଁ ପୂର୍ବନିର୍ଦ୍ଧାରିତ ଫୋଲଡର।"
+
+#: ../data/empathy.schemas.in.h:45
+msgid "The last directory that an avatar image was chosen from."
+msgstr "ଅଭତାର ପ୍ରତିଛବି ଦ୍ୱାରା ବଛାଯାଇଥିବା ଶେଷ ଡିରେକ୍ଟୋରୀ।"
+
+#: ../data/empathy.schemas.in.h:46
+msgid "The theme that is used to display the conversation in chat windows."
+msgstr "ଚାର୍ଟ ୱିଣ୍ଡୋରେ ବାର୍ତ୍ତାଳାପକୁ ଦର୍ଶାଯାଇବା ପାଇଁ ବ୍ୟବହୃତ ପ୍ରସଙ୍ଗ।"
+
+#: ../data/empathy.schemas.in.h:47
+msgid "Use graphical smileys"
+msgstr "ଆଲେଖୀ ସ୍ମାଇଲିଗୁଡ଼ିକୁ ବ୍ୟବହାର କରନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:48
+msgid "Use notification sounds"
+msgstr "ବିଜ୍ଞପ୍ତ ଶବ୍ଦ ଉପଯୋଗ କରନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:49
+msgid "Use theme for chat rooms"
+msgstr "ଚାଟ ଘରଗୁଡ଼ିକ ପାଇଁ ପ୍ରସଙ୍ଗ ଉପଯୋଗ କରନ୍ତୁ"
+
+#: ../data/empathy.schemas.in.h:50
+msgid "Whether or not Empathy can publish the user's location to his contacts."
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:51
+msgid "Whether or not Empathy can use the GPS to guess the location."
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:52
+msgid "Whether or not Empathy can use the cellular network to guess the location."
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:53
+msgid "Whether or not Empathy can use the network to guess the location."
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:54
+msgid ""
+"Whether or not Empathy has asked about importing accounts from other "
+"programs."
+msgstr "Empathy ଅନ୍ୟ ପ୍ରଗ୍ରାମଗୁଡ଼ିକରୁ ଖାତା ଆମଦାନୀ ପାଇଁ ଅନୁରୋଧ କରିବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:55
+msgid ""
+"Whether or not Empathy should automatically log in to your accounts on "
+"startup."
+msgstr "ଆରମ୍ଭରେ Empathy ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଆପଣଙ୍କ ଖାତାରେ ଲଗଇନ ହେବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:56
+msgid ""
+"Whether or not Empathy should reduce the location's accuracy for privacy "
+"reasons."
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:57
+msgid ""
+"Whether or not Empathy should use the avatar of the contact as the chat "
+"window icon."
+msgstr "Empathy ସମ୍ପର୍କର ଅଭତାରକୁ ଚାର୍ଟ ୱିଣ୍ଡୋ ଚିତ୍ରସଂକେତ ଭାବରେ ବ୍ୟବହାର କରିବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:58
+msgid "Whether or not the Salut account has been created on the first Empathy run."
+msgstr "ପ୍ରଥମ Empathy ଚାଳନାରେ ସେଲ୍ୟୁଟ ଖାତା ନିର୍ମାଣ କରିବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:59
+msgid ""
+"Whether or not the network manager should be used to automatically "
+"disconnect/reconnect."
+msgstr "ନେଟୱର୍କ ପରିଚାଳକ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ସଂଯୋଗ ବିଚ୍ଛିନ୍ନ/ସଂଯୋଗ ସ୍ଥାପନ କରିବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:60
+msgid ""
+"Whether or not to check words typed against the languages you want to check "
+"with."
+msgstr "ଆପଣ ଯାଞ୍ଚ କରିବାକୁ ଚାହୁଁଥିବା ଭାଷାର ଶବ୍ଦ ପ୍ରକାରକୁ ଯାଞ୍ଚ କରିବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:61
+msgid "Whether or not to convert smileys into graphical images in conversations."
+msgstr "ବାର୍ତ୍ତାଳାପରେ ଆଲେଖୀ ପ୍ରତିଛବିଗୁଡ଼ିକୁ ସ୍ମାଇଲି ପରିବର୍ତ୍ତନ କରିବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:62
+msgid "Whether or not to play a sound to notify for contacts logging in the network."
+msgstr "ନେଟୱର୍କରେ ଲଗଇନ ହେଉଥିବା ସମ୍ପର୍କଗୁଡ଼ିକୁ ବିଜ୍ଞପ୍ତି ଦେବା ପାଇଁ ଧ୍ୱନି ଚଲାଇବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:63
+msgid ""
+"Whether or not to play a sound to notify for contacts logging off the "
+"network."
+msgstr "ନେଟୱର୍କରେ ଲଗଅଫ ହେଉଥିବା ସମ୍ପର୍କଗୁଡ଼ିକୁ ବିଜ୍ଞପ୍ତି ଦେବା ପାଇଁ ଧ୍ୱନି ଚଲାଇବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:64
+msgid "Whether or not to play a sound to notify for events."
+msgstr "ଘଟଣାଗୁଡ଼ିକ ପାଇଁ ବିଜ୍ଞପ୍ତି ଦେବାକୁ ଧ୍ୱନି ଚାଲାଇବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:65
+msgid "Whether or not to play a sound to notify for incoming messages."
+msgstr "ଆସୁଥିବା ସନ୍ଦେଶଗୁଡ଼ିକ ପାଇଁ ବିଜ୍ଞପ୍ତି ଦେବାକୁ ଧ୍ୱନି ଚାଲାଇବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:66
+msgid "Whether or not to play a sound to notify for new conversations."
+msgstr "ନୂତନ ବାର୍ତ୍ତାଳାପ ପାଇଁ ବିଜ୍ଞପ୍ତି ଦେବାକୁ ଧ୍ୱନି ଚାଲାଇବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:67
+msgid "Whether or not to play a sound to notify for outgoing messages."
+msgstr "ପଠାଯାଉଥିବା ସନ୍ଦେଶଗୁଡ଼ିକ ପାଇଁ ବିଜ୍ଞପ୍ତି ଦେବାକୁ ଧ୍ୱନି ଚାଲାଇବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:68
+msgid "Whether or not to play a sound when logging in a network."
+msgstr "ନେଟୱର୍କରେ ଲଗଇନ ହେବା ସମୟରେ ବିଜ୍ଞପ୍ତି ଦେବାକୁ ଧ୍ୱନି ଚାଲାଇବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:69
+msgid "Whether or not to play a sound when logging off a network."
+msgstr "ନେଟୱର୍କରେ ଲଗଅଫ ହେବା ସମୟରେ ବିଜ୍ଞପ୍ତି ଦେବାକୁ ଧ୍ୱନି ଚାଲାଇବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:70
+msgid "Whether or not to play sound notifications when away or busy."
+msgstr "ଦୂରରେ ଥିବା ସମୟରେ କିମ୍ବା ବ୍ୟସ୍ତ ଥିବା ସମୟରେ ବିଜ୍ଞପ୍ତି ଦେବାକୁ ଧ୍ୱନି ଚାଲାଇବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:71
+msgid "Whether or not to show a popup notification when a contact goes offline."
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:72
+msgid "Whether or not to show a popup notification when a contact goes online."
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:73
+msgid ""
+"Whether or not to show a popup notification when receiving a new message "
+"even if the chat is already opened, but not focused."
+msgstr ""
+"ଗୋଟିଏ ନୂତନ ସନ୍ଦେଶ ଗ୍ରହଣ କରିସାରିବା ପରେ ଗୋଟିଏ ପପଅପ ବିଜ୍ଞପ୍ତି ଦର୍ଶାଇବା ଉଚିତ କି ନୁହଁ "
+"ଯଦି ଚାଟଟି ପୂର୍ବରୁ ଖୋଲାଅଛି, କିନ୍ତୁ ଲକ୍ଷ୍ୟ କରାଯାଇନାହିଁ।"
+
+#: ../data/empathy.schemas.in.h:74
+msgid "Whether or not to show a popup notification when receiving a new message."
+msgstr "ନୂତନ ସନ୍ଦେଶ ଗ୍ରହଣ କରିବା ସମୟରେ ପପଅପ ବିଜ୍ଞପ୍ତି ଦର୍ଶାଇବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:75
+msgid ""
+"Whether or not to show avatars for contacts in the contact list and chat "
+"windows."
+msgstr "ସମ୍ପର୍କ ତାଲିକା ଏବଂ ଚାର୍ଟ ୱିଣ୍ଡୋରେ ସମ୍ପର୍କଗୁଡ଼ିକ ପାଇଁ ଅଭତାରଗୁଡ଼ିକୁ ଦର୍ଶାଇବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:76
+msgid "Whether or not to show contacts that are offline in the contact list."
+msgstr "ସମ୍ପର୍କ ତାଲିକାରେ ଅଫଲାଇନ ଥିବା ସମ୍ପର୍କଗୁଡ଼ିକୁ ଦର୍ଶାଇବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:77
+msgid "Whether or not to show popup notifications when away or busy."
+msgstr "ଦୂରରେ ଥିବା ସମୟରେ କିମ୍ବା ବ୍ୟସ୍ତ ଥିବା ସମୟରେ ପପଅପ ବିଜ୍ଞପ୍ତିକୁ ଦର୍ଶାଇବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:78
+msgid "Whether or not to show the contact list in chat rooms."
+msgstr ""
+
+#: ../data/empathy.schemas.in.h:79
+msgid ""
+"Whether or not to show the message dialog about closing the main window with "
+"the 'x' button in the title bar."
+msgstr ""
+"ଶୀର୍ଷକ ପଟିରେ 'x' ବଟନ ସହିତ ମୂଖ୍ୟ ୱିଣ୍ଡୋକୁ ବନ୍ଦ କରିବା ପରେ ସନ୍ଦେଶ ସଂଳାପକୁ "
+"ଦର୍ଶାଇବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:80
+msgid "Whether to show the contact list in compact mode or not."
+msgstr "ସମ୍ପର୍କ ତାଲିକାକୁ ସଂଗୁପ୍ତ ଧାରାରେ ଦର୍ଶାଇବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:81
+msgid "Whether to use the theme for chat rooms or not."
+msgstr "ଚାର୍ଟରୁମ ପାଇଁ ପ୍ରସଙ୍ଗକୁ ବ୍ୟବହାର କରିବା ଉଚିତ କି ନୁହଁ।"
+
+#: ../data/empathy.schemas.in.h:82
+msgid ""
+"Which criterium to use when sorting the contact list. Default is to use sort "
+"by the contact's name with the value \"name\". A value of \"state\" will "
+"sort the contact list by state."
+msgstr ""
+"ଯୋଗାଯୋଗ ତାଲିକାକୁ ସଜାଡ଼ିବା ସମୟରେ କେଉଁ ମାନଦଣ୍ଡକୁ ବ୍ୟବହାର କରିବା ଉଚିତ। ପୂର୍ବନିର୍ଦ୍ଧାରିତଟି ହେଉଛି "
+"ସମ୍ପର୍କନାମ ସହିତ ମୂଲ୍ୟ \"ନାମ\"କୁ ସଜାଡ଼ିବା। \"state\" ର ଗୋଟିଏ ମୂଲ୍ୟକୁ ଅବସ୍ଥା ଦ୍ୱାରା ଯୋଗାଯୋଗ ତାଲିକା "
+"ଅନୁସାରେ ସଜାଡ଼ିବା।"
+
+#: ../libempathy/empathy-ft-handler.c:838
+msgid "The hash of the received file and the sent one do not match"
+msgstr ""
+
+#: ../libempathy/empathy-ft-handler.c:1098
+msgid "File transfer not supported by remote contact"
+msgstr ""
+
+#: ../libempathy/empathy-ft-handler.c:1156
+msgid "The selected file is not a regular file"
+msgstr ""
+
+#: ../libempathy/empathy-ft-handler.c:1165
+msgid "The selected file is empty"
+msgstr ""
+
+#: ../libempathy/empathy-tp-contact-list.c:757 ../src/empathy.c:289
+msgid "People nearby"
+msgstr "ନିକଟବର୍ତୀ ଲୋକ"
+
+#: ../libempathy/empathy-tp-file.c:279
+msgid "Socket type not supported"
+msgstr ""
+
+#: ../libempathy/empathy-tp-file.c:398
+msgid "No reason was specified"
+msgstr "କୌଣସି କାରଣ ଉଲ୍ଲେଖ କରାଯାଇନାହିଁ"
+
+#: ../libempathy/empathy-tp-file.c:401
+msgid "The change in state was requested"
+msgstr "ଅବସ୍ଥିତିର ପରିବର୍ତ୍ତନକୁ ଅନୁରୋଧ କରାଯାଇଥିଲା"
+
+#: ../libempathy/empathy-tp-file.c:404
+msgid "You canceled the file transfer"
+msgstr "ଆପଣ ଫାଇଲ ପରିବହନକୁ ବାତିଲ କରିଛନ୍ତି"
+
+#: ../libempathy/empathy-tp-file.c:407
+msgid "The other participant canceled the file transfer"
+msgstr "ଅନ୍ୟ ଅଂଶଦାତା ଫାଇଲ ପରିବହନକୁ ବାତିଲ କରିଛନ୍ତି"
+
+#: ../libempathy/empathy-tp-file.c:410
+msgid "Error while trying to transfer the file"
+msgstr "ଫାଇଲକୁ ପରିବହନ କରିବା ସମୟରେ ତ୍ରୁଟି"
+
+#: ../libempathy/empathy-tp-file.c:413
+msgid "The other participant is unable to transfer the file"
+msgstr "ଅନ୍ୟ ଅଂଶଗ୍ରହଣକାରୀ ଏହି ଫାଇଲକୁ ସ୍ଥାନାନ୍ତରଣ କରିବାରେ ଅସମର୍ଥ"
+
+#: ../libempathy/empathy-tp-file.c:416
+msgid "Unknown reason"
+msgstr "ଅଜ୍ଞାତ କାରଣ"
+
+#: ../libempathy/empathy-utils.c:265
+msgid "Available"
+msgstr "ଉପଲବ୍ଧ"
+
+#: ../libempathy/empathy-utils.c:267
+msgid "Busy"
+msgstr "ବ୍ଯସ୍ତ"
+
+#: ../libempathy/empathy-utils.c:270
+msgid "Away"
+msgstr "ଅନୁପସ୍ଥିତ"
+
+#: ../libempathy/empathy-utils.c:272
+msgid "Hidden"
+msgstr "ଲୁକ୍କାଇତ"
+
+#: ../libempathy/empathy-utils.c:274
+msgid "Offline"
+msgstr "ଅଫଲାଇନ"
+
+#: ../libempathy/empathy-time.c:137
+#, c-format
+msgid "%d second ago"
+msgid_plural "%d seconds ago"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../libempathy/empathy-time.c:142
+#, c-format
+msgid "%d minute ago"
+msgid_plural "%d minutes ago"
+msgstr[0] "%d ମିନଟ ପୂର୍ବେ"
+msgstr[1] "%d ମିନଟ ପୂର୍ବେ"
+
+#: ../libempathy/empathy-time.c:147
+#, c-format
+msgid "%d hour ago"
+msgid_plural "%d hours ago"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../libempathy/empathy-time.c:152
+#, c-format
+msgid "%d day ago"
+msgid_plural "%d days ago"
+msgstr[0] "%d ଦିନ ପୂର୍ବେ"
+msgstr[1] "%d ଦିନ ପୂର୍ବେ"
+
+#: ../libempathy/empathy-time.c:157
+#, c-format
+msgid "%d week ago"
+msgid_plural "%d weeks ago"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../libempathy/empathy-time.c:162
+#, c-format
+msgid "%d month ago"
+msgid_plural "%d months ago"
+msgstr[0] "%d ମାସ ପୂର୍ବେ"
+msgstr[1] "%d ମାସ ପୂର୍ବେ"
+
+#: ../libempathy/empathy-time.c:167
+msgid "in the future"
+msgstr "ଭବିଷ୍ୟତରେ"
+
+#: ../libempathy-gtk/empathy-account-chooser.c:419
+msgid "All"
+msgstr "ସମସ୍ତ"
+
+#: ../libempathy-gtk/empathy-account-widget.c:302
+#: ../libempathy-gtk/empathy-account-widget.c:354
+#, c-format
+msgid "%s:"
+msgstr "%s:"
+
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-generic.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:1
+msgid "Advanced"
+msgstr "ଉନ୍ନତ"
+
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:2
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:3
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:3
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:3
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:2
+msgid "Pass_word:"
+msgstr "ପ୍ରବେଶ ସଙ୍କେତ (_w):"
+
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:3
+msgid "Screen _Name:"
+msgstr "ପରଦା ନାମ (_N):"
+
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:10
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:7
+msgid "_Port:"
+msgstr "ସଂଯୋଗିକୀ (_P):"
+
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:6
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:11
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:9
+#: ../src/empathy-new-chatroom-dialog.ui.h:9
+msgid "_Server:"
+msgstr "ସେବକ (_S):"
+
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:2
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:2
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:2
+msgid "Login I_D:"
+msgstr "ଲଗଇନ୍ I_D: "
+
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:2
+msgid "ICQ _UIN:"
+msgstr "ICS_UIN:"
+
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:5
+msgid "_Charset:"
+msgstr "ଅକ୍ଷରମାଳା (_C):"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.c:240
+msgid "New Network"
+msgstr "ନୁଆ ଜାଲକ"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:1
+msgid "Charset:"
+msgstr "ଅକ୍ଷରମାଳା:"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:2
+msgid "Network"
+msgstr "ନେଟୱର୍କ"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:3
+msgid "Network:"
+msgstr "ନେଟଓ୍ବାର୍କ:"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:4
+msgid "Nickname:"
+msgstr "ଡାକ ନାମ:"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:5
+msgid "Password:"
+msgstr "ପ୍ରବେଶ ସଙ୍କେତ:"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:6
+msgid "Quit message:"
+msgstr "ବିଦାୟ ସନ୍ଦେଶ"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:7
+msgid "Real name:"
+msgstr "ପ୍ରକ୍ରୁତ ନାମ:"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:8
+msgid "Servers"
+msgstr "ସେବକ ମାନେ"
+
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:3
+msgid "Override server settings"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:5
+msgid "Pri_ority:"
+msgstr "ଅଗ୍ରାଧିକାର (_o):"
+
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:6
+msgid "Reso_urce:"
+msgstr "ସମ୍ବଳ (_u):"
+
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:7
+msgid "Use old SS_L"
+msgstr "ପୁରୁଣା SSL ଉପଯୋଗ କରନ୍ତୁ (_L)"
+
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:8
+msgid "_Encryption required (TLS/SSL)"
+msgstr "ସଂଗୁପ୍ତ ଆବଶ୍ୟକ (TLS/SSL) (_E)"
+
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:9
+msgid "_Ignore SSL certificate errors"
+msgstr "SSL ପ୍ରମାଣପତ୍ର ତ୍ରୁଟିଗୁଡ଼ିକୁ ଅଗ୍ରାହ୍ୟ କରନ୍ତୁ (_I)"
+
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:2
+msgid "_Email:"
+msgstr "ଇ-ମେଲ (_E):"
+
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:3
+msgid "_First Name:"
+msgstr "ପ୍ରଥମ ନାମ (_F):"
+
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:4
+msgid "_Jabber ID:"
+msgstr "ଜବ୍ବର ID (_J):"
+
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:5
+msgid "_Last Name:"
+msgstr "ଶେଷ ନାମ (_L):"
+
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:6
+msgid "_Nickname:"
+msgstr "ଡାକ ନାମ (_N):"
+
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:7
+msgid "_Published Name:"
+msgstr "ପ୍ରକାଶିତ ନାମ (_P):"
+
+#. look up the DNS SRV record at the service's domain for the host name of a STUN server.
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:3
+msgid "Discover STUN"
+msgstr "STUN କୁ ଆବିଷ୍କାର କରନ୍ତୁ"
+
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:5
+msgid "STUN Server:"
+msgstr " STUN ସର୍ଭର"
+
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:6
+msgid "STUN port:"
+msgstr "STUN ସଂଯୋଗିକୀ:"
+
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:7
+msgid "_Username:"
+msgstr "ଚାଳକ ନାମ (_U):"
+
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:3
+msgid "Use _Yahoo Japan"
+msgstr "Yahoo ଜାପାନ ଉପଯୋଗ କରନ୍ତୁ (_Y)"
+
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:4
+msgid "Yahoo I_D:"
+msgstr "Yahoo I_D:"
+
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:6
+msgid "_Ignore conference and chatroom invitations"
+msgstr "ସମ୍ମେଳନ ଏବଂ ଚାର୍ଟକକ୍ଷ ଆମନ୍ତ୍ରଣଗୁଡ଼ିକୁ ଅଗ୍ରାହ୍ୟ କରନ୍ତୁ (_I)"
+
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:8
+msgid "_Room List locale:"
+msgstr "କକ୍ଷ ତାଲିକା ଲୋକେଲ (_R):"
+
+#: ../libempathy-gtk/empathy-avatar-chooser.c:449
+#: ../libempathy-gtk/empathy-avatar-chooser.c:525
+msgid "Couldn't convert image"
+msgstr "ଚିତ୍ର ରୂପାନ୍ତର କରିହେଲା ନାହିଁ"
+
+#: ../libempathy-gtk/empathy-avatar-chooser.c:450
+msgid "None of the accepted image formats is supported on your system"
+msgstr "ଗ୍ରହଣ କରାଯାଇଥିବା ପ୍ରତିଛବି ସଜ୍ଜିକରଣ ଶୈଳୀ ମଧ୍ଯରୁ କେହି ମଧ୍ଯ ଆପଣଙ୍କ ତନ୍ତ୍ରରେ ସମର୍ଥିତ ନୁହଁ"
+
+#: ../libempathy-gtk/empathy-avatar-chooser.c:933
+msgid "Select Your Avatar Image"
+msgstr "ନିଜର ଅବତାର ପ୍ରତିଛବି ଚୟନ କରନ୍ତୁ"
+
+#: ../libempathy-gtk/empathy-avatar-chooser.c:936
+msgid "No Image"
+msgstr "କୌଣସି ପ୍ରତିଛବି ନାହିଁ"
+
+#: ../libempathy-gtk/empathy-avatar-chooser.c:998
+msgid "Images"
+msgstr "ପ୍ରତିଛବି"
+
+#: ../libempathy-gtk/empathy-avatar-chooser.c:1002
+msgid "All Files"
+msgstr "ସମସ୍ତ ଫାଇଲ"
+
+#: ../libempathy-gtk/empathy-avatar-image.c:324
+msgid "Click to enlarge"
+msgstr "ବଡ଼କରିବା ପାଇଁ କ୍ଲିକ କରନ୍ତୁ"
+
+#: ../libempathy-gtk/empathy-chat.c:186
+msgid "Failed to reconnect this chat"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-chat.c:404
+msgid "Unsupported command"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-chat.c:539
+msgid "offline"
+msgstr "ଅଫ ଲାଇନ"
+
+#: ../libempathy-gtk/empathy-chat.c:542
+msgid "invalid contact"
+msgstr "ତ୍ରୁଟିପୁର୍ଣ୍ଣ ସମ୍ପର୍କ"
+
+#: ../libempathy-gtk/empathy-chat.c:545
+msgid "permission denied"
+msgstr "ଅନୁମତି ନାହିଁ"
+
+#: ../libempathy-gtk/empathy-chat.c:548
+msgid "too long message"
+msgstr "ଅତ୍ଯାଧିକ ଲମ୍ବା ସନ୍ଦେଶ"
+
+#: ../libempathy-gtk/empathy-chat.c:551
+msgid "not implemented"
+msgstr "ନିଷ୍ପାଦନ କରାଯାଇ ନାହିଁ"
+
+#: ../libempathy-gtk/empathy-chat.c:554
+msgid "unknown"
+msgstr "ଅଜଣା"
+
+#: ../libempathy-gtk/empathy-chat.c:558
+#, c-format
+msgid "Error sending message '%s': %s"
+msgstr "ସନ୍ଦେଶ ପଠାଇବାରେ ତ୍ରୁଟି '%s': %s"
+
+#: ../libempathy-gtk/empathy-chat.c:588
+#, c-format
+msgid "Topic set to: %s"
+msgstr "ରେ ବିଷୟ ସେଟ କରାଯାଇଥାଏ: %s"
+
+#: ../libempathy-gtk/empathy-chat.c:590
+msgid "No topic defined"
+msgstr "କୌଣସି ବିଷୟ ବ୍ୟାଖ୍ୟା କରାଯାଇନାହିଁ"
+
+#: ../libempathy-gtk/empathy-chat.c:959
+msgid "(No Suggestions)"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-chat.c:1013
+msgid "Insert Smiley"
+msgstr "Smiley କୁ ଭର୍ତ୍ତି କରନ୍ତୁ"
+
+#. send button
+#: ../libempathy-gtk/empathy-chat.c:1031
+#: ../libempathy-gtk/empathy-ui-utils.c:1475
+msgid "_Send"
+msgstr "ପଠାନ୍ତୁ (_S)"
+
+#: ../libempathy-gtk/empathy-chat.c:1065
+msgid "_Spelling Suggestions"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-chat.c:1179
+#, c-format
+msgid "%s has joined the room"
+msgstr "%s କଠୋରିରେ ଯୋଗଦାନ କରିଛନ୍ତି"
+
+#: ../libempathy-gtk/empathy-chat.c:1182
+#, c-format
+msgid "%s has left the room"
+msgstr "%s କଠୋରିକୁ ପ୍ରସ୍ଥାନ କରିସାରିଛନ୍ତି"
+
+#: ../libempathy-gtk/empathy-chat.c:1313 ../src/empathy-call-window.c:1226
+msgid "Disconnected"
+msgstr "ଅସଂଯୋଜିତ"
+
+#: ../libempathy-gtk/empathy-chat.c:1742
+msgid "Connected"
+msgstr "ସଂଯୋଗିତ"
+
+#: ../libempathy-gtk/empathy-chat.c:1792
+#: ../libempathy-gtk/empathy-log-window.c:502
+msgid "Conversation"
+msgstr "କଥୋପକଥନ"
+
+#: ../libempathy-gtk/empathy-chat.ui.h:1 ../src/empathy-chat-window.c:472
+msgid "Topic:"
+msgstr "ବିଷୟ:"
+
+#: ../libempathy-gtk/empathy-chat-text-view.c:316
+msgid "_Copy Link Address"
+msgstr "ସଂଯୋଗ ଠିକଣାକୁ ନକଲ କରନ୍ତୁ (_C)"
+
+#: ../libempathy-gtk/empathy-chat-text-view.c:323
+msgid "_Open Link"
+msgstr "ସଂଯୋଗକୁ ଖୋଲନ୍ତୁ (_O)"
+
+#. Translators: timestamp displayed between conversations in
+#. * chat windows (strftime format string)
+#: ../libempathy-gtk/empathy-chat-text-view.c:421
+msgid "%A %B %d %Y"
+msgstr "%A %B %d %Y"
+
+#: ../libempathy-gtk/empathy-contact-dialogs.c:179
+#: ../libempathy-gtk/empathy-contact-dialogs.c:238
+msgid "Edit Contact Information"
+msgstr "ସମ୍ପର୍କ ସୂଚନା ସମ୍ପାଦିତ କରନ୍ତୁ"
+
+#: ../libempathy-gtk/empathy-contact-dialogs.c:289
+msgid "Personal Information"
+msgstr "ବ୍ଯକ୍ତିଗତ ସୂଚନା"
+
+#: ../libempathy-gtk/empathy-contact-dialogs.c:384
+msgid "New Contact"
+msgstr "ନୂତନ ସମ୍ପର୍କ"
+
+#: ../libempathy-gtk/empathy-contact-dialogs.ui.h:1
+msgid "Decide _Later"
+msgstr "ପରେ ସିଦ୍ଧାନ୍ତ କରନ୍ତୁ (_L)"
+
+#: ../libempathy-gtk/empathy-contact-dialogs.ui.h:2
+msgid "Subscription Request"
+msgstr "କ୍ରୟ ଅନୁରୋଧ"
+
+#: ../libempathy-gtk/empathy-contact-list-view.c:1375
+#, c-format
+msgid "Do you really want to remove the group '%s'?"
+msgstr "ଆପଣ ପ୍ରକୃତରେ ସେହି ଶ୍ରେଣୀ '%s'କୁ କାଢ଼ିବାକୁ ଚାହୁଁଛନ୍ତି କି?"
+
+#: ../libempathy-gtk/empathy-contact-list-view.c:1377
+msgid "Removing group"
+msgstr "ସମୂହ କଢ଼ାହେଉଛି"
+
+#: ../libempathy-gtk/empathy-contact-list-view.c:1424
+#: ../libempathy-gtk/empathy-contact-list-view.c:1502
+msgid "_Remove"
+msgstr "ଅପସାରଣ କରନ୍ତୁ (_R)"
+
+#: ../libempathy-gtk/empathy-contact-list-view.c:1454
+#, c-format
+msgid "Do you really want to remove the contact '%s'?"
+msgstr "ଆପଣ ପ୍ରକୃତରେ ସେହି ସମ୍ପର୍କ '%s'କୁ କାଢ଼ିବାକୁ ଚାହୁଁଛନ୍ତି କି?"
+
+#: ../libempathy-gtk/empathy-contact-list-view.c:1456
+msgid "Removing contact"
+msgstr "ସମ୍ପର୍କ କଢ଼ାହେଉଛି"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:135
+#: ../src/empathy-main-window.ui.h:8
+msgid "_Chat"
+msgstr "ଆଳାପ (_C)"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:166
+msgctxt "menu item"
+msgid "_Audio Call"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-menu.c:198
+msgctxt "menu item"
+msgid "_Video Call"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-menu.c:237
+msgid "_View Previous Conversations"
+msgstr "ପୁର୍ବତନ କଥୋପକଥନ ଦେଖନ୍ତୁ (_V)"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:259
+msgid "Send file"
+msgstr "ଫାଇଲ ପଠାନ୍ତୁ"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:287
+msgid "Infor_mation"
+msgstr "ସୂଚନା (_m)"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:314
+#: ../src/empathy-main-window.ui.h:11
+msgid "_Edit"
+msgstr "ସମ୍ପାଦନ କରନ୍ତୁ (_E)"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:372
+msgid "Inviting to this room"
+msgstr "ଏହି କଠୋରିକୁ ଆମନ୍ତ୍ରଣ କରୁଅଛି"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:403
+msgid "_Invite to chatroom"
+msgstr "ଚାର୍ଟ କଠୋରିକୁ ଆମନ୍ତ୍ରଣ କରୁଅଛି (_I)"
+
+#: ../libempathy-gtk/empathy-contact-selector.c:129
+msgid "Select a contact"
+msgstr "ଏକ ସମ୍ପର୍କ ଚୟନ କରନ୍ତୁ"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:440
+msgid "Save Avatar"
+msgstr "ଅବତାର ସଂରକ୍ଷଣ କରନ୍ତୁ"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:496
+msgid "Unable to save avatar"
+msgstr "ଅବତାର ସଂରକ୍ଷଣ କରିବାରେ ବିଫଳ"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:979
+msgid "Select"
+msgstr "ମନୋନୀତ କର"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:988
+#: ../src/empathy-main-window.c:903
+msgid "Group"
+msgstr "ସମୂହ"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1239
+msgid "Country ISO Code:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1241
+msgid "Country:"
+msgstr "ଦେଶ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1243
+msgid "State:"
+msgstr "ସ୍ଥିତି:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1245
+msgid "City:"
+msgstr "ମହାନଗର:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1247
+msgid "Area:"
+msgstr "ଅଂଚଳ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1249
+msgid "Postal Code:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1251
+msgid "Street:"
+msgstr "ସାହି:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1253
+msgid "Building:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1255
+msgid "Floor:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1257
+msgid "Room:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1259
+msgid "Text:"
+msgstr "ଟେକ୍ସଟ: "
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1261
+msgid "Description:"
+msgstr "ବର୍ଣ୍ଣନା:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1263
+msgid "URI:"
+msgstr "ୟୁ.ଆର.ଆଇ.:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1265
+msgid "Accuracy Level:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1267
+msgid "Error:"
+msgstr "ତୃଟି:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1269
+msgid "Vertical Error (meters):"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1271
+msgid "Horizontal Error (meters):"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1273
+msgid "Speed:"
+msgstr "ବେଗ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1275
+msgid "Bearing:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1277
+msgid "Climb Speed:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1279
+msgid "Last Updated on:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1281
+msgid "Longitude:"
+msgstr "ଦ୍ରାଘିମା:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1283
+msgid "Latitude:"
+msgstr "ଅକ୍ଷାଂଶ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1285
+msgid "Altitude:"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1332
+msgid "<b>Location</b>"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1345
+msgid "<b>Location</b>, "
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1395
+msgid "%B %e, %Y at %R UTC"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:1
+msgid "<b>Location</b> at (date)\t"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:2
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:1
+#: ../src/empathy-chatrooms-window.ui.h:1
+#: ../src/empathy-new-chatroom-dialog.ui.h:1
+msgid "Account:"
+msgstr "ଆକାଉଣ୍ଟ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:3
+msgid "Alias:"
+msgstr "ଉପନାମ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:4
+msgid "Birthday:"
+msgstr "ଜନ୍ମଦିନ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:5
+msgid "Client Information"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:6
+msgid "Client:"
+msgstr "ଗ୍ରାହକ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:7
+#: ../src/empathy-main-window.c:886
+msgid "Contact"
+msgstr "ସମ୍ପର୍କ"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:8
+msgid "Contact Details"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:9
+msgid "Email:"
+msgstr "ଇ-ମେଲ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:10
+msgid "Fullname:"
+msgstr "ପୁରା ନାମ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:11
+msgid "Groups"
+msgstr "ସମୂହଗୁଡିକ"
+
+#. Identifier to connect to Instant Messaging network
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:13
+msgid "Identifier:"
+msgstr "ପରିଚାୟକ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:14
+msgid "Information requested..."
+msgstr "ସୂଚନା ପାଇଁ ଅନୁରୋଧ କରାଯାଇଛି..."
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:15
+msgid "OS:"
+msgstr "ଓ.ଏସ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:16
+msgid ""
+"Select the groups you want this contact to appear in. Note that you can "
+"select more than one group or no groups."
+msgstr ""
+"ସେହି ସମୂହକୁ ବାଛନ୍ତୁ ଯେଉଁଥିରେ ଆପଣ ଏହାକୁ ଦୃଶ୍ୟମାନ କରିବାକୁ ଚାହୁଁଛନ୍ତି। ମନେରଖନ୍ତୁ ଯେ "
+"ଆପଣ ଗୋଟିଏରୁ ଅଧିକ ଶ୍ରେଣୀ ଅଥବା କୌଣସି ଶ୍ରେଣୀ ବିନା ବାଛି ପାରିବେ।"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:17
+msgid "Version:"
+msgstr "ସଂସ୍କରଣ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:18
+msgid "Web site:"
+msgstr "ଉଏବସାଇଟ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:19
+msgid "_Add Group"
+msgstr "ସମୂହକୁ ଯୋଗ କରନ୍ତୁ (_A)"
+
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:283
+msgid "new server"
+msgstr "ନୁଆ ସର୍ଭର"
+
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:510
+msgid "Server"
+msgstr "ସେବକ"
+
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:525
+msgid "Port"
+msgstr "ସଂଯୋଗିକୀ"
+
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:538
+msgid "SSL"
+msgstr "SSL"
+
+#: ../libempathy-gtk/empathy-log-window.c:495
+#: ../src/empathy-import-dialog.c:285
+msgid "Account"
+msgstr "ହିସାବ ଖାତା"
+
+#: ../libempathy-gtk/empathy-log-window.c:512
+msgid "Date"
+msgstr "ତାରିଖ"
+
+#: ../libempathy-gtk/empathy-log-window.ui.h:1
+msgid "Conversations"
+msgstr "କଥୋପକଥନ"
+
+#: ../libempathy-gtk/empathy-log-window.ui.h:2
+msgid "Previous Conversations"
+msgstr "ପୁର୍ବତନ କଥୋପକଥନଗୁଡ଼ିକ"
+
+#: ../libempathy-gtk/empathy-log-window.ui.h:3
+msgid "Search"
+msgstr "ଖୋଜନ୍ତୁ"
+
+#: ../libempathy-gtk/empathy-log-window.ui.h:4
+msgid "_For:"
+msgstr "ପାଇଁ (_F):"
+
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:2
+msgid "C_all"
+msgstr "କ_ଲ"
+
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:3
+msgid "C_hat"
+msgstr "ଆଳାପ (_h)"
+
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:4
+msgid "Contact ID:"
+msgstr "ସମ୍ପର୍କ ID:"
+
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:5
+msgid "New Conversation"
+msgstr "ନୁଆ କଥୋପକଥନ"
+
+#. COL_STATE_ICON_NAME
+#. COL_STATE
+#. COL_STATUS_TEXT
+#. COL_DISPLAY_MARKUP
+#. COL_STATUS_CUSTOMISABLE
+#. COL_TYPE
+#: ../libempathy-gtk/empathy-presence-chooser.c:172
+msgid "Custom Message..."
+msgstr ""
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:227
+msgid "Edit Custom Messages..."
+msgstr ""
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:326
+msgid "Click to remove this status as a favorite"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:335
+msgid "Click to make this status a favorite"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:369
+msgid "Set status"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:782
+msgid "Set your presence and current status"
+msgstr ""
+
+#. Custom messages
+#: ../libempathy-gtk/empathy-presence-chooser.c:1017
+msgid "Custom messages..."
+msgstr "ଇଚ୍ଛାରୂପ ସନ୍ଦେଶଗୁଡ଼ିକ..."
+
+#: ../libempathy-gtk/empathy-sound.c:51
+msgid "Received an instant message"
+msgstr "ଗୋଟିଏ ତୁରନ୍ତ ସନ୍ଦେଶ ଗ୍ରହଣ କରିଛି"
+
+#: ../libempathy-gtk/empathy-sound.c:53
+msgid "Sent an instant message"
+msgstr "ଗୋଟିଏ ତୁରନ୍ତ ସନ୍ଦେଶ ପଠାଇଛି"
+
+#: ../libempathy-gtk/empathy-sound.c:55
+msgid "Incoming chat request"
+msgstr "ଆସୁଥିବା ଚାର୍ଟ ଅନୁରୋଧ"
+
+#: ../libempathy-gtk/empathy-sound.c:57
+msgid "Contact connected"
+msgstr "ସମ୍ପର୍କ ସ୍ଥାପିତ"
+
+#: ../libempathy-gtk/empathy-sound.c:59
+msgid "Contact disconnected"
+msgstr "ସମ୍ପର୍କ ବିଚ୍ଛିନ୍ନ"
+
+#: ../libempathy-gtk/empathy-sound.c:61
+msgid "Connected to server"
+msgstr "ସର୍ଭର ସହ ସଂଯୋଗିତ"
+
+#: ../libempathy-gtk/empathy-sound.c:63
+msgid "Disconnected from server"
+msgstr "ସର୍ଭରରୁ ସଂଯୋଗ ଛିନ୍ନ ହୋଇଛି"
+
+#: ../libempathy-gtk/empathy-sound.c:65
+msgid "Incoming voice call"
+msgstr "ଆସୁଥିବା ସ୍ୱର କଲ"
+
+#: ../libempathy-gtk/empathy-sound.c:67
+msgid "Outgoing voice call"
+msgstr "ଯାଉଥିବା ସ୍ୱର କଲ"
+
+#: ../libempathy-gtk/empathy-sound.c:69
+msgid "Voice call ended"
+msgstr "ସ୍ୱର କଲ ସମାପ୍ତ ହୋଇଛି"
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.c:362
+msgid "Enter Custom Message"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.c:521
+msgid "Edit Custom Messages"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:1
+msgid "Add _New Preset"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:2
+msgid "Saved Presets"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:3
+msgid "gtk-add"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:4
+msgid "gtk-remove"
+msgstr ""
+
+#: ../libempathy-gtk/empathy-theme-manager.c:66
+msgid "Classic"
+msgstr "ଚିରପ୍ରତିଷ୍ଠିତ"
+
+#: ../libempathy-gtk/empathy-theme-manager.c:67
+msgid "Simple"
+msgstr "ସରଳ"
+
+#: ../libempathy-gtk/empathy-theme-manager.c:68
+msgid "Clean"
+msgstr "ସଫା"
+
+#: ../libempathy-gtk/empathy-theme-manager.c:69
+msgid "Blue"
+msgstr "ନୀଳ"
+
+#: ../libempathy-gtk/empathy-theme-manager.c:71
+msgid "Adium"
+msgstr "ଅଡିଅମ"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1377
+msgid "Unable to open URI"
+msgstr "ୟୁ.ଆର୍.ଆଇ. ଖୋଲିବାରେ ଅସମର୍ଥ"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1467
+msgid "Select a file"
+msgstr "ଏକ ଫାଇଲ ମନୋନୀତ କର"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1525
+msgid "Select a destination"
+msgstr ""
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:158
+msgid "Current Locale"
+msgstr "ପ୍ରଚଳିତ ଲୋକେଲ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:161
+#: ../libempathy-gtk/totem-subtitle-encoding.c:163
+#: ../libempathy-gtk/totem-subtitle-encoding.c:165
+#: ../libempathy-gtk/totem-subtitle-encoding.c:167
+msgid "Arabic"
+msgstr "ଆରବୀ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:170
+msgid "Armenian"
+msgstr "ଆର୍ମେନିୟାନ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:173
+#: ../libempathy-gtk/totem-subtitle-encoding.c:175
+#: ../libempathy-gtk/totem-subtitle-encoding.c:177
+msgid "Baltic"
+msgstr "ବାଲଟିକ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:180
+msgid "Celtic"
+msgstr "କେଳ୍ଟିକ୍"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:183
+#: ../libempathy-gtk/totem-subtitle-encoding.c:185
+#: ../libempathy-gtk/totem-subtitle-encoding.c:187
+#: ../libempathy-gtk/totem-subtitle-encoding.c:189
+msgid "Central European"
+msgstr "କେନ୍ଦ୍ର ୟୁରୋପୀୟ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:192
+#: ../libempathy-gtk/totem-subtitle-encoding.c:194
+#: ../libempathy-gtk/totem-subtitle-encoding.c:196
+#: ../libempathy-gtk/totem-subtitle-encoding.c:198
+msgid "Chinese Simplified"
+msgstr "ଚୀନୀୟ ସରଳ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:201
+#: ../libempathy-gtk/totem-subtitle-encoding.c:203
+#: ../libempathy-gtk/totem-subtitle-encoding.c:205
+msgid "Chinese Traditional"
+msgstr "ଚୀନୀୟ ପାରମ୍ପରିକ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:208
+msgid "Croatian"
+msgstr "କ୍ରୋଏସିଆନ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:211
+#: ../libempathy-gtk/totem-subtitle-encoding.c:213
+#: ../libempathy-gtk/totem-subtitle-encoding.c:215
+#: ../libempathy-gtk/totem-subtitle-encoding.c:217
+#: ../libempathy-gtk/totem-subtitle-encoding.c:219
+#: ../libempathy-gtk/totem-subtitle-encoding.c:221
+msgid "Cyrillic"
+msgstr "ସିରୀଲିକ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:224
+msgid "Cyrillic/Russian"
+msgstr "ସିରିଲିକ/ରୁଷୀୟ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:227
+#: ../libempathy-gtk/totem-subtitle-encoding.c:229
+msgid "Cyrillic/Ukrainian"
+msgstr "ସିରିଲିକ/ଇଉକ୍ରେନୀୟ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:232
+msgid "Georgian"
+msgstr "ଜ୍ଯୋର୍ଜିୟାନ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:235
+#: ../libempathy-gtk/totem-subtitle-encoding.c:237
+#: ../libempathy-gtk/totem-subtitle-encoding.c:239
+msgid "Greek"
+msgstr "ଗ୍ରୀକ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:242
+msgid "Gujarati"
+msgstr "ଗୁଜୁରାଟୀ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:245
+msgid "Gurmukhi"
+msgstr "ଗୁରୂମୂଖୀ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:248
+#: ../libempathy-gtk/totem-subtitle-encoding.c:250
+#: ../libempathy-gtk/totem-subtitle-encoding.c:252
+#: ../libempathy-gtk/totem-subtitle-encoding.c:254
+msgid "Hebrew"
+msgstr "ହିବ୍ରୁ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:257
+msgid "Hebrew Visual"
+msgstr "ହିବ୍ରୁ ଚାକ୍ଷୁଷ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:260
+msgid "Hindi"
+msgstr "ହିନ୍ଦୀ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:263
+msgid "Icelandic"
+msgstr "ଆଇସଲ୍ଯାଣ୍ଡିକ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:266
+#: ../libempathy-gtk/totem-subtitle-encoding.c:268
+#: ../libempathy-gtk/totem-subtitle-encoding.c:270
+msgid "Japanese"
+msgstr "ଜାପାନୀ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:273
+#: ../libempathy-gtk/totem-subtitle-encoding.c:275
+#: ../libempathy-gtk/totem-subtitle-encoding.c:277
+#: ../libempathy-gtk/totem-subtitle-encoding.c:279
+msgid "Korean"
+msgstr "କୋରିଆନ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:282
+msgid "Nordic"
+msgstr "ନର୍ଡିକ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:285
+msgid "Persian"
+msgstr "ପାର୍ସୀ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:288
+#: ../libempathy-gtk/totem-subtitle-encoding.c:290
+msgid "Romanian"
+msgstr "ରୋମାନୀୟାନ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:293
+msgid "South European"
+msgstr "ଦକ୍ଷିଣ ୟୁରୋପୀୟ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:296
+msgid "Thai"
+msgstr "ଥାଈ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:299
+#: ../libempathy-gtk/totem-subtitle-encoding.c:301
+#: ../libempathy-gtk/totem-subtitle-encoding.c:303
+#: ../libempathy-gtk/totem-subtitle-encoding.c:305
+msgid "Turkish"
+msgstr "ତୁର୍କୀ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:308
+#: ../libempathy-gtk/totem-subtitle-encoding.c:310
+#: ../libempathy-gtk/totem-subtitle-encoding.c:312
+#: ../libempathy-gtk/totem-subtitle-encoding.c:314
+#: ../libempathy-gtk/totem-subtitle-encoding.c:316
+msgid "Unicode"
+msgstr "ୟୁନିକୋଡ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:319
+#: ../libempathy-gtk/totem-subtitle-encoding.c:321
+#: ../libempathy-gtk/totem-subtitle-encoding.c:323
+#: ../libempathy-gtk/totem-subtitle-encoding.c:325
+#: ../libempathy-gtk/totem-subtitle-encoding.c:327
+msgid "Western"
+msgstr "ପାଶ୍ଚାତ୍ଯ"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:330
+#: ../libempathy-gtk/totem-subtitle-encoding.c:332
+#: ../libempathy-gtk/totem-subtitle-encoding.c:334
+msgid "Vietnamese"
+msgstr "ଭିୟେତନାମୀ"
+
+#.
+#. * vim: sw=2 ts=8 cindent noai bs=2
+#.
+#: ../megaphone/data/GNOME_Megaphone_Applet.schemas.in.h:1
+msgid "The contact to display in the applet. Empty means no contact is displayed."
+msgstr "ଆପଲେଟରେ ଦର୍ଶାଇବାକୁ ଥିବା ସମ୍ପର୍କ। ଖାଲି ମାନେ କୌଣସି ସମ୍ପର୍କ ଦର୍ଶାଯାଇନାହିଁ।"
+
+#: ../megaphone/data/GNOME_Megaphone_Applet.schemas.in.h:2
+msgid "The contact's avatar token. Empty means contact has no avatar."
+msgstr "ସମ୍ପର୍କର ଅଭତାର ଟକେନ। ଖାଲି ମାନେ ସମ୍ପର୍କରେ କୌଣସି ଅଭତାର ନାହିଁ।"
+
+#: ../megaphone/data/GNOME_Megaphone_Applet.server.in.in.h:1
+msgid "Megaphone"
+msgstr "Megaphone"
+
+#: ../megaphone/data/GNOME_Megaphone_Applet.server.in.in.h:2
+#: ../megaphone/src/megaphone-applet.c:519
+msgid "Talk!"
+msgstr "କୁହନ୍ତୁ!"
+
+#: ../megaphone/data/GNOME_Megaphone_Applet.xml.h:1
+#: ../nothere/data/GNOME_NotHere_Applet.xml.h:1
+msgid "_About"
+msgstr "ବିବରଣୀ (_A)"
+
+#: ../megaphone/data/GNOME_Megaphone_Applet.xml.h:2
+msgid "_Information"
+msgstr "ସୂଚନା (_I)"
+
+#: ../megaphone/data/GNOME_Megaphone_Applet.xml.h:3
+#: ../src/empathy-main-window.ui.h:18
+msgid "_Preferences"
+msgstr "ପସନ୍ଦ (_P)"
+
+#: ../megaphone/src/megaphone-applet.c:168
+msgid "Please configure a contact."
+msgstr "ଦୟାକରି ଏକ ସମ୍ପର୍କକୁ ବିନ୍ୟାସ କରନ୍ତୁ"
+
+#: ../megaphone/src/megaphone-applet.c:258
+msgid "Select contact..."
+msgstr "ଏକ ସମ୍ପର୍କ ଚୟନ କରନ୍ତୁ..."
+
+#: ../nothere/data/GNOME_NotHere_Applet.server.in.in.h:1
+msgid "Presence"
+msgstr "ଉପସ୍ଥିତି"
+
+#: ../nothere/data/GNOME_NotHere_Applet.server.in.in.h:2
+#: ../nothere/src/nothere-applet.c:106
+msgid "Set your own presence"
+msgstr "ଆପଣଙ୍କର ନିଜର ଉପସ୍ଥିତିକୁ ସେଟକରନ୍ତୁ"
+
+#: ../src/empathy.c:506
+msgid "Don't connect on startup"
+msgstr "ଆରମ୍ଭରେ ସଂଯୋଗ କରନ୍ତୁ ନାହିଁ"
+
+#: ../src/empathy.c:510
+msgid "Don't show the contact list on startup"
+msgstr "ଆରମ୍ଭରେ ସମ୍ପର୍କ ତାଲିକା ଦର୍ଶାନ୍ତୁ ନାହିଁ"
+
+#: ../src/empathy.c:514
+msgid "Show the accounts dialog"
+msgstr "ଖାତା ସଂଳାପ ଦର୍ଶାନ୍ତୁ"
+
+#: ../src/empathy.c:526
+msgid "- Empathy Instant Messenger"
+msgstr "- Empathy ତୀବ୍ର ସନ୍ଦେଶ ବାହକ"
+
+#: ../src/empathy-about-dialog.c:83
+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 "
+"Foundation; either version 2 of the License, or (at your option) any later "
+"version."
+msgstr ""
+"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 "
+"Foundation; either version 2 of the License, or (at your option) any later "
+"version."
+
+#: ../src/empathy-about-dialog.c:87
+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 "
+"FOR A PARTICULAR PURPOSE. See the GNU General Public License for more "
+"details."
+msgstr ""
+"Empathy is distributed in the hope that it will be useful, but WITHOUT ANY "
+"WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS "
+"FOR A PARTICULAR PURPOSE. See the GNU General Public License for more "
+"details."
+
+#: ../src/empathy-about-dialog.c:91
+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 "
+"Street, Fifth Floor, Boston, MA 02110-130159 USA"
+msgstr ""
+"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 "
+"Street, Fifth Floor, Boston, MA 02110-130159 USA"
+
+#: ../src/empathy-about-dialog.c:119
+msgid "An Instant Messaging client for GNOME"
+msgstr "GNOME ପାଇଁ ଗୋଟିଏ ତୀବ୍ର ସନ୍ଦେଶ ବାହକ ଗ୍ରାହକ"
+
+#: ../src/empathy-about-dialog.c:125
+msgid "translator-credits"
+msgstr "ଶୁଭ୍ରାଂଶୁ ବେହେରା <arya_subhransu@yahoo.co.in>"
+
+#: ../src/empathy-accounts-dialog.c:392
+msgid "Enabled"
+msgstr "ସକ୍ରିୟ"
+
+#: ../src/empathy-accounts-dialog.c:402 ../src/empathy-accounts-dialog.ui.h:1
+msgid "Accounts"
+msgstr "ଆକାଉଣ୍ଟଗୁଡିକ"
+
+#. To translator: %s is the protocol name
+#: ../src/empathy-accounts-dialog.c:837
+#, c-format
+msgid "New %s account"
+msgstr "ନୁଆ %s ଖାତା"
+
+#: ../src/empathy-accounts-dialog.c:950
+#, c-format
+msgid ""
+"You are about to remove your %s account!\n"
+"Are you sure you want to proceed?"
+msgstr ""
+"ଆପଣ ଆପଣଙ୍କର %s ଖାତାକୁ କାଢ଼ିବାକୁ ଯାଉଛନ୍ତି!\n"
+"ଆପଣ ନିଶ୍ଚିତ କି ଆପଣ ଅଗ୍ରସର ହେବାକୁ ଚାହୁଁଛନ୍ତି?"
+
+#: ../src/empathy-accounts-dialog.c:956
+msgid ""
+"Any associated conversations and chat rooms will NOT be removed if you "
+"decide to proceed.\n"
+"\n"
+"Should you decide to add the account back at a later time, they will still "
+"be available."
+msgstr ""
+"ଯେକୌଣସି ସଂଶ୍ଳିଷ୍ଟ ବାର୍ତ୍ତାଳାପ ଏବଂ ଚାର୍ଟରୁମଗୁଡ଼ିକୁ କଢ଼ାଯାଇପାରିବ ନାହିଁ ଯଦି ଆପଣ ଅଗ୍ରସର ହେବାକୁ ସିଦ୍ଧାନ୍ତ କରନ୍ତି।\n"
+"\n"
+"ଆପଣ ସେହି ଖାତାକୁ ପରବର୍ତ୍ତି ସମୟରେ ଯୋଗ କରିବା ପାଇଁ ଉଚିତ ମନେ କଲେ, ସେମାନେ ସେପର୍ଯ୍ୟନ୍ତ "
+"ଉପଲବ୍ଧ ରହିବେ।"
+
+#: ../src/empathy-accounts-dialog.ui.h:2
+msgid "Add Account"
+msgstr "ଆକାଉଣ୍ଟ ୟୋଗ କର"
+
+#: ../src/empathy-accounts-dialog.ui.h:3
+msgid "Cr_eate"
+msgstr "ସୃଷ୍ଟି କରନ୍ତୁ (_r)"
+
+#: ../src/empathy-accounts-dialog.ui.h:4
+msgid "Gmail"
+msgstr ""
+
+#: ../src/empathy-accounts-dialog.ui.h:5
+msgid "Import Accounts..."
+msgstr "ଖାତାଗୁଡ଼ିକୁ ଆମଦାନି କରନ୍ତୁ..."
+
+#: ../src/empathy-accounts-dialog.ui.h:6
+msgid "No protocol installed"
+msgstr ""
+
+#: ../src/empathy-accounts-dialog.ui.h:7
+msgid "Settings"
+msgstr "ସେଟିଙ୍ଗଗୁଡିକ"
+
+#: ../src/empathy-accounts-dialog.ui.h:8
+msgid ""
+"To add a new account, you first have to install a backend for each protocol "
+"you want to use."
+msgstr ""
+"ଗୋଟିଏ ନୂତନ ଖାତା ଯୋଗ କରିବା ପାଇଁ, ଆପଣଙ୍କୁ ପ୍ରଥମେ ବ୍ୟବହାର କରିବାକୁ ଚାହୁଁଥିବା ପ୍ରତ୍ୟେକ ପ୍ରୋଟୋକଲ "
+"ପାଇଁ ଗୋଟିଏ ପୃଷ୍ଠଭୂମି ସ୍ଥାପନ କରିବାକୁ ହେବ।"
+
+#: ../src/empathy-accounts-dialog.ui.h:9
+msgid "Type:"
+msgstr "ପ୍ରକାର:"
+
+#: ../src/empathy-accounts-dialog.ui.h:10
+msgid "_Add..."
+msgstr "ଯୋଗ କରନ୍ତୁ (_A)..."
+
+#: ../src/empathy-accounts-dialog.ui.h:11
+msgid "_Create a new account"
+msgstr ""
+
+#: ../src/empathy-accounts-dialog.ui.h:12
+msgid "_Reuse an existing account"
+msgstr ""
+
+#: ../src/empathy-call-window.c:420
+msgid "Contrast"
+msgstr "ସ୍ପଷ୍ଟତା"
+
+#: ../src/empathy-call-window.c:423
+msgid "Brightness"
+msgstr "ଉଜ୍ଜ୍ବଳତା"
+
+#: ../src/empathy-call-window.c:426
+msgid "Gamma"
+msgstr "ଗାମା"
+
+#: ../src/empathy-call-window.c:531
+msgid "Volume"
+msgstr "ଭଲ୍ଯୁମ"
+
+#: ../src/empathy-call-window.c:662
+msgid "Connecting..."
+msgstr "ସଂଯୋଗ କରୁଅଛି..."
+
+#: ../src/empathy-call-window.c:746
+msgid "_Sidebar"
+msgstr "ପାର୍ଶ୍ବ ପଟି (_S)"
+
+#: ../src/empathy-call-window.c:765
+msgid "Dialpad"
+msgstr "ଡାଏଲ ପ୍ଯାଡ"
+
+#: ../src/empathy-call-window.c:771
+msgid "Audio input"
+msgstr "ଧ୍ବନି ନିବେଶ"
+
+#: ../src/empathy-call-window.c:775
+msgid "Video input"
+msgstr "ଭିଡ଼ିଓ ନିବେଶ"
+
+#: ../src/empathy-call-window.c:836
+#, c-format
+msgid "Call with %s"
+msgstr ""
+
+#: ../src/empathy-call-window.c:905
+msgid "Call"
+msgstr "ଡାକରା"
+
+#. Translators: number of minutes:seconds the caller has been connected
+#: ../src/empathy-call-window.c:1336
+#, c-format
+msgid "Connected — %d:%02dm"
+msgstr ""
+
+#: ../src/empathy-call-window.ui.h:1
+msgid "Hang up"
+msgstr "ରଖିଦିଅ"
+
+#: ../src/empathy-call-window.ui.h:2
+msgid "Redial"
+msgstr ""
+
+#: ../src/empathy-call-window.ui.h:3
+msgid "Send Audio"
+msgstr "ଧ୍ବନି ପଠାନ୍ତୁ"
+
+#: ../src/empathy-call-window.ui.h:4
+msgid "Send video"
+msgstr "ଭିଡ଼ିଓ ପଠାନ୍ତୁ"
+
+#: ../src/empathy-call-window.ui.h:5
+msgid "Video preview"
+msgstr "ଭିଡିଓ ପୂର୍ବଦୃଶ୍ଯ"
+
+#: ../src/empathy-call-window.ui.h:6
+msgid "_Call"
+msgstr "_କଲ"
+
+#: ../src/empathy-call-window.ui.h:7 ../src/empathy-main-window.ui.h:21
+msgid "_View"
+msgstr "ଦ୍ରୁଶ୍ଯ (_V)"
+
+#: ../src/empathy-chat-window.c:344
+#, c-format
+msgid "Conversations (%d)"
+msgstr "କଥୋପକଥନ (%d)"
+
+#: ../src/empathy-chat-window.c:476
+msgid "Typing a message."
+msgstr "ଏକ ସନ୍ଦେଶ ଟାଇପ କରୁଅଛି."
+
+#: ../src/empathy-chatrooms-window.c:258
+msgid "Name"
+msgstr "ନାମ"
+
+#: ../src/empathy-chatrooms-window.c:276
+msgid "Room"
+msgstr "କକ୍ଷ"
+
+#: ../src/empathy-chatrooms-window.c:285
+msgid "Auto-Connect"
+msgstr "ସ୍ବୟଂ-ସଂଯୋଗ"
+
+#: ../src/empathy-chatrooms-window.ui.h:2
+msgid "Manage Favorite Rooms"
+msgstr "ମନପସନ୍ଦ କଠୋରିଗୁଡ଼ିକୁ ପରିଚାଳନା କରନ୍ତୁ"
+
+#: ../src/empathy-event-manager.c:321
+msgid "Incoming call"
+msgstr "ଆଗତ କଲ"
+
+#: ../src/empathy-event-manager.c:324
+#, c-format
+msgid "%s is calling you, do you want to answer?"
+msgstr "%s ଆପଣଙ୍କୁ ଡାକୁଅଛି, ଆପଣ ଉତ୍ତର ଦେବାକୁ ଚାହୁଁଛନ୍ତି କି?"
+
+#: ../src/empathy-event-manager.c:331
+msgid "_Reject"
+msgstr "ଅସ୍ୱୀକାର କରନ୍ତୁ (_R)"
+
+#: ../src/empathy-event-manager.c:337
+msgid "_Answer"
+msgstr "ଉତ୍ତର ଦିଅନ୍ତୁ (_A)"
+
+#: ../src/empathy-event-manager.c:452
+#, c-format
+msgid "Incoming call from %s"
+msgstr "%s ଠାରୁ ଆଗତ କଲ"
+
+#: ../src/empathy-event-manager.c:496
+#, c-format
+msgid "%s is offering you an invitation"
+msgstr "%s ଆପଣଙ୍କୁ ଆମନ୍ତ୍ରଣ କରୁଅଛି"
+
+#: ../src/empathy-event-manager.c:502
+msgid "An external application will be started to handle it."
+msgstr "ଏହାକୁ ନିୟନ୍ତ୍ରଣ କରିବା ପାଇଁ ଗୋଟିଏ ବାହ୍ୟ ପ୍ରୟୋଗକୁ ଆରମ୍ଭ କରାଯିବ।"
+
+#: ../src/empathy-event-manager.c:507
+msgid "You don't have the needed external application to handle it."
+msgstr "ଆପଣଙ୍କ ପାଖରେ ଏହାକୁ ନିୟନ୍ତ୍ରଣ କରିବା ପାଇଁ ଆବଶ୍ୟକୀୟ ବାହ୍ୟ ପ୍ରୟୋଗ ନାହିଁ।"
+
+#: ../src/empathy-event-manager.c:634
+msgid "Room invitation"
+msgstr "କଠୋରି ଆମନ୍ତ୍ରଣ"
+
+#: ../src/empathy-event-manager.c:637
+#, c-format
+msgid "%s is inviting you to join %s"
+msgstr "%s ଆପଣଙ୍କୁ %s ରେ ଯୋଗଦାନ କରିବା ପାଇଁ ଆମନ୍ତ୍ରଣ କରୁଛନ୍ତି"
+
+#: ../src/empathy-event-manager.c:645
+msgid "_Decline"
+msgstr "_ଅସ୍ବୀକାର"
+
+#: ../src/empathy-event-manager.c:650
+#: ../src/empathy-new-chatroom-dialog.ui.h:7
+msgid "_Join"
+msgstr "ଯୋଗଦାନ କରନ୍ତୁ (_J)"
+
+#: ../src/empathy-event-manager.c:689
+#, c-format
+msgid "%s invited you to join %s"
+msgstr "%s ଆପଣଙ୍କୁ %s ରେ ଯୋଗଦାନ କରିବା ପାଇଁ ଆମନ୍ତ୍ରଣ କରିଛନ୍ତି"
+
+#: ../src/empathy-event-manager.c:715
+#, c-format
+msgid "Incoming file transfer from %s"
+msgstr "%sରୁ ଆସୁଥିବା ଫାଇଲ ସ୍ଥାନାନ୍ତରଣ"
+
+#: ../src/empathy-event-manager.c:895
+#, c-format
+msgid "Subscription requested by %s"
+msgstr "%s ଦ୍ୱାରା ଅନୁରୋଧ କରାଯାଇଥିବା ସଦସ୍ୟତା"
+
+#: ../src/empathy-event-manager.c:899
+#, c-format
+msgid ""
+"\n"
+"Message: %s"
+msgstr ""
+"\n"
+"ସନ୍ଦେଶ: %s"
+
+#. someone is logging off
+#: ../src/empathy-event-manager.c:935
+#, c-format
+msgid "%s is now offline."
+msgstr ""
+
+#. someone is logging in
+#: ../src/empathy-event-manager.c:951
+#, c-format
+msgid "%s is now online."
+msgstr ""
+
+#. Translators: time left, when it is more than one hour
+#: ../src/empathy-ft-manager.c:101
+#, c-format
+msgid "%u:%02u.%02u"
+msgstr "%u:%02u.%02u"
+
+#. Translators: time left, when is is less than one hour
+#: ../src/empathy-ft-manager.c:104
+#, c-format
+msgid "%02u.%02u"
+msgstr "%02u.%02u"
+
+#: ../src/empathy-ft-manager.c:180
+msgctxt "file transfer percent"
+msgid "Unknown"
+msgstr "ଅଜଣା"
+
+#: ../src/empathy-ft-manager.c:275
+#, c-format
+msgid "%s of %s at %s/s"
+msgstr ""
+
+#: ../src/empathy-ft-manager.c:276
+#, c-format
+msgid "%s of %s"
+msgstr "%s ରୁ %s"
+
+#. translators: first %s is filename, second %s is the contact name
+#: ../src/empathy-ft-manager.c:307
+#, c-format
+msgid "Receiving \"%s\" from %s"
+msgstr "%sରୁ \"%s\"କୁ ଗ୍ରହଣ କରୁଅଛି"
+
+#. translators: first %s is filename, second %s is the contact name
+#: ../src/empathy-ft-manager.c:310
+#, c-format
+msgid "Sending \"%s\" to %s"
+msgstr "\"%s\" କୁ %s ପାଖକୁ ପଠାଯାଉଛି"
+
+#. translators: first %s is filename, second %s
+#. * is the contact name
+#: ../src/empathy-ft-manager.c:340
+#, c-format
+msgid "Error receiving \"%s\" from %s"
+msgstr ""
+
+#: ../src/empathy-ft-manager.c:343
+msgid "Error receiving a file"
+msgstr ""
+
+#: ../src/empathy-ft-manager.c:348
+#, c-format
+msgid "Error sending \"%s\" to %s"
+msgstr ""
+
+#: ../src/empathy-ft-manager.c:351
+msgid "Error sending a file"
+msgstr ""
+
+#. translators: first %s is filename, second %s
+#. * is the contact name
+#: ../src/empathy-ft-manager.c:490
+#, c-format
+msgid "\"%s\" received from %s"
+msgstr "\"%s\" ଗ୍ରହଣ କରାଗଲା %s ଠାରୁ"
+
+#. translators: first %s is filename, second %s
+#. * is the contact name
+#: ../src/empathy-ft-manager.c:495
+#, c-format
+msgid "\"%s\" sent to %s"
+msgstr "\"%s\" ପଠାଗଲା %s କୁ"
+
+#: ../src/empathy-ft-manager.c:498
+msgid "File transfer completed"
+msgstr "ଫାଇଲ ପରିବହନ ସମ୍ପୂର୍ଣ୍ଣ ହୋଇଅଛି "
+
+#: ../src/empathy-ft-manager.c:617 ../src/empathy-ft-manager.c:784
+msgid "Waiting for the other participant's response"
+msgstr ""
+
+#: ../src/empathy-ft-manager.c:643 ../src/empathy-ft-manager.c:681
+#, c-format
+msgid "Checking integrity of \"%s\""
+msgstr ""
+
+#: ../src/empathy-ft-manager.c:646 ../src/empathy-ft-manager.c:684
+#, c-format
+msgid "Hashing \"%s\""
+msgstr ""
+
+#: ../src/empathy-ft-manager.c:1024
+msgid "%"
+msgstr "%"
+
+#: ../src/empathy-ft-manager.c:1036
+msgid "File"
+msgstr "ଫାଇଲ"
+
+#: ../src/empathy-ft-manager.c:1058
+msgid "Remaining"
+msgstr "ନାମ ପରିବର୍ତ୍ତନ କରୁଅଛି"
+
+#: ../src/empathy-ft-manager.ui.h:1
+msgid "File Transfers"
+msgstr "ଫାଇଲ ସ୍ଥାନାନ୍ତରଣ"
+
+#: ../src/empathy-ft-manager.ui.h:2
+msgid "Remove completed, canceled and failed file transfers from the list"
+msgstr "କାଢ଼ିବା ସମ୍ପୂର୍ଣ୍ଣ ହୋଇଛି, ତାଲିକାରୁ ବାତିଲ ଏବଂ ବିଫଳ ଫାଇଲ ସ୍ଥାନାନ୍ତରଣ"
+
+#. Translators: this is the header of a treeview column
+#: ../src/empathy-import-dialog.c:263
+msgid "Import"
+msgstr "ଆୟତ କରନ୍ତୁ"
+
+#: ../src/empathy-import-dialog.c:272
+msgid "Protocol"
+msgstr "ପ୍ରୋଟୋକଲ"
+
+#: ../src/empathy-import-dialog.c:298
+msgid "Source"
+msgstr "ଉତ୍ସ"
+
+#: ../src/empathy-import-dialog.c:392
+msgid ""
+"No accounts to import could be found. Empathy currently only supports "
+"importing accounts from Pidgin."
+msgstr ""
+"ଆମଦାନୀ କରିବା ପାଇଁ କୌଣସି ଖାତା ମିଳୁନାହିଁ। Empathy ବର୍ତ୍ତମାନ କେବଳ ଖାତାଗୁଡ଼ିକୁ Pidginରୁ "
+"ଆମଦାନୀ କରିବାକୁ ସମର୍ଥନ କରିଥାଏ।"
+
+#: ../src/empathy-import-dialog.ui.h:1
+msgid "Import Accounts"
+msgstr "ଖାତାଗୁଡ଼ିକୁ ଆମଦାନି କରନ୍ତୁ"
+
+#: ../src/empathy-main-window.c:396
+msgid "_Edit account"
+msgstr "ଖାତା ସମ୍ପାଦନ କରନ୍ତୁ (_E)"
+
+#: ../src/empathy-main-window.c:499
+msgid "No error specified"
+msgstr "କିଛି ତ୍ରୁଟି ଦର୍ଶାଯାଇନାହିଁ"
+
+#: ../src/empathy-main-window.c:502
+msgid "Network error"
+msgstr "ନେଟୱାର୍କ ତ୍ରୁଟି"
+
+#: ../src/empathy-main-window.c:505
+msgid "Authentication failed"
+msgstr "ବୈଧିକରଣ ବିଫଳ"
+
+#: ../src/empathy-main-window.c:508
+msgid "Encryption error"
+msgstr "ସଂଗୁପ୍ତ ତ୍ରୁଟି"
+
+#: ../src/empathy-main-window.c:511
+msgid "Name in use"
+msgstr "ନାମ ଯାହାକି ବ୍ଯବହୃତ ହେଉଅଛି"
+
+#: ../src/empathy-main-window.c:514
+msgid "Certificate not provided"
+msgstr "ପ୍ରମାଣପତ୍ର ଦିଆଯାଇନାହିଁ"
+
+#: ../src/empathy-main-window.c:517
+msgid "Certificate untrusted"
+msgstr "ପ୍ରମାଣପତ୍ର ବିଶ୍ୱସ୍ଥ ନୁହଁ"
+
+#: ../src/empathy-main-window.c:520
+msgid "Certificate expired"
+msgstr "ପ୍ରମାଣପତ୍ରର ସମୟ ସମାପ୍ତ"
+
+#: ../src/empathy-main-window.c:523
+msgid "Certificate not activated"
+msgstr "ପ୍ରମାଣପତ୍ର ସକ୍ରିୟ କରାଯାଇନାହିଁ"
+
+#: ../src/empathy-main-window.c:526
+msgid "Certificate hostname mismatch"
+msgstr "ପ୍ରମାଣପତ୍ର ହୋଷ୍ଟ ନାମ ଅମେଳ"
+
+#: ../src/empathy-main-window.c:529
+msgid "Certificate fingerprint mismatch"
+msgstr "ପ୍ରମାଣପତ୍ର ଅଙ୍ଗୁଳିଚିହ୍ନ ମେଳଖାଉନାହିଁ"
+
+#: ../src/empathy-main-window.c:532
+msgid "Certificate self-signed"
+msgstr "ପ୍ରମାଣପତ୍ର ନିଜ ଦ୍ୱାରା ହସ୍ତାକ୍ଷର ହୋଇଛି"
+
+#: ../src/empathy-main-window.c:535
+msgid "Certificate error"
+msgstr "ପ୍ରମାଣପତ୍ର ତ୍ରୁଟି"
+
+#: ../src/empathy-main-window.c:538
+msgid "Unknown error"
+msgstr "ଅଜଣା ତ୍ରୁଟି"
+
+#: ../src/empathy-main-window.c:1218
+msgid "Show and edit accounts"
+msgstr "ଖାତା ଦେଖନ୍ତୁ ଏବଂ ସମ୍ପାଦନ କରନ୍ତୁ"
+
+#: ../src/empathy-main-window.ui.h:1 ../src/empathy-preferences.ui.h:10
+msgid "Contact List"
+msgstr "ସମ୍ପର୍କ ତାଲିକା"
+
+#: ../src/empathy-main-window.ui.h:2
+msgid "Contacts on a _Map"
+msgstr ""
+
+#: ../src/empathy-main-window.ui.h:3
+msgid "Context"
+msgstr "ପ୍ରସଙ୍ଗ"
+
+#: ../src/empathy-main-window.ui.h:4
+msgid "Join _Favorites"
+msgstr "ମନପସନ୍ଦଗୁଡ଼ିକରେ ଅଂଶଗ୍ରହଣ କରନ୍ତୁ (_F)"
+
+#: ../src/empathy-main-window.ui.h:5
+msgid "Manage Favorites"
+msgstr "ମନପସନ୍ଦଗୁଡ଼ିକୁ ପରିଚାଳନ କରନ୍ତୁ"
+
+#: ../src/empathy-main-window.ui.h:6
+msgid "_Accounts"
+msgstr "_ଆକାଉଣ୍ଟଗୁଡିକ"
+
+#: ../src/empathy-main-window.ui.h:7
+msgid "_Add Contact..."
+msgstr "ସମ୍ପର୍କ ଯୋଗ କରନ୍ତୁ (_A)..."
+
+#: ../src/empathy-main-window.ui.h:9
+msgid "_Contents"
+msgstr "ସୂଚୀପତ୍ର (_C)"
+
+#: ../src/empathy-main-window.ui.h:10
+msgid "_Debug"
+msgstr "ତୃଟିମୁକ୍ତ କରନ୍ତୁ (_D)"
+
+#: ../src/empathy-main-window.ui.h:12
+msgid "_File Transfers"
+msgstr ""
+
+#: ../src/empathy-main-window.ui.h:13
+msgid "_Help"
+msgstr "ସହାୟତା (_H)"
+
+#: ../src/empathy-main-window.ui.h:14
+msgid "_Join..."
+msgstr ""
+
+#: ../src/empathy-main-window.ui.h:15 ../src/empathy-status-icon.ui.h:2
+msgid "_New Conversation..."
+msgstr "ନୁଆ କଥୋପକଥନ (_N)..."
+
+#: ../src/empathy-main-window.ui.h:16
+msgid "_Offline Contacts"
+msgstr ""
+
+#: ../src/empathy-main-window.ui.h:17
+msgid "_Personal Information"
+msgstr "ବ୍ଯକ୍ତିଗତ ସୂଚନା (_P)"
+
+#: ../src/empathy-main-window.ui.h:19
+msgid "_Previous Conversations"
+msgstr ""
+
+#: ../src/empathy-main-window.ui.h:20
+msgid "_Room"
+msgstr "କକ୍ଷ (_R)"
+
+#: ../src/empathy-new-chatroom-dialog.c:331
+msgid "Chat Room"
+msgstr ""
+
+#: ../src/empathy-new-chatroom-dialog.c:347
+msgid "Members"
+msgstr "ସଦସ୍ଯ ମାନେ"
+
+#: ../src/empathy-new-chatroom-dialog.c:496
+#, c-format
+msgctxt ""
+"Room/Join's roomlist tooltip. Parametersare a channel name, yes/no, yes/no "
+"and a number."
+msgid ""
+"<b>%s</b>\n"
+"Invite required: %s\n"
+"Password required: %s\n"
+"Members: %s"
+msgstr ""
+
+#: ../src/empathy-new-chatroom-dialog.c:498
+#: ../src/empathy-new-chatroom-dialog.c:499
+msgid "Yes"
+msgstr "ହଁ"
+
+#: ../src/empathy-new-chatroom-dialog.c:498
+#: ../src/empathy-new-chatroom-dialog.c:499
+msgid "No"
+msgstr "ନାଁ"
+
+#: ../src/empathy-new-chatroom-dialog.c:526
+msgid "Could not start room listing"
+msgstr ""
+
+#: ../src/empathy-new-chatroom-dialog.c:536
+msgid "Could not stop room listing"
+msgstr ""
+
+#: ../src/empathy-new-chatroom-dialog.ui.h:2
+msgid "Couldn't load room list"
+msgstr ""
+
+#: ../src/empathy-new-chatroom-dialog.ui.h:3
+msgid "Enter the room name to join here or click on one or more rooms in the list."
+msgstr ""
+"ଏଠାରେ ଅଂଶଗ୍ରହଣ କରିବା ପାଇଁ କକ୍ଷ ନାମ ଭରଣ କରନ୍ତୁ କିମ୍ବା ତାଲିକାରେ ଥିବା ଗୋଟିଏ କିମ୍ବା ଅନେକ "
+"କକ୍ଷରେ କ୍ଲିକ କରନ୍ତୁ।"
+
+#: ../src/empathy-new-chatroom-dialog.ui.h:4
+msgid ""
+"Enter the server which hosts the room, or leave it empty if the room is on "
+"the current account's server"
+msgstr ""
+"ଏହି କକ୍ଷକୁ ହୋଷ୍ଟ କରୁଥିବା ସର୍ଭରକୁ ଭରଣ କରନ୍ତୁ, କିମ୍ବା ଯଦି ପ୍ରଚଳିତ ଖାତା ସର୍ଭରରେ ଅଛି ତେବେ ଏହାକୁ "
+"ଖାଲିଛାଡ଼ନ୍ତୁ"
+
+#: ../src/empathy-new-chatroom-dialog.ui.h:5
+msgid "Join Room"
+msgstr ""
+
+#: ../src/empathy-new-chatroom-dialog.ui.h:6
+msgid "Room List"
+msgstr "କକ୍ଷତାଲିକା"
+
+#: ../src/empathy-new-chatroom-dialog.ui.h:8
+msgid "_Room:"
+msgstr "କଠୋରି (_R):"
+
+#: ../src/empathy-preferences.c:161
+msgid "Message received"
+msgstr "ସନ୍ଦେଶ ପ୍ରାପ୍ତ"
+
+#: ../src/empathy-preferences.c:162
+msgid "Message sent"
+msgstr "ସନ୍ଦେଶ ପଠାଯାଇଅଛି"
+
+#: ../src/empathy-preferences.c:163
+msgid "New conversation"
+msgstr "ନୁଆ କଥୋପକଥନ"
+
+#: ../src/empathy-preferences.c:164
+msgid "Contact goes online"
+msgstr "ସମ୍ପର୍କ ଅନଲାଇନ ଆସିଲେ"
+
+#: ../src/empathy-preferences.c:165
+msgid "Contact goes offline"
+msgstr "ସମ୍ପର୍କ ଅଫଲାଇନ ଗଲେ"
+
+#: ../src/empathy-preferences.c:166
+msgid "Account connected"
+msgstr "ଖାତା ସଂଯୋଗିତ"
+
+#: ../src/empathy-preferences.c:167
+msgid "Account disconnected"
+msgstr "ଖାତା ବିଚ୍ଛିନ୍ନ"
+
+#: ../src/empathy-preferences.c:446
+msgid "Language"
+msgstr "ଭାଷା"
+
+#: ../src/empathy-preferences.ui.h:1
+msgid "Adium theme to use:"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:2
+msgid "Allow _GPS usage"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:3
+msgid "Allow _cellphone usage"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:4
+msgid "Allow _network usage"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:5
+msgid "Appearance"
+msgstr "ସାଦ୍ରୁଶ୍ଯ"
+
+#: ../src/empathy-preferences.ui.h:6
+msgid "Automatically _connect on startup "
+msgstr "ଆରମ୍ଭରେ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ସଂଯୋଗ କରନ୍ତୁ (_c)"
+
+#: ../src/empathy-preferences.ui.h:7
+msgid "Avatars are user chosen images shown in the contact list"
+msgstr "ଅଭତାରଗୁଡ଼ିକ ସମ୍ପର୍କ ତାଲିକାରେ ଦର୍ଶାଯାଇଥିବା ଚାଳକ ବଚ୍ଛିତ ପ୍ରତିଛବି"
+
+#: ../src/empathy-preferences.ui.h:8
+msgid "Behavior"
+msgstr "ଆଚରଣ"
+
+#: ../src/empathy-preferences.ui.h:9
+msgid "Chat Th_eme:"
+msgstr "ଚାର୍ଟ ପ୍ରସଙ୍ଗ (_e):"
+
+#: ../src/empathy-preferences.ui.h:11
+msgid "Disable notifications when _away or busy"
+msgstr "ଦୂରରେ ଥିବା ସମୟରେ କିମ୍ବା ବ୍ୟସ୍ତ ଥିବା ସମୟରେ ବିଜ୍ଞପ୍ତିକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ (_a)"
+
+#: ../src/empathy-preferences.ui.h:12
+msgid "Disable sounds when _away or busy"
+msgstr "ଦୂରରେ ଥିବା ସମୟରେ କିମ୍ବା ବ୍ୟସ୍ତ ଥିବା ସମୟରେ ଧ୍ୱନିକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ (_a)"
+
+#: ../src/empathy-preferences.ui.h:13
+msgid "Enable notifications when a contact comes online"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:14
+msgid "Enable notifications when a contact goes offline"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:15
+msgid "Enable notifications when the _chat is not focused"
+msgstr "ଚାର୍ଟକୁ ଲକ୍ଷ୍ୟ କରାଯାଉନଥିବା ସମୟରେ ବିଜ୍ଞପ୍ତିକୁ ସକ୍ରିୟ କରନ୍ତୁ (_c)"
+
+#: ../src/empathy-preferences.ui.h:16
+msgid "Enable spell checking for languages:"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:17
+msgid "General"
+msgstr "ସାଧାରଣ"
+
+#: ../src/empathy-preferences.ui.h:18
+msgid "Geoclue Settings"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:19
+msgid "Location"
+msgstr "ଅବସ୍ଥାନ"
+
+#: ../src/empathy-preferences.ui.h:20
+msgid "Not a valid adium theme"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:21
+msgid "Notifications"
+msgstr "ବିଜ୍ଞପ୍ତି"
+
+#: ../src/empathy-preferences.ui.h:22
+msgid "Play sound for events"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:23
+msgid "Preferences"
+msgstr "ପସନ୍ଦ"
+
+#: ../src/empathy-preferences.ui.h:24
+msgid "Privacy"
+msgstr "ଗୋପନୀଯତା"
+
+#: ../src/empathy-preferences.ui.h:25
+msgid ""
+"Reduced location accuracy means that nothing more precise than your city, "
+"state and country will be published. GPS coordinates will have a random "
+"value added (&#xB1;0.25&#xB0;)."
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:26
+msgid "Show _avatars"
+msgstr "ଅବତାର ଦେଖାନ୍ତୁ (_a)"
+
+#: ../src/empathy-preferences.ui.h:27
+msgid "Show _smileys as images"
+msgstr "ସ୍ମାଇଲିକୁ ପ୍ରତିଛବି ଆକାରରେ ଦର୍ଶାନ୍ତୁ (_s)"
+
+#: ../src/empathy-preferences.ui.h:28
+msgid "Show co_mpact contact list"
+msgstr "ସଂଗୁପ୍ତ ସମ୍ପର୍କ ତାଲିକା ଦର୍ଶାନ୍ତୁ (_m)"
+
+#: ../src/empathy-preferences.ui.h:29
+msgid "Show contact _list in rooms"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:30
+msgid "Sort by _name"
+msgstr "ନାମ ହିସାବରେ ସଜାଡ଼ନ୍ତୁ (_n)"
+
+#: ../src/empathy-preferences.ui.h:31
+msgid "Sort by s_tate"
+msgstr "ଅବସ୍ଥା ହିସାବରେ ସଜାଡ଼ନ୍ତୁ (_t)"
+
+#: ../src/empathy-preferences.ui.h:32
+msgid "Sounds"
+msgstr "ଶବ୍ଦ"
+
+#: ../src/empathy-preferences.ui.h:33
+msgid "Spell Checking"
+msgstr "ବନାନ ଯାଞ୍ଚ କରାଯାଉଛି"
+
+#: ../src/empathy-preferences.ui.h:34
+msgid ""
+"The list of languages reflects only the languages for which you have a "
+"dictionary installed."
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:35
+msgid "Themes"
+msgstr "ପ୍ରସଙ୍ଗ"
+
+#: ../src/empathy-preferences.ui.h:36
+msgid "_Enable bubble notifications"
+msgstr "ବବଲ ବିଜ୍ଞପ୍ତିକୁ ସକ୍ରିୟ କରନ୍ତୁ (_E)"
+
+#: ../src/empathy-preferences.ui.h:37
+msgid "_Enable sound notifications"
+msgstr "ଧ୍ୱିନି ବିଜ୍ଞପ୍ତିକୁ ସକ୍ରିୟ କରନ୍ତୁ (_E)"
+
+#: ../src/empathy-preferences.ui.h:38
+msgid "_Open new chats in separate windows"
+msgstr "ନୁଆ ଚାଟଗୁଡ଼ିକ ଅଲଗା ୱିଣ୍ଡୋରେ ଖୋଲନ୍ତୁ (_O)"
+
+#: ../src/empathy-preferences.ui.h:39
+msgid "_Publish location to my contacts"
+msgstr ""
+
+#: ../src/empathy-preferences.ui.h:40
+msgid "_Reduce location accuracy"
+msgstr ""
+
+#: ../src/empathy-status-icon.ui.h:1
+msgid "Status"
+msgstr "ଅବସ୍ଥିତି"
+
+#: ../src/empathy-status-icon.ui.h:3
+msgid "_Quit"
+msgstr "ବିଦାୟ ନିଅନ୍ତୁ (_Q)"
+
+#: ../src/empathy-status-icon.ui.h:4
+msgid "_Show Contact List"
+msgstr "ସମ୍ପର୍କ ତାଲିକା ଦେଖନ୍ତୁ (_S)"
+
+#: ../src/empathy-tube-dispatch.c:375
+#, c-format
+msgid "Unable to start application for service %s: %s"
+msgstr "ସର୍ଭିସ %s ପାଇଁ ପ୍ରୟୋଗ ଆରମ୍ଭ କରିବାରେ ଅସମର୍ଥ: %s"
+
+#: ../src/empathy-tube-dispatch.c:446
+#, c-format
+msgid ""
+"An invitation was offered for service %s, but you don't have the needed "
+"application to handle it"
+msgstr ""
+"ସର୍ଭିସ %s ପାଇଁ ଗୋଟିଏ ଆମନ୍ତ୍ରଣ ପଠାଯାଇଛି, କିନ୍ତୁ ଆପଣଙ୍କ ପାଖରେ ଏହାକୁ ନିୟନ୍ତ୍ରଣ କରିବା ପାଇଁ "
+"ଆବଶ୍ୟକୀୟ ପ୍ରୟୋଗ ନାହିଁ"
+
+#: ../src/empathy-call-window-fullscreen.ui.h:1
+msgid "gtk-leave-fullscreen"
+msgstr ""
+
+#: ../src/empathy-map-view.ui.h:1
+msgid "Contact Map View"
+msgstr ""
+
+#: ../src/empathy-debug-dialog.c:111 ../src/empathy-debug-dialog.c:1083
+msgid "Error"
+msgstr "ତ୍ରୁଟି"
+
+#: ../src/empathy-debug-dialog.c:114 ../src/empathy-debug-dialog.c:1077
+msgid "Critical"
+msgstr "ଗୁରୁତର"
+
+#: ../src/empathy-debug-dialog.c:117 ../src/empathy-debug-dialog.c:1071
+msgid "Warning"
+msgstr "ଚେତାବନୀ"
+
+#: ../src/empathy-debug-dialog.c:120 ../src/empathy-debug-dialog.c:1065
+#: ../src/empathy-debug-dialog.c:1113
+msgid "Message"
+msgstr "ସନ୍ଦେଶ"
+
+#: ../src/empathy-debug-dialog.c:123 ../src/empathy-debug-dialog.c:1059
+msgid "Info"
+msgstr "ସୂଚନା"
+
+#: ../src/empathy-debug-dialog.c:126 ../src/empathy-debug-dialog.c:1053
+msgid "Debug"
+msgstr "ତୃଟିମୁକ୍ତ କରନ୍ତୁ"
+
+#: ../src/empathy-debug-dialog.c:845
+msgid "Save"
+msgstr "ସଂରକ୍ଷଣ କରନ୍ତୁ"
+
+#: ../src/empathy-debug-dialog.c:948
+msgid "Debug Window"
+msgstr "ଡିବଗ ଉଇଣ୍ଡୋ"
+
+#: ../src/empathy-debug-dialog.c:1021
+msgid "Pause"
+msgstr "ବିରତି"
+
+#: ../src/empathy-debug-dialog.c:1033
+msgid "Level "
+msgstr "ସ୍ତର"
+
+#: ../src/empathy-debug-dialog.c:1102
+msgid "Time"
+msgstr "ସମଯ"
+
+#: ../src/empathy-debug-dialog.c:1104
+msgid "Domain"
+msgstr "ପରିସର"
+
+#: ../src/empathy-debug-dialog.c:1106
+msgid "Category"
+msgstr "ବିଭାଗ"
+
+#: ../src/empathy-debug-dialog.c:1108
+msgid "Level"
+msgstr "ସ୍ତର"
+
+#: ../src/empathy-debug-dialog.c:1140
+msgid ""
+"The selected connection manager does not support the remote debugging "
+"extension."
+msgstr ""
+
diff --git a/po/ta.po b/po/ta.po
index 97719da85..d070d0bd6 100644
--- a/po/ta.po
+++ b/po/ta.po
@@ -1,20 +1,22 @@
-# translation of empathy.master.po to Tamil
+# translation of ta.po to
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Dr.T.vasudevan <agnihot3@gmail.com>, 2009.
+# Dr.T.Vasudevan <agnihot3@gmail.com>, 2009.
msgid ""
msgstr ""
-"Project-Id-Version: empathy.master\n"
+"Project-Id-Version: ta\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-05-20 13:57+0530\n"
-"PO-Revision-Date: 2009-05-07 21:34+0530\n"
-"Last-Translator: Dr.T.vasudevan <agnihot3@gmail.com>\n"
+"POT-Creation-Date: 2009-06-19 05:47+0530\n"
+"PO-Revision-Date: 2009-06-20 14:19+0530\n"
+"Last-Translator: Dr.T.Vasudevan <agnihot3@gmail.com>\n"
"Language-Team: Tamil <Ubuntu-l10n-tam@lists.ubuntu.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
+"X-Generator: Lokalize 0.3\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
#: ../data/empathy.desktop.in.in.h:1
msgid "Empathy Instant Messenger"
@@ -39,10 +41,8 @@ msgid "Chat window theme"
msgstr "அரட்டை சாளர கருத்து"
#: ../data/empathy.schemas.in.h:4
-msgid ""
-"Comma separated list of spell checker languages to use (e.g. en, fr, nl)."
-msgstr ""
-"சொல் திருத்தி மொழிகளை பயன்படுத்த காற் புள்ளியால் பிரித்த பட்டியல் (எ-டு. en, fr, nl)"
+msgid "Comma separated list of spell checker languages to use (e.g. en, fr, nl)."
+msgstr "சொல் திருத்தி மொழிகளை பயன்படுத்த காற் புள்ளியால் பிரித்த பட்டியல் (எ-டு. en, fr, nl)"
#: ../data/empathy.schemas.in.h:5
msgid "Compact contact list"
@@ -65,151 +65,202 @@ msgid "Disable sounds when away"
msgstr "வெளியே உள்ள போது ஒலியை செயல் நீக்குக"
#: ../data/empathy.schemas.in.h:10
+msgid "Empathy can publish the user's location"
+msgstr "பயனரின் இடத்தை தொடர்புகளுக்கு எம்பதியால் காட்ட இயலும்"
+
+#: ../data/empathy.schemas.in.h:11
+msgid "Empathy can use the GPS to guess the location"
+msgstr "எம்பதியால் பயனரின் இடத்தை ஊகிக்க ஜிபிஎஸ் ஐ பயன்படுத்த இயலும்"
+
+#: ../data/empathy.schemas.in.h:12
+msgid "Empathy can use the cellular network to guess the location"
+msgstr "எம்பதியால் பயனரின் இடத்தை ஊகிக்க அலைபேசி வலையை பயன்படுத்த இயலும்"
+
+#: ../data/empathy.schemas.in.h:13
+msgid "Empathy can use the network to guess the location"
+msgstr "எம்பதியால் பயனரின் இடத்தை ஊகிக்க வலையை பயன்படுத்த இயலும்"
+
+#: ../data/empathy.schemas.in.h:14
msgid "Empathy default download folder"
msgstr "எம்பதி முன்னிருப்பு தரவிறக்க அடைவு"
-#: ../data/empathy.schemas.in.h:11
+#: ../data/empathy.schemas.in.h:15
msgid "Empathy has asked about importing accounts"
msgstr "எம்பதி கணக்குகளை இறக்குமதி செய்ய கேட்கிறது"
-#: ../data/empathy.schemas.in.h:12
+#: ../data/empathy.schemas.in.h:16
msgid "Empathy should auto-connect on startup"
msgstr "துவங்கும் போது எம்பதி தானியங்கியாக இணைக்க வேண்டும்."
-#: ../data/empathy.schemas.in.h:13
+#: ../data/empathy.schemas.in.h:17
+msgid "Empathy should reduce the location's accuracy"
+msgstr "துவங்கும் போது எம்பதி இடததின் குறிப்பை குறைக்க வேண்டும்."
+
+#: ../data/empathy.schemas.in.h:18
msgid "Empathy should use the avatar of the contact as the chat window icon"
-msgstr ""
-"துவங்கும் போது எம்பதி அரட்டை சாரளத்தில் சின்னமாக தொடர்பின் அவதாரத்தை காட்ட வேண்டும்."
+msgstr "துவங்கும் போது எம்பதி அரட்டை சாரளத்தில் சின்னமாக தொடர்பின் அவதாரத்தை காட்ட வேண்டும்."
-#: ../data/empathy.schemas.in.h:14
+#: ../data/empathy.schemas.in.h:19
msgid "Enable popup notifications for new messages"
msgstr "புதிய செய்திகளுக்கு துள்ளு அறிவிப்புகளை செயல்படுத்து "
-#: ../data/empathy.schemas.in.h:15
+#: ../data/empathy.schemas.in.h:20
msgid "Enable spell checker"
msgstr "சொல் திருத்தியை செயல்படுத்து"
-#: ../data/empathy.schemas.in.h:16
+#: ../data/empathy.schemas.in.h:21
msgid "Hide main window"
msgstr "முதன்மை சாளரத்தை மறை "
-#: ../data/empathy.schemas.in.h:17
+#: ../data/empathy.schemas.in.h:22
msgid "Hide the main window."
msgstr "முதன்மை சாளரத்தை மறை "
-#: ../data/empathy.schemas.in.h:18
+#: ../data/empathy.schemas.in.h:23
msgid "NetworkManager should be used"
msgstr "வலைப்பின்னல் மேலாளரை பயன்படுத்த வேண்டும்"
-#: ../data/empathy.schemas.in.h:19
+#: ../data/empathy.schemas.in.h:24
msgid "Nick completed character"
msgstr "செல்லப்பெயரை பூர்த்தி செய்யும் எழுத்துரு"
-#: ../data/empathy.schemas.in.h:20
+#: ../data/empathy.schemas.in.h:25
msgid "Open new chats in separate windows"
msgstr "புதிய அரட்டைகளை தனி சாளரத்தில் திற"
-#: ../data/empathy.schemas.in.h:21
+#: ../data/empathy.schemas.in.h:26
+msgid "Path of the adium theme to use"
+msgstr "பயன்படுத்த வேண்டிய ஏடியம் கருத்துக்கு பாதை"
+
+#: ../data/empathy.schemas.in.h:27
+msgid "Path of the adium theme to use if the theme used for chat is adium."
+msgstr "அரட்டை அறைகளில் எடியம் கருத்தை பயன்படுத்த வேண்டுமானால் அதன் பாதை"
+
+#: ../data/empathy.schemas.in.h:28
msgid "Play a sound for incoming messages"
msgstr "உள்வரும் செய்திகளுக்கு ஒலி எழுப்பு"
-#: ../data/empathy.schemas.in.h:22
+#: ../data/empathy.schemas.in.h:29
msgid "Play a sound for new conversations"
msgstr "உள்வரும் உரையாடல்களுக்கு ஒலி எழுப்பு"
-#: ../data/empathy.schemas.in.h:23
+#: ../data/empathy.schemas.in.h:30
msgid "Play a sound for outgoing messages"
msgstr "வெளிச்செல்லும் செய்திகளுக்கு ஒலி எழுப்பு"
-#: ../data/empathy.schemas.in.h:24
+#: ../data/empathy.schemas.in.h:31
msgid "Play a sound when a contact logs in"
msgstr "தொடர்பு உள் நுழைகையில் ஒலி எழுப்பு"
-#: ../data/empathy.schemas.in.h:25
+#: ../data/empathy.schemas.in.h:32
msgid "Play a sound when a contact logs out"
msgstr "தொடர்பு வெளி செல்கையில் ஒலி எழுப்பு"
-#: ../data/empathy.schemas.in.h:26
+#: ../data/empathy.schemas.in.h:33
msgid "Play a sound when we log in"
msgstr "நாம் உள் நுழைகையில் ஒலி எழுப்பு"
-#: ../data/empathy.schemas.in.h:27
+#: ../data/empathy.schemas.in.h:34
msgid "Play a sound when we log out"
msgstr "நாம் வெளி செல்கையில் ஒலி எழுப்பு"
-#: ../data/empathy.schemas.in.h:28
+#: ../data/empathy.schemas.in.h:35
msgid "Popup notifications if the chat isn't focused"
msgstr "அரட்டை குவிப்பில் இல்லையானால் வெளித்துள்ளல் மூலம் அறிவி"
-#: ../data/empathy.schemas.in.h:29
+#: ../data/empathy.schemas.in.h:36
msgid "Salut account is created"
msgstr "சாலுட் கணக்கு துவக்கப்பட்டது "
-#: ../data/empathy.schemas.in.h:30
+#: ../data/empathy.schemas.in.h:37
msgid "Show avatars"
msgstr "அவதாரங்களை காட்டு"
-#: ../data/empathy.schemas.in.h:31
+#: ../data/empathy.schemas.in.h:38
+msgid "Show contact list in rooms"
+msgstr "தொடர்பு பட்டியல் ஐ அறைகளில் காட்டு "
+
+#: ../data/empathy.schemas.in.h:39
msgid "Show hint about closing the main window"
msgstr "முதன்மை சாளரத்தை மூடிவது குறித்து குறிப்பு காட்டு "
-#: ../data/empathy.schemas.in.h:32
+#: ../data/empathy.schemas.in.h:40
msgid "Show offline contacts"
msgstr " வலை தொடர்பில்லாத தொடர்புகளை காட்டு"
-#: ../data/empathy.schemas.in.h:33
+#: ../data/empathy.schemas.in.h:41
msgid "Spell checking languages"
msgstr "எழுத்துப்பிழை திருத்த மொழி"
-#: ../data/empathy.schemas.in.h:34
+#: ../data/empathy.schemas.in.h:42
msgid "The default folder to save file transfers in."
msgstr "இடமாற்றிய கோப்புகளை சேமிக்க முன்னிருப்பு அடைவு"
-#: ../data/empathy.schemas.in.h:35
+#: ../data/empathy.schemas.in.h:43
msgid "The last directory that an avatar image was chosen from."
msgstr "அவதாரம் படம் தேர்ந்தெடுத்த கடைசி அடைவு "
-#: ../data/empathy.schemas.in.h:36
+#: ../data/empathy.schemas.in.h:44
msgid "The theme that is used to display the conversation in chat windows."
msgstr "அரட்டை சாளரங்களில் உரையாடல்களை காட்ட பயன்படும் கருத்து"
-#: ../data/empathy.schemas.in.h:37
+#: ../data/empathy.schemas.in.h:45
msgid "Use graphical smileys"
msgstr "வரைகலை சிரிப்பான்களை பயன்படுத்துக"
-#: ../data/empathy.schemas.in.h:38
+#: ../data/empathy.schemas.in.h:46
msgid "Use notification sounds"
msgstr "அறிவிப்பு ஒலிகளை பயன்படுத்துக"
-#: ../data/empathy.schemas.in.h:39
+#: ../data/empathy.schemas.in.h:47
msgid "Use theme for chat rooms"
msgstr "அரட்டை அறைகளுக்கு கருத்துக்களை பயன்படுத்துக"
-#: ../data/empathy.schemas.in.h:40
+#: ../data/empathy.schemas.in.h:48
+msgid "Whether or not Empathy can publish the user's location to his contacts."
+msgstr "பயனரின் இடத்தை தொடர்புகளுக்கு எம்பதி காட்ட வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:49
+msgid "Whether or not Empathy can use the GPS to guess the location."
+msgstr "எம்பதி பயனரின் இடத்தை ஊகிக்க ஜிபிஎஸ் ஐ பயன்படுத்தலாமா இல்லையா."
+
+#: ../data/empathy.schemas.in.h:50
+msgid "Whether or not Empathy can use the cellular network to guess the location."
+msgstr "எம்பதி பயனரின் இடத்தை ஊகிக்க அலைபேசி வலையை பயன்படுத்தலாமா இல்லையா."
+
+#: ../data/empathy.schemas.in.h:51
+msgid "Whether or not Empathy can use the network to guess the location."
+msgstr "எம்பதி பயனரின் இடத்தை ஊகிக்க வலையை பயன்படுத்தலாமா இல்லையா."
+
+#: ../data/empathy.schemas.in.h:52
msgid ""
"Whether or not Empathy has asked about importing accounts from other "
"programs."
-msgstr ""
-"எம்பதி மற்ற நிரல்களில் இருந்து கணக்குகளை இறக்குமதி செய்வது குறித்து வினவியதா இல்லையா."
+msgstr "எம்பதி மற்ற நிரல்களில் இருந்து கணக்குகளை இறக்குமதி செய்வது குறித்து வினவியதா இல்லையா."
-#: ../data/empathy.schemas.in.h:41
+#: ../data/empathy.schemas.in.h:53
msgid ""
"Whether or not Empathy should automatically log in to your accounts on "
"startup."
msgstr "எம்பதி துவங்கும்போது கணக்குகளில் தானியங்கியாக உள்நுழைய வேண்டுமா இல்லையா."
-#: ../data/empathy.schemas.in.h:42
+#: ../data/empathy.schemas.in.h:54
+msgid ""
+"Whether or not Empathy should reduce the location's accuracy for privacy "
+"reasons."
+msgstr "அந்தரங்கத்தை காப்பாற்ற துவங்கும் போது எம்பதி இடத்தின் குறிப்பை குறைக்க வேண்டுமா இல்லையா"
+
+#: ../data/empathy.schemas.in.h:55
msgid ""
"Whether or not Empathy should use the avatar of the contact as the chat "
"window icon."
msgstr "எம்பதி தொடர்பின் அவதாரத்தை அரட்டை அறை சின்னமாக பயன்படுத்த வேண்டுமா இல்லையா."
-#: ../data/empathy.schemas.in.h:43
-msgid ""
-"Whether or not the Salut account has been created on the first Empathy run."
+#: ../data/empathy.schemas.in.h:56
+msgid "Whether or not the Salut account has been created on the first Empathy run."
msgstr "முதல் ஓட்டத்தில் எம்பதி சலூட் கணக்கை உருவாக்கியதா இல்லையா."
-#: ../data/empathy.schemas.in.h:44
+#: ../data/empathy.schemas.in.h:57
msgid ""
"Whether or not the network manager should be used to automatically "
"disconnect/reconnect."
@@ -217,57 +268,55 @@ msgstr ""
"வலைப்பின்னல் மேலாளர் ஐ தானியங்கியாக இணைக்கவும் இணைப்பு விலகவும் பயன்படுத்த வேண்டுமா "
"இல்லையா"
-#: ../data/empathy.schemas.in.h:45
+#: ../data/empathy.schemas.in.h:58
msgid ""
"Whether or not to check words typed against the languages you want to check "
"with."
msgstr "நீங்கள் விரும்பிய மொழிகளில் உள்ளிட்ட சொற்களை சோதிக்க வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:46
-msgid ""
-"Whether or not to convert smileys into graphical images in conversations."
+#: ../data/empathy.schemas.in.h:59
+msgid "Whether or not to convert smileys into graphical images in conversations."
msgstr "உரையாடல்களில் சிரிப்பான்களை வரைகலை படங்களாக மாற்ற வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:47
-msgid ""
-"Whether or not to play a sound to notify for contacts logging in the network."
+#: ../data/empathy.schemas.in.h:60
+msgid "Whether or not to play a sound to notify for contacts logging in the network."
msgstr "வலைப்பின்னலில் தொடர்புகள் உள்நுழையும் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:48
+#: ../data/empathy.schemas.in.h:61
msgid ""
"Whether or not to play a sound to notify for contacts logging off the "
"network."
msgstr "வலைப்பின்னலில் தொடர்புகள் வெளிச்செல்லும் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:49
+#: ../data/empathy.schemas.in.h:62
msgid "Whether or not to play a sound to notify for events."
msgstr "நிகழ்வுகள் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:50
+#: ../data/empathy.schemas.in.h:63
msgid "Whether or not to play a sound to notify for incoming messages."
msgstr "செய்திகள் உள்வரும் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:51
+#: ../data/empathy.schemas.in.h:64
msgid "Whether or not to play a sound to notify for new conversations."
msgstr "புதிய உரையாடல்கள் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:52
+#: ../data/empathy.schemas.in.h:65
msgid "Whether or not to play a sound to notify for outgoing messages."
msgstr "செய்திகள் வெளிச்செல்லும் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:53
+#: ../data/empathy.schemas.in.h:66
msgid "Whether or not to play a sound when logging in a network."
msgstr "வலைப்பின்னலில் உள்நுழையும் போது ஒலி இயக்க வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:54
+#: ../data/empathy.schemas.in.h:67
msgid "Whether or not to play a sound when logging off a network."
msgstr "வலைப்பின்னலில் வெளிச்செல்லும் போது ஒலி இயக்க வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:55
+#: ../data/empathy.schemas.in.h:68
msgid "Whether or not to play sound notifications when away or busy."
msgstr "வெளியே அல்லது வேலையாக உள்ள போது ஒலி அறிக்கைகளை இயக்க வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:56
+#: ../data/empathy.schemas.in.h:69
msgid ""
"Whether or not to show a popup notification when receiving a new message "
"even if the chat is already opened, but not focused."
@@ -275,26 +324,29 @@ msgstr ""
"புதிய செய்தி ஒன்று வரும்போது அரட்டை திறந்து இருந்து குவிப்பில் இல்லாவிட்டாலும் துள்ளு "
"அறிக்கையை காட்ட வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:57
-msgid ""
-"Whether or not to show a popup notification when receiving a new message."
+#: ../data/empathy.schemas.in.h:70
+msgid "Whether or not to show a popup notification when receiving a new message."
msgstr "புதிய செய்தி ஒன்று வரும்போது துள்ளு அறிக்கையை காட்ட வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:58
+#: ../data/empathy.schemas.in.h:71
msgid ""
"Whether or not to show avatars for contacts in the contact list and chat "
"windows."
msgstr "அரட்டை பட்டியலிலும் தொடர்பு பட்டியலிலும் அவதாரங்களை காட்ட வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:59
+#: ../data/empathy.schemas.in.h:72
msgid "Whether or not to show contacts that are offline in the contact list."
msgstr "தொடர்பு பட்டியலிலும் இணைப்பில் இல்லாத தொடர்புகளை காட்ட வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:60
+#: ../data/empathy.schemas.in.h:73
msgid "Whether or not to show popup notifications when away or busy."
msgstr "வெளியே அல்லது வேலையாக உள்ள போது துள்ளு அறிக்கைகளை காட்ட வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:61
+#: ../data/empathy.schemas.in.h:74
+msgid "Whether or not to show the contact list in chat rooms."
+msgstr "அரட்டை அறையில் தொடர்பு பட்டியலை காட்ட வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:75
msgid ""
"Whether or not to show the message dialog about closing the main window with "
"the 'x' button in the title bar."
@@ -302,15 +354,15 @@ msgstr ""
"தலைப்பு பட்டியில் x பொத்தானால் முதன்மை சாளரத்தை மூடுவதை குறித்த உரையாடலை காட்ட "
"வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:62
+#: ../data/empathy.schemas.in.h:76
msgid "Whether to show the contact list in compact mode or not."
msgstr "அடக்கப்பாங்கில் தொடர்பு பட்டியலை காட்ட வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:63
+#: ../data/empathy.schemas.in.h:77
msgid "Whether to use the theme for chat rooms or not."
msgstr "அரட்டை அறைகளில் கருத்துக்களை பயன்படுத்த வேண்டுமா இல்லையா?"
-#: ../data/empathy.schemas.in.h:64
+#: ../data/empathy.schemas.in.h:78
msgid ""
"Which criterium to use when sorting the contact list. Default is to use sort "
"by the contact's name with the value \"name\". A value of \"state\" will "
@@ -320,36 +372,130 @@ msgstr ""
"பெயர் மதிப்பு \"பெயர்\". \"நிலை\" என்ற மதிப்பு தொடர்பை நிலையை பொருத்து "
"வரிசைப்படுத்தும்."
-#: ../libempathy/empathy-tp-contact-list.c:727 ../src/empathy.c:278
+#: ../libempathy/empathy-ft-handler.c:838
+msgid "The hash of the received file and the sent one do not match"
+msgstr "பெற்ற கோப்பின் ஹாஷ் உம் அனுப்பியகோப்பின் ஹாஷ் உம் இசையவில்லை."
+
+#: ../libempathy/empathy-ft-handler.c:1098
+msgid "File transfer not supported by remote contact"
+msgstr "கோப்பு பறிமாற்றத்துக்கு தொலை தொலைதொடர்பில் ஆதரவில்லை"
+
+#: ../libempathy/empathy-ft-handler.c:1156
+msgid "The selected file is not a regular file"
+msgstr "தேர்ந்தெடுத்த கோப்பு வழக்கமான கோப்பு அல்ல"
+
+#: ../libempathy/empathy-ft-handler.c:1165
+msgid "The selected file is empty"
+msgstr "தேர்ந்தெடுத்த கோப்பு காலியாக உள்ளது"
+
+#: ../libempathy/empathy-tp-contact-list.c:757 ../src/empathy.c:287
msgid "People nearby"
msgstr "அருகில் உள்ள மக்கள்"
-#: ../libempathy/empathy-utils.c:251
+#: ../libempathy/empathy-tp-file.c:279
+msgid "Socket type not supported"
+msgstr "சொருகி வாய் வகை க்கு ஆதரவில்லை"
+
+#: ../libempathy/empathy-tp-file.c:398
+msgid "No reason was specified"
+msgstr "காரணம் குறிப்பிடவில்லை"
+
+#: ../libempathy/empathy-tp-file.c:401
+msgid "The change in state was requested"
+msgstr "நிலையில் மாற்றம் வேண்டப்பட்டது"
+
+#: ../libempathy/empathy-tp-file.c:404
+msgid "You canceled the file transfer"
+msgstr "நீங்கள் கோப்பு பரி மாற்றத்தை ரத்து செய்தீர்கள்"
+
+#: ../libempathy/empathy-tp-file.c:407
+msgid "The other participant canceled the file transfer"
+msgstr "மற்ற பங்குதாரர் கோப்பு பரி மாற்றத்தை ரத்து செய்தார்."
+
+#: ../libempathy/empathy-tp-file.c:410
+msgid "Error while trying to transfer the file"
+msgstr "கோப்பு பரி மாற்றத்தில் பிழை "
+
+#: ../libempathy/empathy-tp-file.c:413
+msgid "The other participant is unable to transfer the file"
+msgstr "மற்ற பங்குதாரர் கோப்பு பரி மாற்றத்தை செய்ய முடியவில்லை."
+
+#: ../libempathy/empathy-tp-file.c:416
+msgid "Unknown reason"
+msgstr "தெரியாத காரணம்"
+
+#: ../libempathy/empathy-utils.c:274
msgid "Available"
msgstr "இருப்பவை"
-#: ../libempathy/empathy-utils.c:253
+#: ../libempathy/empathy-utils.c:276
msgid "Busy"
msgstr "வேலையில்"
-#: ../libempathy/empathy-utils.c:256
+#: ../libempathy/empathy-utils.c:279
msgid "Away"
msgstr "வெளியில்"
-#: ../libempathy/empathy-utils.c:258
+#: ../libempathy/empathy-utils.c:281
msgid "Hidden"
msgstr "மறைந்துள்ள"
-#: ../libempathy/empathy-utils.c:261
+#: ../libempathy/empathy-utils.c:283
msgid "Offline"
msgstr "இணைப்பு விலகி"
+#: ../libempathy/empathy-time.c:137
+#, c-format
+msgid "%d second ago"
+msgid_plural "%d seconds ago"
+msgstr[0] "%d வினாடி முன்"
+msgstr[1] "%d வினாடிகள் முன்"
+
+#: ../libempathy/empathy-time.c:142
+#, c-format
+msgid "%d minute ago"
+msgid_plural "%d minutes ago"
+msgstr[0] "%d நிமிடம் முன்"
+msgstr[1] "%d நிமிடங்கள் முன்"
+
+#: ../libempathy/empathy-time.c:147
+#, c-format
+msgid "%d hour ago"
+msgid_plural "%d hours ago"
+msgstr[0] "%d மணி முன்"
+msgstr[1] "%d மணிகள் முன்"
+
+#: ../libempathy/empathy-time.c:152
+#, c-format
+msgid "%d day ago"
+msgid_plural "%d days ago"
+msgstr[0] "%d நாள் முன்"
+msgstr[1] "%d நாட்கள் முன்"
+
+#: ../libempathy/empathy-time.c:157
+#, c-format
+msgid "%d week ago"
+msgid_plural "%d weeks ago"
+msgstr[0] "%d வாரம் முன்"
+msgstr[1] "%d வாரங்கள் முன்"
+
+#: ../libempathy/empathy-time.c:162
+#, c-format
+msgid "%d month ago"
+msgid_plural "%d months ago"
+msgstr[0] "%d மாதம் முன்"
+msgstr[1] "%d மாதங்கள் முன்"
+
+#: ../libempathy/empathy-time.c:167
+msgid "in the future"
+msgstr "எதிர்காலத்தில்"
+
#: ../libempathy-gtk/empathy-account-chooser.c:419
msgid "All"
msgstr "அனைத்து"
#: ../libempathy-gtk/empathy-account-widget.c:302
-#: ../libempathy-gtk/empathy-account-widget.c:349
+#: ../libempathy-gtk/empathy-account-widget.c:354
#, c-format
msgid "%s:"
msgstr "%s:"
@@ -363,8 +509,8 @@ msgstr "%s:"
#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:1
#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:1
#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:1
-msgid "<b>Advanced</b>"
-msgstr "<b> மேம்பட்ட</b>"
+msgid "Advanced"
+msgstr "மேம்பட்ட"
#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:2
#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:3
@@ -395,12 +541,12 @@ msgstr "_P துறை:"
#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:11
#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:5
#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:9
-#: ../src/empathy-new-chatroom-dialog.ui.h:8
+#: ../src/empathy-new-chatroom-dialog.ui.h:9
msgid "_Server:"
msgstr "(_S) சேவையகம்:"
#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:2
-#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:3
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:2
#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:2
msgid "Login I_D:"
msgstr "உள்நுழை அடையாளம் (_D):"
@@ -419,44 +565,40 @@ msgid "New Network"
msgstr "புதிய வலையமைப்பு"
#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:1
-msgid "<b>Network</b>"
-msgstr "<b>பிணையம்</b>"
-
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:2
-msgid "<b>Servers</b>"
-msgstr "<b> சேவையகங்கள்</b>"
-
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:3
msgid "Charset:"
msgstr "எழுத்துருதொகுதி:"
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:2
msgid "Network"
msgstr "வலையமைப்பு"
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:3
msgid "Network:"
msgstr "பிணையம்:"
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:6
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:4
msgid "Nickname:"
msgstr "புனைப்பெயர்:"
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:7
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:5
msgid "Password:"
msgstr "கடவுச்சொல்:"
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:8
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:6
msgid "Quit message:"
msgstr "வெளிச்செல் செய்திகள்:"
-#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:9
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:7
msgid "Real name:"
msgstr "உண்மையான பெயர்:"
-#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:2
-msgid "<b>Override server settings</b>"
-msgstr "<b>சேவையக அமைப்பை உதாசீனம் செய்</b>"
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:8
+msgid "Servers"
+msgstr "சேவையகங்கள்"
+
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:3
+msgid "Override server settings"
+msgstr "சேவையக அமைப்பை உதாசீனம் செய்"
#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:5
msgid "Pri_ority:"
@@ -564,124 +706,120 @@ msgstr "அனைத்து கோப்புகள்"
msgid "Click to enlarge"
msgstr "பெரியதாக்க சொடுக்குக"
-#: ../libempathy-gtk/empathy-chat.c:178
+#: ../libempathy-gtk/empathy-chat.c:186
msgid "Failed to reconnect this chat"
msgstr "இந்த அரட்டைக்கு மீள் இணைப்பு தோற்றது "
-#: ../libempathy-gtk/empathy-chat.c:396
+#: ../libempathy-gtk/empathy-chat.c:404
msgid "Unsupported command"
msgstr "ஆதரவில்லாத கட்டளை"
-#: ../libempathy-gtk/empathy-chat.c:531
+#: ../libempathy-gtk/empathy-chat.c:539
msgid "offline"
msgstr "இணைப்பு விலகி "
-#: ../libempathy-gtk/empathy-chat.c:534
+#: ../libempathy-gtk/empathy-chat.c:542
msgid "invalid contact"
msgstr "செல்லுபடியாகாத தொடர்பு"
-#: ../libempathy-gtk/empathy-chat.c:537
+#: ../libempathy-gtk/empathy-chat.c:545
msgid "permission denied"
msgstr "அனுமதி மறுக்கப்பட்டது"
-#: ../libempathy-gtk/empathy-chat.c:540
+#: ../libempathy-gtk/empathy-chat.c:548
msgid "too long message"
msgstr "மிக நீள செய்தி"
-#: ../libempathy-gtk/empathy-chat.c:543
+#: ../libempathy-gtk/empathy-chat.c:551
msgid "not implemented"
msgstr "அமுலாக்கவில்லை"
-#: ../libempathy-gtk/empathy-chat.c:546
+#: ../libempathy-gtk/empathy-chat.c:554
msgid "unknown"
msgstr "தெரியாத"
-#: ../libempathy-gtk/empathy-chat.c:550
+#: ../libempathy-gtk/empathy-chat.c:558
#, c-format
msgid "Error sending message '%s': %s"
msgstr "செய்தி '%s' அனுப்புவதில் பிழை: %s"
-#: ../libempathy-gtk/empathy-chat.c:580
+#: ../libempathy-gtk/empathy-chat.c:588
#, c-format
msgid "Topic set to: %s"
msgstr "தலைப்பு இதற்கு அமை: %s"
-#: ../libempathy-gtk/empathy-chat.c:582
+#: ../libempathy-gtk/empathy-chat.c:590
msgid "No topic defined"
msgstr "தலைப்பு ஏதும் வரையறுக்கப்படவில்லை"
-#: ../libempathy-gtk/empathy-chat.c:951
+#: ../libempathy-gtk/empathy-chat.c:959
msgid "(No Suggestions)"
msgstr "(பரிந்துரைகள் இல்லை )"
-#: ../libempathy-gtk/empathy-chat.c:1005
+#: ../libempathy-gtk/empathy-chat.c:1013
msgid "Insert Smiley"
msgstr "சிரிப்பானை சொருகு"
#. send button
-#: ../libempathy-gtk/empathy-chat.c:1023
-#: ../libempathy-gtk/empathy-ui-utils.c:1507
+#: ../libempathy-gtk/empathy-chat.c:1031
+#: ../libempathy-gtk/empathy-ui-utils.c:1476
msgid "_Send"
msgstr "அனுப்பு (_S)"
-#: ../libempathy-gtk/empathy-chat.c:1057
+#: ../libempathy-gtk/empathy-chat.c:1065
msgid "_Spelling Suggestions"
msgstr "_S எழுத்தாக்க பரிந்துரைகள் "
-#: ../libempathy-gtk/empathy-chat.c:1171
+#: ../libempathy-gtk/empathy-chat.c:1179
#, c-format
msgid "%s has joined the room"
msgstr "%s அறையில் சேர்ந்தார்"
-#: ../libempathy-gtk/empathy-chat.c:1174
+#: ../libempathy-gtk/empathy-chat.c:1182
#, c-format
msgid "%s has left the room"
msgstr "%s அறையில் இருந்து வெளியேறினார்"
-#: ../libempathy-gtk/empathy-chat.c:1289 ../src/empathy-call-window.c:889
+#: ../libempathy-gtk/empathy-chat.c:1313 ../src/empathy-call-window.c:1199
msgid "Disconnected"
msgstr "துண்டிக்கபட்டது"
-#: ../libempathy-gtk/empathy-chat.c:1700
+#: ../libempathy-gtk/empathy-chat.c:1742
msgid "Connected"
msgstr "இணைக்கப்பட்டது"
-#: ../libempathy-gtk/empathy-chat.c:1750
+#: ../libempathy-gtk/empathy-chat.c:1792
#: ../libempathy-gtk/empathy-log-window.c:501
msgid "Conversation"
msgstr "உரையாடல்"
-#: ../libempathy-gtk/empathy-chat.ui.h:1
-msgid "<b>Topic:</b>"
-msgstr "<b> தலைப்பு</b>"
+#: ../libempathy-gtk/empathy-chat.ui.h:1 ../src/empathy-chat-window.c:471
+msgid "Topic:"
+msgstr "தலைப்பு:"
-#: ../libempathy-gtk/empathy-chat-text-view.c:323
+#: ../libempathy-gtk/empathy-chat-text-view.c:316
msgid "_Copy Link Address"
msgstr "இணைப்பு முகவரியை நகலெடு (_C)"
-#: ../libempathy-gtk/empathy-chat-text-view.c:331
+#: ../libempathy-gtk/empathy-chat-text-view.c:323
msgid "_Open Link"
msgstr "இணைப்பினை திற (_O)"
#. Translators: timestamp displayed between conversations in
#. * chat windows (strftime format string)
-#: ../libempathy-gtk/empathy-chat-text-view.c:424
+#: ../libempathy-gtk/empathy-chat-text-view.c:415
msgid "%A %B %d %Y"
msgstr "%A %B %d %Y"
#: ../libempathy-gtk/empathy-contact-dialogs.c:179
-#: ../libempathy-gtk/empathy-contact-dialogs.c:237
+#: ../libempathy-gtk/empathy-contact-dialogs.c:238
msgid "Edit Contact Information"
msgstr "தொடர்பின் தகவல் ஐ திருத்து"
-#: ../libempathy-gtk/empathy-contact-dialogs.c:288
+#: ../libempathy-gtk/empathy-contact-dialogs.c:289
msgid "Personal Information"
msgstr "தனிப்பட்ட தகவல்"
-#: ../libempathy-gtk/empathy-contact-dialogs.c:368
-msgid "I would like to add you to my contact list."
-msgstr "உங்களை என் தொடர்பு பட்டியலில் சேர்க்க விரும்புகிறேன்."
-
#: ../libempathy-gtk/empathy-contact-dialogs.c:392
msgid "New Contact"
msgstr "புதிய தொடர்பு"
@@ -694,52 +832,45 @@ msgstr "(_L) பிறகு முடிவு எடுக்கலாம்"
msgid "Subscription Request"
msgstr "சந்தா வேண்டுதல்"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1377
+#: ../libempathy-gtk/empathy-contact-list-view.c:1378
#, c-format
msgid "Do you really want to remove the group '%s'?"
msgstr "நீங்கள் நிச்சயம் குழு '%s' ஐ நீக்க விரும்புகிறீர்களா?"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1379
+#: ../libempathy-gtk/empathy-contact-list-view.c:1380
msgid "Removing group"
msgstr "குழுவை நீக்குதல்"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1426
+#: ../libempathy-gtk/empathy-contact-list-view.c:1427
#: ../libempathy-gtk/empathy-contact-list-view.c:1505
msgid "_Remove"
msgstr "நீக்கவும் (_R)"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1456
+#: ../libempathy-gtk/empathy-contact-list-view.c:1457
#, c-format
msgid "Do you really want to remove the contact '%s'?"
msgstr "நீங்கள் நிச்சயம் தொடர்பு '%s' ஐ நீக்க விரும்புகிறீர்களா?"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1458
+#: ../libempathy-gtk/empathy-contact-list-view.c:1459
msgid "Removing contact"
msgstr "தொடர்பு ஐ நீக்குதல்"
-#: ../libempathy-gtk/empathy-contact-list-view.c:1463
-msgid "Sorry, I don't want you in my contact list anymore."
-msgstr "மன்னிக்கவும். மேலும் நீங்கள் தொடர்பு பட்டியலில் இருக்க வேண்டாம்."
-
#: ../libempathy-gtk/empathy-contact-menu.c:135
-#: ../src/empathy-main-window.ui.h:9
+#: ../src/empathy-main-window.ui.h:8
msgid "_Chat"
msgstr "_C அரட்டை"
#: ../libempathy-gtk/empathy-contact-menu.c:166
-
msgctxt "menu item"
msgid "_Audio Call"
msgstr "(_A) ஒலி அழைப்பு"
#: ../libempathy-gtk/empathy-contact-menu.c:198
-
msgctxt "menu item"
msgid "_Video Call"
msgstr "(_V) விடியோ அழைப்பு"
#: ../libempathy-gtk/empathy-contact-menu.c:237
-#: ../src/empathy-main-window.ui.h:18
msgid "_View Previous Conversations"
msgstr "(_V) முந்தைய உரையாடல்கள் ஐ காண்"
@@ -768,58 +899,167 @@ msgstr "(_I) அரட்டை அறைக்கு அழைப்பு"
msgid "Select a contact"
msgstr "ஒரு தொடர்பு ஐ தேர்வு செய்க"
-#: ../libempathy-gtk/empathy-contact-widget.c:413
+#: ../libempathy-gtk/empathy-contact-widget.c:440
msgid "Save Avatar"
msgstr "அவதாரத்தை சேமி"
-#: ../libempathy-gtk/empathy-contact-widget.c:469
+#: ../libempathy-gtk/empathy-contact-widget.c:496
msgid "Unable to save avatar"
msgstr "அவதாரத்தை சேமிக்க முடியவில்லை"
-#: ../libempathy-gtk/empathy-contact-widget.c:952
+#: ../libempathy-gtk/empathy-contact-widget.c:979
msgid "Select"
msgstr "தேர்வு"
-#: ../libempathy-gtk/empathy-contact-widget.c:961
-#: ../src/empathy-main-window.c:894
+#: ../libempathy-gtk/empathy-contact-widget.c:988
+#: ../src/empathy-main-window.c:905
msgid "Group"
msgstr "குழு"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:1
-msgid "<b>Client Information</b>"
-msgstr "<b> சார்ந்தோன் தகவல்</b>"
+#: ../libempathy-gtk/empathy-contact-widget.c:1239
+msgid "Country ISO Code:"
+msgstr "நாட்டின் ஐஎஸ்ஓ குறி:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:2
-msgid "<b>Contact Details</b>"
-msgstr "<b>சார்ந்தோன் தொடர்பு விவரங்கள்</b>"
+#: ../libempathy-gtk/empathy-contact-widget.c:1241
+msgid "Country:"
+msgstr "நாடு:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:3
-msgid "<b>Contact</b>"
-msgstr "<b>தொடர்பு</b>"
+#: ../libempathy-gtk/empathy-contact-widget.c:1243
+msgid "State:"
+msgstr "மாநிலம்:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:4
-msgid "<b>Groups</b>"
-msgstr "<b>குழுக்கள்</b>"
+#: ../libempathy-gtk/empathy-contact-widget.c:1245
+msgid "City:"
+msgstr "மாநகரம்:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:5
+#: ../libempathy-gtk/empathy-contact-widget.c:1247
+msgid "Area:"
+msgstr "வட்டாரம்"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1249
+msgid "Postal Code:"
+msgstr "அஞ்சல் குறி:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1251
+msgid "Street:"
+msgstr "தெரு:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1253
+msgid "Building:"
+msgstr "கட்டிடம்:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1255
+msgid "Floor:"
+msgstr "தளம்:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1257
+msgid "Room:"
+msgstr "அறை:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1259
+msgid "Text:"
+msgstr "உரை:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1261
+msgid "Description:"
+msgstr "விவரணம்:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1263
+msgid "URI:"
+msgstr "யூஆர்ஐ:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1265
+msgid "Accuracy Level:"
+msgstr "பிழையின்மை மட்டம்:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1267
+msgid "Error:"
+msgstr " பிழை:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1269
+msgid "Vertical Error (meters):"
+msgstr "செங்குத்து பிழை (மீட்டர்கள்):"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1271
+msgid "Horizontal Error (meters):"
+msgstr "கிடைமட்ட பிழை (மீட்டர்கள்):"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1273
+msgid "Speed:"
+msgstr "வேகம்:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1275
+msgid "Bearing:"
+msgstr "திசை கோணம்:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1277
+msgid "Climb Speed:"
+msgstr "ஏறும் வேகம்:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1279
+msgid "Last Updated on:"
+msgstr "கடைசியாக இற்றைப்படுத்தியது:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1281
+msgid "Longitude:"
+msgstr "தீர்கரேகை:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1283
+msgid "Latitude:"
+msgstr "அட்சரேகை:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1285
+msgid "Altitude:"
+msgstr "குத்துயரம்:"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1332
+msgid "<b>Location</b>"
+msgstr "<b>இடம்</b>"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1345
+msgid "<b>Location</b>, "
+msgstr "<b>இடம்</b>"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:1395
+msgid "%B %e, %Y at %R UTC"
+msgstr "%B %e, %Y %R யூடுசி (UTC) இல்"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:1
+msgid "<b>Location</b> at (date)\t"
+msgstr "<b>இடம்</b> (date) போது\t"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:2
#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:1
#: ../src/empathy-chatrooms-window.ui.h:1
#: ../src/empathy-new-chatroom-dialog.ui.h:1
msgid "Account:"
msgstr "கணக்கு:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:6
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:3
msgid "Alias:"
msgstr "புனைப்பெயர்:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:7
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:4
msgid "Birthday:"
msgstr "பிறந்தநாள்:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:8
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:5
+msgid "Client Information"
+msgstr "சார்ந்தோன் தகவல்"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:6
msgid "Client:"
msgstr "சார்ந்தோன்:"
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:7
+#: ../src/empathy-main-window.c:888
+msgid "Contact"
+msgstr "தொடர்பு"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:8
+msgid "Contact Details"
+msgstr "தொடர்பு விவரங்கள்"
+
#: ../libempathy-gtk/empathy-contact-widget.ui.h:9
msgid "Email:"
msgstr "மின்னஞ்சல்:"
@@ -828,20 +1068,24 @@ msgstr "மின்னஞ்சல்:"
msgid "Fullname:"
msgstr "முழுப்பெயர்:"
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:11
+msgid "Groups"
+msgstr "குழுக்கள்"
+
#. Identifier to connect to Instant Messaging network
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:12
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:13
msgid "Identifier:"
msgstr "இனங்காட்டி:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:13
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:14
msgid "Information requested..."
msgstr "தகவல் வேண்டுதல்..."
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:14
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:15
msgid "OS:"
msgstr "OS:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:15
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:16
msgid ""
"Select the groups you want this contact to appear in. Note that you can "
"select more than one group or no groups."
@@ -849,15 +1093,15 @@ msgstr ""
"இந்த தொடர்பு வர வேன்டிய குழுவை தேர்வு செய்க. நீங்கள் ஒன்றுக்கு மேற்பட்ட குழுக்களை தேர்வு "
"செய்யலாம் அல்லது ஒன்றையும் தேர்வு செய்யாதிருக்கலாம்."
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:16
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:17
msgid "Version:"
msgstr "பதிப்பு:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:17
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:18
msgid "Web site:"
msgstr "வலைத்தளம்:"
-#: ../libempathy-gtk/empathy-contact-widget.ui.h:18
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:19
msgid "_Add Group"
msgstr "குழுவை சேர் (_A)"
@@ -924,40 +1168,40 @@ msgstr "புதிய உரையாடல்"
#. COL_DISPLAY_MARKUP
#. COL_STATUS_CUSTOMISABLE
#. COL_TYPE
-#: ../libempathy-gtk/empathy-presence-chooser.c:169
+#: ../libempathy-gtk/empathy-presence-chooser.c:172
msgid "Custom Message..."
msgstr "தனிப்பயன் செய்தி..."
-#: ../libempathy-gtk/empathy-presence-chooser.c:225
+#: ../libempathy-gtk/empathy-presence-chooser.c:227
msgid "Edit Custom Messages..."
msgstr "திருத்து- தனிப்பயன் செய்திகள்..."
-#: ../libempathy-gtk/empathy-presence-chooser.c:324
+#: ../libempathy-gtk/empathy-presence-chooser.c:326
msgid "Click to remove this status as a favorite"
msgstr "இந்த நிலை பிடித்த நிலையாக இருப்பதை நீக்க சொடுக்கவும் "
-#: ../libempathy-gtk/empathy-presence-chooser.c:333
+#: ../libempathy-gtk/empathy-presence-chooser.c:335
msgid "Click to make this status a favorite"
msgstr "இந்த நிலை பிடித்த நிலையாக ஆக்க சொடுக்கவும் "
-#: ../libempathy-gtk/empathy-presence-chooser.c:367
+#: ../libempathy-gtk/empathy-presence-chooser.c:369
msgid "Set status"
msgstr "நிலையை அமை"
-#: ../libempathy-gtk/empathy-presence-chooser.c:776
+#: ../libempathy-gtk/empathy-presence-chooser.c:782
msgid "Set your presence and current status"
msgstr "உங்கள் நடப்பு நிலையையும் இருப்பையௌம் அமை "
#. Custom messages
-#: ../libempathy-gtk/empathy-presence-chooser.c:1011
+#: ../libempathy-gtk/empathy-presence-chooser.c:1017
msgid "Custom messages..."
msgstr "தனிப்பயன் செய்திகள்..."
-#: ../libempathy-gtk/empathy-status-preset-dialog.c:360
+#: ../libempathy-gtk/empathy-status-preset-dialog.c:362
msgid "Enter Custom Message"
msgstr "தனிப்பயன் செய்தியை உள்ளிடுக"
-#: ../libempathy-gtk/empathy-status-preset-dialog.c:482
+#: ../libempathy-gtk/empathy-status-preset-dialog.c:521
msgid "Edit Custom Messages"
msgstr "தனிப்பயன் செய்திகளை திருத்துக"
@@ -977,67 +1221,75 @@ msgstr "ஜிடிகே-சேர்"
msgid "gtk-remove"
msgstr "ஜிடிகே-நீக்கு"
-#: ../libempathy-gtk/empathy-theme-manager.c:60
+#: ../libempathy-gtk/empathy-theme-manager.c:66
msgid "Classic"
msgstr "தொன்மையான"
-#: ../libempathy-gtk/empathy-theme-manager.c:61
+#: ../libempathy-gtk/empathy-theme-manager.c:67
msgid "Simple"
msgstr "எளிய"
-#: ../libempathy-gtk/empathy-theme-manager.c:62
+#: ../libempathy-gtk/empathy-theme-manager.c:68
msgid "Clean"
msgstr "சுத்தமான"
-#: ../libempathy-gtk/empathy-theme-manager.c:63
+#: ../libempathy-gtk/empathy-theme-manager.c:69
msgid "Blue"
msgstr "நீலம்"
-#: ../libempathy-gtk/empathy-ui-utils.c:1354
+#: ../libempathy-gtk/empathy-theme-manager.c:71
+msgid "Adium"
+msgstr "ஏடியம்"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1378
msgid "Unable to open URI"
msgstr "யூஆர்ஐ ஐ திறக்க முடியவில்லை"
-#: ../libempathy-gtk/empathy-ui-utils.c:1499
+#: ../libempathy-gtk/empathy-ui-utils.c:1468
msgid "Select a file"
msgstr "கோப்பை தேர்வு செய்"
-#: ../libempathy-gtk/empathy-ui-utils.c:1535
+#: ../libempathy-gtk/empathy-ui-utils.c:1526
+msgid "Select a destination"
+msgstr "ஒரு இலக்கிடம் தேர்வு செய்க"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1555
msgid "Received an instant message"
msgstr "ஒரு உடனடி செய்தி கிடைக்கப்பெற்றது"
-#: ../libempathy-gtk/empathy-ui-utils.c:1537
+#: ../libempathy-gtk/empathy-ui-utils.c:1557
msgid "Sent an instant message"
msgstr "ஒரு உடனடி செய்தி அனுப்பு"
-#: ../libempathy-gtk/empathy-ui-utils.c:1539
+#: ../libempathy-gtk/empathy-ui-utils.c:1559
msgid "Incoming chat request"
msgstr "உள்வரும் அரட்டை வேண்டுதல்"
-#: ../libempathy-gtk/empathy-ui-utils.c:1541
+#: ../libempathy-gtk/empathy-ui-utils.c:1561
msgid "Contact connected"
msgstr "தொடர்பு இணைக்கப்பட்டது"
-#: ../libempathy-gtk/empathy-ui-utils.c:1543
+#: ../libempathy-gtk/empathy-ui-utils.c:1563
msgid "Contact disconnected"
msgstr "தொடர்பு துண்டிக்கப்பட்டது"
-#: ../libempathy-gtk/empathy-ui-utils.c:1545
+#: ../libempathy-gtk/empathy-ui-utils.c:1565
msgid "Connected to server"
msgstr "சேவையகத்துக்கு இணைக்கப்பட்டது"
-#: ../libempathy-gtk/empathy-ui-utils.c:1547
+#: ../libempathy-gtk/empathy-ui-utils.c:1567
msgid "Disconnected from server"
msgstr "சேவையகத்துக்கு இணைப்பு துண்டிக்கபட்டது"
-#: ../libempathy-gtk/empathy-ui-utils.c:1549
+#: ../libempathy-gtk/empathy-ui-utils.c:1569
msgid "Incoming voice call"
msgstr "உள்வரும் குரல் அழைப்பு"
-#: ../libempathy-gtk/empathy-ui-utils.c:1551
+#: ../libempathy-gtk/empathy-ui-utils.c:1571
msgid "Outgoing voice call"
msgstr "வெளி செல்லும் குரல் அழைப்பு"
-#: ../libempathy-gtk/empathy-ui-utils.c:1553
+#: ../libempathy-gtk/empathy-ui-utils.c:1573
msgid "Voice call ended"
msgstr "குரல் அழைப்பு முடிந்தது"
@@ -1212,8 +1464,7 @@ msgstr "வியட்னாம்"
#. * vim: sw=2 ts=8 cindent noai bs=2
#.
#: ../megaphone/data/GNOME_Megaphone_Applet.schemas.in.h:1
-msgid ""
-"The contact to display in the applet. Empty means no contact is displayed."
+msgid "The contact to display in the applet. Empty means no contact is displayed."
msgstr "சிறுநிரலில் காட்ட வேண்டிய தொடர்பு. காலி எனில் காட்ட தொடர்பு இல்லை"
#: ../megaphone/data/GNOME_Megaphone_Applet.schemas.in.h:2
@@ -1239,7 +1490,7 @@ msgid "_Information"
msgstr "(_I) தகவல்"
#: ../megaphone/data/GNOME_Megaphone_Applet.xml.h:3
-#: ../src/empathy-main-window.ui.h:16
+#: ../src/empathy-main-window.ui.h:18
msgid "_Preferences"
msgstr "முன்னுரிமைகள் (_P)"
@@ -1260,19 +1511,19 @@ msgstr "இருப்பு"
msgid "Set your own presence"
msgstr "உங்கள் இருப்பை அமைக்கவும்"
-#: ../src/empathy.c:437
+#: ../src/empathy.c:478
msgid "Don't connect on startup"
msgstr "துவங்கும்போது இணைக்க வேண்டாம்"
-#: ../src/empathy.c:441
+#: ../src/empathy.c:482
msgid "Don't show the contact list on startup"
msgstr "துவங்கும்போது தொடர்பு பட்டியல் ஐ காட்ட வேண்டாம்"
-#: ../src/empathy.c:445
+#: ../src/empathy.c:486
msgid "Show the accounts dialog"
msgstr "கணக்குகள் உரையாடல் ஐ காட்டு "
-#: ../src/empathy.c:457
+#: ../src/empathy.c:498
msgid "- Empathy Instant Messenger"
msgstr "- எம்பதி உடனடி செய்தியாளர்"
@@ -1316,21 +1567,21 @@ msgstr "க்னோமுக்கு ஒரு உடனடி செய்த
msgid "translator-credits"
msgstr "மொழிபெயர்ப்பாளர்-நன்றி அறிதல் "
-#: ../src/empathy-accounts-dialog.c:391
+#: ../src/empathy-accounts-dialog.c:393
msgid "Enabled"
msgstr "செயலாக்கப்பட்டது"
-#: ../src/empathy-accounts-dialog.c:401 ../src/empathy-accounts-dialog.ui.h:4
+#: ../src/empathy-accounts-dialog.c:403 ../src/empathy-accounts-dialog.ui.h:1
msgid "Accounts"
msgstr "கணக்குகள்"
#. To translator: %s is the protocol name
-#: ../src/empathy-accounts-dialog.c:834
+#: ../src/empathy-accounts-dialog.c:837
#, c-format
msgid "New %s account"
msgstr "புதிய %s கணக்கு"
-#: ../src/empathy-accounts-dialog.c:944
+#: ../src/empathy-accounts-dialog.c:950
#, c-format
msgid ""
"You are about to remove your %s account!\n"
@@ -1339,7 +1590,7 @@ msgstr ""
"நீங்கள் உங்கள் %s கணக்கை நீக்கப்போகிறீர்கள்!\n"
"நிச்சயம் தொடர வேண்டுமா?"
-#: ../src/empathy-accounts-dialog.c:950
+#: ../src/empathy-accounts-dialog.c:956
msgid ""
"Any associated conversations and chat rooms will NOT be removed if you "
"decide to proceed.\n"
@@ -1352,30 +1603,30 @@ msgstr ""
"\n"
"ஒரு வேளை பின்னொரு சமயம் கணக்கை புதுப்பிக்க எண்ணினால் அவை கிடைக்கும்."
-#: ../src/empathy-accounts-dialog.ui.h:1
-msgid "<b>New Account</b>"
-msgstr "<b> புதிய கணக்கு</b>"
-
#: ../src/empathy-accounts-dialog.ui.h:2
-msgid "<b>No protocol installed</b>"
-msgstr "<b>நெறிமுறைகள் ஏதும் நிறுவவில்லை</b>"
+msgid "Add Account"
+msgstr "கணக்கு சேர்"
#: ../src/empathy-accounts-dialog.ui.h:3
-msgid "<b>Settings</b>"
-msgstr "<b> அமைப்புகள்</b>"
-
-#: ../src/empathy-accounts-dialog.ui.h:5
msgid "Cr_eate"
msgstr "(_e) உருவாக்கு"
-#: ../src/empathy-accounts-dialog.ui.h:6
-msgid "I already have an account I want to use"
-msgstr "நான் பயன்படுத்த ஏற்கெனெவே ஒரு கணக்கு உள்ளது"
+#: ../src/empathy-accounts-dialog.ui.h:4
+msgid "Gmail"
+msgstr "ஜிமெய்ல்"
-#: ../src/empathy-accounts-dialog.ui.h:7
+#: ../src/empathy-accounts-dialog.ui.h:5
msgid "Import Accounts..."
msgstr "கணக்குகளை இறக்குமதி செய்க..."
+#: ../src/empathy-accounts-dialog.ui.h:6
+msgid "No protocol installed"
+msgstr "நெறிமுறைகள் ஏதும் நிறுவவில்லை"
+
+#: ../src/empathy-accounts-dialog.ui.h:7
+msgid "Settings"
+msgstr "அமைப்புகள்"
+
#: ../src/empathy-accounts-dialog.ui.h:8
msgid ""
"To add a new account, you first have to install a backend for each protocol "
@@ -1392,53 +1643,61 @@ msgstr "வகை:"
msgid "_Add..."
msgstr "சேர்... (_A)"
-#: ../src/empathy-call-window.c:370
+#: ../src/empathy-accounts-dialog.ui.h:11
+msgid "_Create a new account"
+msgstr "(_C) ஒரு புதிய கணக்கை துவக்கு"
+
+#: ../src/empathy-accounts-dialog.ui.h:12
+msgid "_Reuse an existing account"
+msgstr "(_R) இருக்கும் ஒரு கணக்கை மறு உபயோகம் செய்க"
+
+#: ../src/empathy-call-window.c:63
+msgid "Connecting..."
+msgstr "இணைக்கிறது...."
+
+#: ../src/empathy-call-window.c:415
msgid "Contrast"
msgstr "வேறுபாடு"
-#: ../src/empathy-call-window.c:373
+#: ../src/empathy-call-window.c:418
msgid "Brightness"
msgstr "வெளிச்சம்"
-#: ../src/empathy-call-window.c:376
+#: ../src/empathy-call-window.c:421
msgid "Gamma"
msgstr "காமா"
-#: ../src/empathy-call-window.c:480
+#: ../src/empathy-call-window.c:526
msgid "Volume"
msgstr "ஒலி அளவு"
-#: ../src/empathy-call-window.c:592
+#: ../src/empathy-call-window.c:728
msgid "_Sidebar"
msgstr "பக்கப்பட்டை(_S)"
-#: ../src/empathy-call-window.c:611
+#: ../src/empathy-call-window.c:747
msgid "Dialpad"
msgstr "டயல் அட்டை"
-#: ../src/empathy-call-window.c:617
+#: ../src/empathy-call-window.c:753
msgid "Audio input"
msgstr "ஒலி உள்ளீடு"
-#: ../src/empathy-call-window.c:621
+#: ../src/empathy-call-window.c:757
msgid "Video input"
msgstr "வீடியோ உள்ளீடு"
-#: ../src/empathy-call-window.c:645
-msgid "Connecting..."
-msgstr "இணைக்கிறது...."
-
-#: ../src/empathy-call-window.c:660
+#: ../src/empathy-call-window.c:820
#, c-format
msgid "Call with %s"
msgstr "%s ஆல் அழை "
-#: ../src/empathy-call-window.c:694
+#: ../src/empathy-call-window.c:889
msgid "Call"
msgstr "அழை"
#. Translators: number of minutes:seconds the caller has been connected
-#: ../src/empathy-call-window.c:971
+#: ../src/empathy-call-window.c:1308
#, c-format
msgid "Connected — %d:%02dm"
msgstr "இணைக்கப்பட்டது — %d:%02dm"
@@ -1448,43 +1707,38 @@ msgid "Hang up"
msgstr "துண்டி"
#: ../src/empathy-call-window.ui.h:2
+msgid "Redial"
+msgstr "மறு முயற்சி"
+
+#: ../src/empathy-call-window.ui.h:3
msgid "Send Audio"
msgstr "ஒலி அனுப்பு "
-#: ../src/empathy-call-window.ui.h:3
+#: ../src/empathy-call-window.ui.h:4
msgid "Send video"
msgstr "விடியோ அனுப்பு"
-#: ../src/empathy-call-window.ui.h:4
+#: ../src/empathy-call-window.ui.h:5
msgid "Video preview"
msgstr "ஒளித்தோற்ற முன்னோட்டம்"
-#: ../src/empathy-call-window.ui.h:5
+#: ../src/empathy-call-window.ui.h:6
msgid "_Call"
msgstr "(_C) அழை"
-#: ../src/empathy-call-window.ui.h:6
+#: ../src/empathy-call-window.ui.h:7 ../src/empathy-main-window.ui.h:21
msgid "_View"
msgstr "பார்வை (_V)"
-#: ../src/empathy-chat-window.c:308
+#: ../src/empathy-chat-window.c:343
#, c-format
msgid "Conversations (%d)"
msgstr "உரையாடல்கள் (%d)"
-#: ../src/empathy-chat-window.c:413
-msgid "Topic:"
-msgstr "தலைப்பு:"
-
-#: ../src/empathy-chat-window.c:418
+#: ../src/empathy-chat-window.c:475
msgid "Typing a message."
msgstr "செய்திகள் தட்டச்சிடல்"
-#: ../src/empathy-chat-window.c:889 ../src/empathy-event-manager.c:429
-#, c-format
-msgid "New message from %s"
-msgstr "%s இடமிருந்து புதிய செய்திகள்"
-
#: ../src/empathy-chatrooms-window.c:258
msgid "Name"
msgstr "பெயர்"
@@ -1518,59 +1772,58 @@ msgstr "(_R) ஏற்காதே"
msgid "_Answer"
msgstr "(_A) பதிலளி"
-#: ../src/empathy-event-manager.c:507
+#: ../src/empathy-event-manager.c:505
#, c-format
msgid "Incoming call from %s"
msgstr "%s இடமிருந்து உள்வரும் அழைப்பு"
-#: ../src/empathy-event-manager.c:547
+#: ../src/empathy-event-manager.c:545
#, c-format
msgid "%s is offering you an invitation"
msgstr "%s உங்களுக்கு ஒரு அழைப்பு வேண்டுதல் விடுக்கிறார்"
-#: ../src/empathy-event-manager.c:553
+#: ../src/empathy-event-manager.c:551
msgid "An external application will be started to handle it."
msgstr "இதை கையாள ஒரு வெளி பயன்பாடு துவக்கப்படும்."
-#: ../src/empathy-event-manager.c:558
+#: ../src/empathy-event-manager.c:556
msgid "You don't have the needed external application to handle it."
msgstr "இதை கையாள தேவையான ஒரு வெளி பயன்பாடு உங்கள் கணினியில் இல்லை."
-#: ../src/empathy-event-manager.c:685
+#: ../src/empathy-event-manager.c:683
msgid "Room invitation"
msgstr "அறை அழைப்பு"
-#: ../src/empathy-event-manager.c:688
+#: ../src/empathy-event-manager.c:686
#, c-format
msgid "%s is inviting you to join %s"
msgstr "%s உங்களை %s உடன் சேர அழைக்கிறார்."
-#. Decline button
-#: ../src/empathy-event-manager.c:696 ../src/empathy-ft-manager.c:1037
+#: ../src/empathy-event-manager.c:694
msgid "_Decline"
msgstr "நிராகரி (_D)"
-#: ../src/empathy-event-manager.c:701
-#: ../src/empathy-new-chatroom-dialog.ui.h:6
+#: ../src/empathy-event-manager.c:699
+#: ../src/empathy-new-chatroom-dialog.ui.h:7
msgid "_Join"
msgstr "(_J) இணை"
-#: ../src/empathy-event-manager.c:740
+#: ../src/empathy-event-manager.c:738
#, c-format
msgid "%s invited you to join %s"
msgstr "%s %s இல் சேர உங்களை அழைத்துள்ளார்"
-#: ../src/empathy-event-manager.c:848
+#: ../src/empathy-event-manager.c:764
#, c-format
msgid "Incoming file transfer from %s"
msgstr "%s இடமிருந்து உள்வரும் கோப்பு பரிமாற்றம்."
-#: ../src/empathy-event-manager.c:923
+#: ../src/empathy-event-manager.c:944
#, c-format
msgid "Subscription requested by %s"
msgstr "%s இன் சந்தா வேண்டுதல்"
-#: ../src/empathy-event-manager.c:927
+#: ../src/empathy-event-manager.c:948
#, c-format
msgid ""
"\n"
@@ -1580,159 +1833,110 @@ msgstr ""
"செய்தி: %s"
#. Translators: time left, when it is more than one hour
-#: ../src/empathy-ft-manager.c:114
+#: ../src/empathy-ft-manager.c:101
#, c-format
msgid "%u:%02u.%02u"
msgstr "%u:%02u.%02u"
#. Translators: time left, when is is less than one hour
-#: ../src/empathy-ft-manager.c:117
+#: ../src/empathy-ft-manager.c:104
#, c-format
msgid "%02u.%02u"
msgstr "%02u.%02u"
-#: ../src/empathy-ft-manager.c:166
-msgid "No reason was specified"
-msgstr "காரணம் குறிப்பிடவில்லை"
-
-#: ../src/empathy-ft-manager.c:168
-msgid "The change in state was requested"
-msgstr "நிலையில் மாற்றம் வேண்டப்பட்டது"
-
-#: ../src/empathy-ft-manager.c:170
-msgid "You canceled the file transfer"
-msgstr "நீங்கள் கோப்பு பரி மாற்றத்தை ரத்து செய்தீர்கள்"
-
-#: ../src/empathy-ft-manager.c:172
-msgid "The other participant canceled the file transfer"
-msgstr "மற்ற பங்குதாரர் கோப்பு பரி மாற்றத்தை ரத்து செய்தார்."
-
-#: ../src/empathy-ft-manager.c:174
-msgid "Error while trying to transfer the file"
-msgstr "கோப்பு பரி மாற்றத்தில் பிழை "
+#: ../src/empathy-ft-manager.c:180
+msgctxt "file transfer percent"
+msgid "Unknown"
+msgstr "தெரியாத"
-#: ../src/empathy-ft-manager.c:176
-msgid "The other participant is unable to transfer the file"
-msgstr "மற்ற பங்குதாரர் கோப்பு பரி மாற்றத்தை செய்ய முடியவில்லை."
+#: ../src/empathy-ft-manager.c:275
+#, c-format
+msgid "%s of %s at %s/s"
+msgstr "%s %sல் %s/s இல்"
-#: ../src/empathy-ft-manager.c:178
-msgid "Unknown reason"
-msgstr "தெரியாத காரணம்"
+#: ../src/empathy-ft-manager.c:276
+#, c-format
+msgid "%s of %s"
+msgstr "%s %sல் "
#. translators: first %s is filename, second %s is the contact name
-#: ../src/empathy-ft-manager.c:228
+#: ../src/empathy-ft-manager.c:307
#, c-format
msgid "Receiving \"%s\" from %s"
msgstr " \"%s\" ஐ %s இடமிருந்து பெறுகிறது"
#. translators: first %s is filename, second %s is the contact name
-#: ../src/empathy-ft-manager.c:231
+#: ../src/empathy-ft-manager.c:310
#, c-format
msgid "Sending \"%s\" to %s"
msgstr "\"%s\" ஐ %s க்கு அனுப்புகிறது"
-#: ../src/empathy-ft-manager.c:242
-msgctxt "file size"
-msgid "Unknown"
-msgstr "தெரியாத"
+#. translators: first %s is filename, second %s
+#. * is the contact name
+#: ../src/empathy-ft-manager.c:340
+#, c-format
+msgid "Error receiving \"%s\" from %s"
+msgstr " \"%s\" ஐ %s இடமிருந்து பெறுகையில் பிழை"
-#. translators: first %s is the transferred size, second %s is
-#. * the total file size
-#: ../src/empathy-ft-manager.c:251
+#: ../src/empathy-ft-manager.c:343
+msgid "Error receiving a file"
+msgstr "கோப்பு பெறுகையில் பிழை"
+
+#: ../src/empathy-ft-manager.c:348
#, c-format
-msgid "%s of %s at %s/s"
-msgstr "%s %sல் %s/s இல்"
+msgid "Error sending \"%s\" to %s"
+msgstr "\"%s\" ஐ %s க்கு அனுப்புகையில் பிழை"
-#: ../src/empathy-ft-manager.c:259
-msgid "Waiting for the other participant's response"
-msgstr "மற்ற பங்கேற்பாளரின் பதிலுக்கு காத்திருத்தல்"
+#: ../src/empathy-ft-manager.c:351
+msgid "Error sending a file"
+msgstr "கோப்பு அனுப்புவதில் பிழை"
-#: ../src/empathy-ft-manager.c:269
+#. translators: first %s is filename, second %s
+#. * is the contact name
+#: ../src/empathy-ft-manager.c:490
#, c-format
msgid "\"%s\" received from %s"
msgstr "\"%s\" %s இடமிருந்து கிடைத்தது"
-#: ../src/empathy-ft-manager.c:275
+#. translators: first %s is filename, second %s
+#. * is the contact name
+#: ../src/empathy-ft-manager.c:495
#, c-format
msgid "\"%s\" sent to %s"
msgstr "\"%s\" %s க்கு அனுப்பப்பட்டது"
-#: ../src/empathy-ft-manager.c:278
+#: ../src/empathy-ft-manager.c:498
msgid "File transfer completed"
msgstr "கோப்பு பறிமாற்றம் முடிந்தது"
-#: ../src/empathy-ft-manager.c:287
-#, c-format
-msgid "\"%s\" receiving from %s"
-msgstr "\"%s\" %s இடமிருந்து பெறப்படுகிறது"
+#: ../src/empathy-ft-manager.c:617 ../src/empathy-ft-manager.c:784
+msgid "Waiting for the other participant's response"
+msgstr "மற்ற பங்கேற்பாளரின் பதிலுக்கு காத்திருத்தல்"
-#: ../src/empathy-ft-manager.c:293
+#: ../src/empathy-ft-manager.c:643 ../src/empathy-ft-manager.c:681
#, c-format
-msgid "\"%s\" sending to %s"
-msgstr "\"%s\" %s க்கு அனுப்பப்படுகிறது"
+msgid "Checking integrity of \"%s\""
+msgstr " \"%s\" இன் நம்பகத்தன்மையை சோதிக்கிறது"
-#: ../src/empathy-ft-manager.c:296
+#: ../src/empathy-ft-manager.c:646 ../src/empathy-ft-manager.c:684
#, c-format
-msgid "File transfer canceled: %s"
-msgstr "கோப்பு பறிமாற்றம் ரத்து செய்யப்பட்டது.: %s"
-
-#: ../src/empathy-ft-manager.c:310
-msgctxt "remaining time"
-msgid "Stalled"
-msgstr "Stalled"
-
-#: ../src/empathy-ft-manager.c:313
-msgctxt "remaining time"
-msgid "Unknown"
-msgstr "தெரியாத"
-
-#: ../src/empathy-ft-manager.c:372
-msgctxt "file transfer percent"
-msgid "Unknown"
-msgstr "தெரியாத"
+msgid "Hashing \"%s\""
+msgstr " \"%s\" இன் ஹாஷ் மதிப்பை கணக்கிடுகிறது"
-#: ../src/empathy-ft-manager.c:668
+#: ../src/empathy-ft-manager.c:1024
msgid "%"
msgstr "%"
-#: ../src/empathy-ft-manager.c:680
+#: ../src/empathy-ft-manager.c:1036
msgid "File"
msgstr "கோப்பு"
-#: ../src/empathy-ft-manager.c:702
+#: ../src/empathy-ft-manager.c:1058
msgid "Remaining"
msgstr "மீதமுள்ளவை"
-#: ../src/empathy-ft-manager.c:900
-msgid "Cannot save file to this location"
-msgstr "இந்த இடத்தில் கோப்பை சேமிக்க முடியவில்லை"
-
-#: ../src/empathy-ft-manager.c:946
-msgid "Save file as..."
-msgstr "கோப்பை இவ்வாறு சேமி..."
-
-#: ../src/empathy-ft-manager.c:1016
-msgid "unknown size"
-msgstr "தெரியாத அளவு"
-
-#: ../src/empathy-ft-manager.c:1022
-#, c-format
-msgid "%s would like to send you a file"
-msgstr " %s உங்களுக்கு ஒரு கோப்பை அனுப்ப விழைகிறார்."
-
-#. Translators: the first %s is the file name, the second %s is the file size
-#: ../src/empathy-ft-manager.c:1028
-#, c-format
-msgid "Do you want to accept the file \"%s\" (%s)?"
-msgstr "கோப்பு \"%s\" (%s) ஐ ஏற்க விருப்பமா?"
-
-#. Accept button
-#: ../src/empathy-ft-manager.c:1046
-msgid "_Accept"
-msgstr "ஏற்றுக்கொள் (_A)"
-
#: ../src/empathy-ft-manager.ui.h:1
-msgid "File transfers"
+msgid "File Transfers"
msgstr "கோப்பு பறிமாற்றங்கள் "
#: ../src/empathy-ft-manager.ui.h:2
@@ -1766,139 +1970,147 @@ msgstr ""
msgid "Import Accounts"
msgstr "இறக்குமதி செய் கணக்குகள்"
-#: ../src/empathy-main-window.c:393
+#: ../src/empathy-main-window.c:395
msgid "_Edit account"
msgstr "(_E) கணக்குகளை திருத்துக"
-#: ../src/empathy-main-window.c:496
+#: ../src/empathy-main-window.c:498
msgid "No error specified"
msgstr "பிழை ஏதும் குறிப்பிடவில்லை"
-#: ../src/empathy-main-window.c:499
+#: ../src/empathy-main-window.c:501
msgid "Network error"
msgstr "வலையமைப்பு பிழை"
-#: ../src/empathy-main-window.c:502
+#: ../src/empathy-main-window.c:504
msgid "Authentication failed"
msgstr "உறுதி செய்தல் தோல்வி"
-#: ../src/empathy-main-window.c:505
+#: ../src/empathy-main-window.c:507
msgid "Encryption error"
msgstr "மறையாக்க பிழை"
-#: ../src/empathy-main-window.c:508
+#: ../src/empathy-main-window.c:510
msgid "Name in use"
msgstr "பயனில் உள்ள பெயர் "
-#: ../src/empathy-main-window.c:511
+#: ../src/empathy-main-window.c:513
msgid "Certificate not provided"
msgstr "சான்றிதழ் தரப்படவில்லை"
-#: ../src/empathy-main-window.c:514
+#: ../src/empathy-main-window.c:516
msgid "Certificate untrusted"
msgstr "சான்றிதழில் நம்பக தன்மை இல்லை"
-#: ../src/empathy-main-window.c:517
+#: ../src/empathy-main-window.c:519
msgid "Certificate expired"
msgstr "சான்றிதழ் காலாவதியானது"
-#: ../src/empathy-main-window.c:520
+#: ../src/empathy-main-window.c:522
msgid "Certificate not activated"
msgstr "சான்றிதழ் செயல்படுத்தப்படவில்லை"
-#: ../src/empathy-main-window.c:523
+#: ../src/empathy-main-window.c:525
msgid "Certificate hostname mismatch"
msgstr "சான்றிதழ் புரவலன் பெயர் ஒத்திசையவில்லை"
-#: ../src/empathy-main-window.c:526
+#: ../src/empathy-main-window.c:528
msgid "Certificate fingerprint mismatch"
msgstr "சான்றிதழ் அடையாளம் ஒத்திசையவில்லை"
-#: ../src/empathy-main-window.c:529
+#: ../src/empathy-main-window.c:531
msgid "Certificate self-signed"
msgstr "சான்றிதழ் தானே கையெழுத்திட்டது"
-#: ../src/empathy-main-window.c:532
+#: ../src/empathy-main-window.c:534
msgid "Certificate error"
msgstr "சான்றிதழ் பிழை"
-#: ../src/empathy-main-window.c:535
+#: ../src/empathy-main-window.c:537
msgid "Unknown error"
msgstr "தெரியாத பிழை"
-#: ../src/empathy-main-window.c:877
-msgid "Contact"
-msgstr "தொடர்பு"
-
-#: ../src/empathy-main-window.c:1194
+#: ../src/empathy-main-window.c:1220
msgid "Show and edit accounts"
msgstr "கணக்குகளை காட்டவும் மற்றும் திருத்தவும் "
-#: ../src/empathy-main-window.ui.h:1
+#: ../src/empathy-main-window.ui.h:1 ../src/empathy-preferences.ui.h:10
msgid "Contact List"
msgstr "தொடர்பு பட்டியல்"
#: ../src/empathy-main-window.ui.h:2
+msgid "Contacts on a _Map"
+msgstr "(_M) தொடர்புகளை படத்தில் காட்டு "
+
+#: ../src/empathy-main-window.ui.h:3
msgid "Context"
msgstr "சூழல்"
-#: ../src/empathy-main-window.ui.h:3
+#: ../src/empathy-main-window.ui.h:4
msgid "Join _Favorites"
msgstr "(_F) விருப்பங்கள் சேர் "
-#: ../src/empathy-main-window.ui.h:4
+#: ../src/empathy-main-window.ui.h:5
msgid "Manage Favorites"
msgstr "விருப்பங்களை மேலாளுக"
-#: ../src/empathy-main-window.ui.h:5
-msgid "Show _File Transfers"
-msgstr "(_F) கோப்பு பறிமாற்றங்களை காட்டுக"
-
#: ../src/empathy-main-window.ui.h:6
-msgid "Show _Offline Contacts"
-msgstr "(_O) இணைப்பு விலகி உள்ள தொடர்புகள் ஐ காட்டுக"
-
-#: ../src/empathy-main-window.ui.h:7
msgid "_Accounts"
msgstr "கணக்குகள் (_A)"
-#: ../src/empathy-main-window.ui.h:8
+#: ../src/empathy-main-window.ui.h:7
msgid "_Add Contact..."
msgstr "(_A) தொடர்பை சேர்..."
-#: ../src/empathy-main-window.ui.h:10
+#: ../src/empathy-main-window.ui.h:9
msgid "_Contents"
msgstr "உள்ளடக்கங்கள் (_C)"
+#: ../src/empathy-main-window.ui.h:10
+msgid "_Debug"
+msgstr "(_D) வழு நீக்கு"
+
#: ../src/empathy-main-window.ui.h:12
+msgid "_File Transfers"
+msgstr "(_F) கோப்பு பறிமாற்றங்கள் "
+
+#: ../src/empathy-main-window.ui.h:13
msgid "_Help"
msgstr "உதவி (_H)"
-#: ../src/empathy-main-window.ui.h:13
+#: ../src/empathy-main-window.ui.h:14
msgid "_Join..."
msgstr "(_J) சேர்..."
-#: ../src/empathy-main-window.ui.h:14 ../src/empathy-status-icon.ui.h:2
+#: ../src/empathy-main-window.ui.h:15 ../src/empathy-status-icon.ui.h:2
msgid "_New Conversation..."
msgstr "(_N) புதிய உரையாடல்..."
-#: ../src/empathy-main-window.ui.h:15
+#: ../src/empathy-main-window.ui.h:16
+msgid "_Offline Contacts"
+msgstr "(_O) இணைப்பு விலகி உள்ள தொடர்புகள்"
+
+#: ../src/empathy-main-window.ui.h:17
msgid "_Personal Information"
msgstr "(_P) தனிப்பட்ட தகவல்"
-#: ../src/empathy-main-window.ui.h:17
+#: ../src/empathy-main-window.ui.h:19
+msgid "_Previous Conversations"
+msgstr "(_P) முந்தைய உரையாடல்கள்"
+
+#: ../src/empathy-main-window.ui.h:20
msgid "_Room"
msgstr "(_R) அறை"
-#: ../src/empathy-new-chatroom-dialog.c:319
+#: ../src/empathy-new-chatroom-dialog.c:332
msgid "Chat Room"
msgstr "அரட்டை அறை"
-#: ../src/empathy-new-chatroom-dialog.c:335
+#: ../src/empathy-new-chatroom-dialog.c:348
msgid "Members"
msgstr "உறுப்பினர்கள்"
-#: ../src/empathy-new-chatroom-dialog.c:464
+#: ../src/empathy-new-chatroom-dialog.c:492
#, c-format
msgctxt ""
"Room/Join's roomlist tooltip. Parametersare a channel name, yes/no, yes/no "
@@ -1910,28 +2122,39 @@ msgid ""
"Members: %s"
msgstr ""
"<b>%s</b>\n"
-"Invite required: %s\n"
-"Password required: %s\n"
-"Members: %s"
+"அழைப்பு தேவை: %s\n"
+"கடவுச்சொல் தேவை: %s\n"
+"உறுப்பினர்கள்: %s"
-#: ../src/empathy-new-chatroom-dialog.c:466
-#: ../src/empathy-new-chatroom-dialog.c:467
+#: ../src/empathy-new-chatroom-dialog.c:494
+#: ../src/empathy-new-chatroom-dialog.c:495
msgid "Yes"
msgstr "ஆம்"
-#: ../src/empathy-new-chatroom-dialog.c:466
-#: ../src/empathy-new-chatroom-dialog.c:467
+#: ../src/empathy-new-chatroom-dialog.c:494
+#: ../src/empathy-new-chatroom-dialog.c:495
msgid "No"
msgstr "இல்லை"
+#: ../src/empathy-new-chatroom-dialog.c:522
+msgid "Could not start room listing"
+msgstr "அறை பட்டியலை எடுப்பதை துவக்க முடியவில்லை"
+
+#: ../src/empathy-new-chatroom-dialog.c:532
+msgid "Could not stop room listing"
+msgstr "அறை பட்டியலை எடுப்பதை நிறுத்த முடியவில்லை"
+
#: ../src/empathy-new-chatroom-dialog.ui.h:2
-msgid ""
-"Enter the room name to join here or click on one or more rooms in the list."
+msgid "Couldn't load room list"
+msgstr "அறை பட்டியலை ஏற்ற முடியவில்லை"
+
+#: ../src/empathy-new-chatroom-dialog.ui.h:3
+msgid "Enter the room name to join here or click on one or more rooms in the list."
msgstr ""
"சேருவதற்கான அறை பெயரை இங்கு உள்ளிடுக. அல்லது பட்டியலில் உள்ள ஒன்றோ மேற்பட்ட பெயர்களையோ "
"சொடுக்குக."
-#: ../src/empathy-new-chatroom-dialog.ui.h:3
+#: ../src/empathy-new-chatroom-dialog.ui.h:4
msgid ""
"Enter the server which hosts the room, or leave it empty if the room is on "
"the current account's server"
@@ -1939,158 +2162,206 @@ msgstr ""
"அறையை தரும் சேவையகத்தின் பெயரை இங்கு உள்ளிடுக. அல்லது அது நடப்பு சேவையகத்தில் இருந்தால் "
"வெற்றாக விடவும்."
-#: ../src/empathy-new-chatroom-dialog.ui.h:4
+#: ../src/empathy-new-chatroom-dialog.ui.h:5
msgid "Join Room"
msgstr "அறை இல் சேர் "
-#: ../src/empathy-new-chatroom-dialog.ui.h:5
+#: ../src/empathy-new-chatroom-dialog.ui.h:6
msgid "Room List"
msgstr "அறை பட்டியல்"
-#: ../src/empathy-new-chatroom-dialog.ui.h:7
+#: ../src/empathy-new-chatroom-dialog.ui.h:8
msgid "_Room:"
msgstr "(_R) அறை:"
-#: ../src/empathy-preferences.c:156
+#: ../src/empathy-preferences.c:159
msgid "Message received"
msgstr "தகவல் பெறப்பட்டது"
-#: ../src/empathy-preferences.c:157
+#: ../src/empathy-preferences.c:160
msgid "Message sent"
msgstr "தகவல் அனுப்பப்பட்டது"
-#: ../src/empathy-preferences.c:158
+#: ../src/empathy-preferences.c:161
msgid "New conversation"
msgstr "புதிய உரையாடல்"
-#: ../src/empathy-preferences.c:159
+#: ../src/empathy-preferences.c:162
msgid "Contact goes online"
msgstr "தொடர்பு இணைபில் வருகிறார்"
-#: ../src/empathy-preferences.c:160
+#: ../src/empathy-preferences.c:163
msgid "Contact goes offline"
msgstr "தொடர்பு இணைப்பு விலகி செல்கிறார்"
-#: ../src/empathy-preferences.c:161
+#: ../src/empathy-preferences.c:164
msgid "Account connected"
msgstr "கணக்கு இணைக்கப்பட்டது"
-#: ../src/empathy-preferences.c:162
+#: ../src/empathy-preferences.c:165
msgid "Account disconnected"
msgstr "கணக்கு இணைப்பு நீக்கப்பட்டது"
-#: ../src/empathy-preferences.c:397
+#: ../src/empathy-preferences.c:432
msgid "Language"
msgstr "மொழி"
#: ../src/empathy-preferences.ui.h:1
-msgid "<b>Appearance</b>"
-msgstr "<b>தோற்றம்</b>"
+msgid "Adium theme to use:"
+msgstr "பயன்படுத்த வேண்டிய ஏடியம் கருத்து:"
#: ../src/empathy-preferences.ui.h:2
-msgid "<b>Behavior</b>"
-msgstr "<b>நடத்தை</b>"
+msgid "Allow _GPS usage"
+msgstr "(_G) ஜிபிஎஸ் பயனை அனுமதி"
#: ../src/empathy-preferences.ui.h:3
-msgid "<b>Contact List</b>"
-msgstr "<b> தொடர்பு பட்டியல்</b>"
+msgid "Allow _cellphone usage"
+msgstr "(_c) அலைபேசி பயனை அனுமதி"
#: ../src/empathy-preferences.ui.h:4
-msgid "<b>Enable spell checking for languages:</b>"
-msgstr "<b>மொழிகளுக்கு எழுத்து பிழை திருத்தத்தை செயல்படுத்து</b>"
+msgid "Allow _network usage"
+msgstr "(_n) வலைப்பின்னல் பயனை அனுமதி"
#: ../src/empathy-preferences.ui.h:5
-msgid "<b>Play sound for events</b>"
-msgstr "<b>நிகழ்வுகளுக்கு ஒலியை இயக்கு</b>"
+msgid "Appearance"
+msgstr "தோற்றம்"
#: ../src/empathy-preferences.ui.h:6
-msgid ""
-"<small>The list of languages reflects only the languages for which you have "
-"a dictionary installed.</small>"
-msgstr ""
-"<small>இந்த பட்டியல் நீங்கள் எந்த மொழிகளுக்கு அகராதி நிறுவி இருக்கிறீர்களோ அவற்றை மட்டுமே "
-"காட்டுகிறது</small>"
-
-#: ../src/empathy-preferences.ui.h:7
msgid "Automatically _connect on startup "
msgstr "(_c) துவங்கும்போது தானியங்கியாக இணை"
-#: ../src/empathy-preferences.ui.h:8
+#: ../src/empathy-preferences.ui.h:7
msgid "Avatars are user chosen images shown in the contact list"
msgstr "அவதாரங்கள் என்பது தொடர்பு பட்டியலில் காணப்படும் பயனர் தேர்ந்தெடுத்த பிம்பங்கள்"
+#: ../src/empathy-preferences.ui.h:8
+msgid "Behavior"
+msgstr "நடத்தை"
+
#: ../src/empathy-preferences.ui.h:9
msgid "Chat Th_eme:"
msgstr "(_e) அரட்டை கருத்து:"
-#: ../src/empathy-preferences.ui.h:10
+#: ../src/empathy-preferences.ui.h:11
msgid "Disable notifications when _away or busy"
msgstr "(_a) வெளியே அல்லது வேலையில் உள்ளபோது அறிவிப்புகளை செயல் நீக்கு"
-#: ../src/empathy-preferences.ui.h:11
+#: ../src/empathy-preferences.ui.h:12
msgid "Disable sounds when _away or busy"
msgstr "(_a) வெளியே அல்லது வேலையில் உள்ளபோது ஒலிகளை செயல் நீக்கு"
-#: ../src/empathy-preferences.ui.h:12
+#: ../src/empathy-preferences.ui.h:13
msgid "Enable notifications when the _chat is not focused"
msgstr "(_c) அரட்டை குவிப்பில் இல்லாத போது அறிவிப்புகளை செயல்படுத்து"
-#: ../src/empathy-preferences.ui.h:13
+#: ../src/empathy-preferences.ui.h:14
+msgid "Enable spell checking for languages:"
+msgstr "மொழிகளுக்கு எழுத்து பிழை திருத்தத்தை செயல்படுத்து:"
+
+#: ../src/empathy-preferences.ui.h:15
msgid "General"
msgstr "பொது"
-#: ../src/empathy-preferences.ui.h:14
+#: ../src/empathy-preferences.ui.h:16
+msgid "Geoclue Settings"
+msgstr "ஜியோ க்ளூ அமைப்புகள்"
+
+#: ../src/empathy-preferences.ui.h:17
+msgid "Location"
+msgstr "இடம்"
+
+#: ../src/empathy-preferences.ui.h:18
+msgid "Not a valid adium theme"
+msgstr "செல்லுபடியாகும் ஏடியம் கருத்து அல்ல"
+
+#: ../src/empathy-preferences.ui.h:19
msgid "Notifications"
msgstr "அறிவிப்புகள்"
-#: ../src/empathy-preferences.ui.h:15
+#: ../src/empathy-preferences.ui.h:20
+msgid "Play sound for events"
+msgstr "நிகழ்வுகளுக்கு ஒலியை இயக்கு"
+
+#: ../src/empathy-preferences.ui.h:21
msgid "Preferences"
msgstr "விருப்பங்கள்"
-#: ../src/empathy-preferences.ui.h:16
+#: ../src/empathy-preferences.ui.h:22
+msgid "Privacy"
+msgstr "அந்தரங்கம்"
+
+#: ../src/empathy-preferences.ui.h:23
+msgid ""
+"Reduced location accuracy means that nothing more precise than your city, "
+"state and country will be published. GPS coordinates will have a random "
+"value added (&#xB1;0.25&#xB0;)."
+msgstr ""
+"குறைத்த இட குறிப்பு எனில் உங்கள் மாநகரம், மாநிலம், நாடு தவிர ஒன்றும் "
+"வெளியிடப்படாது. ஜிபிஎஸ் ஆயத்தொலைவுகளுக்கு தற்போக்கு மதிப்பு சேர்க்கப்படும் "
+"(&#xB1;0.25&#xB0;)."
+
+#: ../src/empathy-preferences.ui.h:24
msgid "Show _avatars"
msgstr "(_a) அவதாரங்களை காட்டு"
-#: ../src/empathy-preferences.ui.h:17
+#: ../src/empathy-preferences.ui.h:25
msgid "Show _smileys as images"
msgstr "(_s) சிரிப்பான்களை பிம்பங்களாக காட்டு"
-#: ../src/empathy-preferences.ui.h:18
+#: ../src/empathy-preferences.ui.h:26
msgid "Show co_mpact contact list"
msgstr "(_m) அடக்கமான தொடர்பு பட்டியல் ஐ காட்டு "
-#: ../src/empathy-preferences.ui.h:19
+#: ../src/empathy-preferences.ui.h:27
+msgid "Show contact _list in rooms"
+msgstr "(_l) அறைகளில் தொடர்பு பட்டியல் ஐ காட்டு "
+
+#: ../src/empathy-preferences.ui.h:28
msgid "Sort by _name"
msgstr "(_n) பெயர் ஆல் வரிசைப்படுத்து"
-#: ../src/empathy-preferences.ui.h:20
+#: ../src/empathy-preferences.ui.h:29
msgid "Sort by s_tate"
msgstr "(_t) நிலை வாரியாக வரிசைப்படுத்து"
-#: ../src/empathy-preferences.ui.h:21
+#: ../src/empathy-preferences.ui.h:30
msgid "Sounds"
msgstr "ஒலிகள்"
-#: ../src/empathy-preferences.ui.h:22
+#: ../src/empathy-preferences.ui.h:31
msgid "Spell Checking"
msgstr "எழுத்து பிழை திருத்தம்"
-#: ../src/empathy-preferences.ui.h:23
+#: ../src/empathy-preferences.ui.h:32
+msgid ""
+"The list of languages reflects only the languages for which you have a "
+"dictionary installed."
+msgstr "இந்த பட்டியல் நீங்கள் எந்த மொழிகளுக்கு அகராதி நிறுவி இருக்கிறீர்களோ அவற்றை மட்டுமே காட்டுகிறது"
+
+#: ../src/empathy-preferences.ui.h:33
msgid "Themes"
msgstr "கருத்துகள்"
-#: ../src/empathy-preferences.ui.h:24
+#: ../src/empathy-preferences.ui.h:34
msgid "_Enable bubble notifications"
msgstr "(_E) பலூனில் அறிவிப்புகளை செயல்படுத்து"
-#: ../src/empathy-preferences.ui.h:25
+#: ../src/empathy-preferences.ui.h:35
msgid "_Enable sound notifications"
msgstr "(_E) ஒலி அறிவிப்புகளை செயல்படுத்து"
-#: ../src/empathy-preferences.ui.h:26
+#: ../src/empathy-preferences.ui.h:36
msgid "_Open new chats in separate windows"
msgstr "(_O) புதிய அரட்டைகளை தனி சாளரங்களில் திற"
+#: ../src/empathy-preferences.ui.h:37
+msgid "_Publish location to my contacts"
+msgstr "(_P) என் தொடர்புகளுக்கு இடத்தை வெளியிடு"
+
+#: ../src/empathy-preferences.ui.h:38
+msgid "_Reduce location accuracy"
+msgstr "(_R) இடத்தின் குறிப்பை குறை"
+
#: ../src/empathy-status-icon.ui.h:1
msgid "Status"
msgstr "நிலை"
@@ -2114,9 +2385,78 @@ msgid ""
"An invitation was offered for service %s, but you don't have the needed "
"application to handle it"
msgstr ""
-" %s சேவைக்கு அழைப்பு கொடுக்கப்பட்டது ஆனால் அதை கையாள உங்கள் கணினியில் தேவையான பயன்பாடு "
+" %s சேவைக்கு அழைப்பு கொடுக்கப்பட்டது. ஆனால் அதை கையாள உங்கள் கணினியில் தேவையான பயன்பாடு "
"இல்லை"
#: ../src/empathy-call-window-fullscreen.ui.h:1
msgid "gtk-leave-fullscreen"
msgstr "ஜிடிகே முழுத்திரையை விட்டுவிலகு"
+
+#: ../src/empathy-map-view.ui.h:1
+msgid "Contact Map View"
+msgstr "தொடர்புகள் படக்காட்சி"
+
+#: ../src/empathy-debug-dialog.c:111 ../src/empathy-debug-dialog.c:1075
+msgid "Error"
+msgstr " பிழை"
+
+#: ../src/empathy-debug-dialog.c:114 ../src/empathy-debug-dialog.c:1069
+msgid "Critical"
+msgstr "ஆபத்தானன்"
+
+#: ../src/empathy-debug-dialog.c:117 ../src/empathy-debug-dialog.c:1063
+msgid "Warning"
+msgstr "எச்சரிக்கை"
+
+#: ../src/empathy-debug-dialog.c:120 ../src/empathy-debug-dialog.c:1057
+#: ../src/empathy-debug-dialog.c:1105
+msgid "Message"
+msgstr "செய்தி"
+
+#: ../src/empathy-debug-dialog.c:123 ../src/empathy-debug-dialog.c:1051
+msgid "Info"
+msgstr "தகவல்"
+
+#: ../src/empathy-debug-dialog.c:126 ../src/empathy-debug-dialog.c:1045
+msgid "Debug"
+msgstr "வழுநீக்கு"
+
+#: ../src/empathy-debug-dialog.c:837
+msgid "Save"
+msgstr "சேமி"
+
+#: ../src/empathy-debug-dialog.c:940
+msgid "Debug Window"
+msgstr "வழு நீக்கு சாளரம்"
+
+#: ../src/empathy-debug-dialog.c:1013
+msgid "Pause"
+msgstr "தாமதி"
+
+#: ../src/empathy-debug-dialog.c:1025
+msgid "Level "
+msgstr "மட்டம்"
+
+#: ../src/empathy-debug-dialog.c:1094
+msgid "Time"
+msgstr "நேரம்"
+
+#: ../src/empathy-debug-dialog.c:1096
+msgid "Domain"
+msgstr "களம்"
+
+#: ../src/empathy-debug-dialog.c:1098
+msgid "Category"
+msgstr "வகை"
+
+#: ../src/empathy-debug-dialog.c:1100
+msgid "Level"
+msgstr "மட்டம்"
+
+#: ../src/empathy-debug-dialog.c:1132
+msgid ""
+"The selected connection manager does not support the remote debugging "
+"extension."
+msgstr "தேர்ந்தெடுத்த இணைப்பு மேலாளர் தொலை வழு நீக்கத்தை ஆதரிக்கவில்லை"
+
+
diff --git a/python/pyempathy/pyempathy.defs b/python/pyempathy/pyempathy.defs
index ed19c7a96..6b6f7dfd3 100644
--- a/python/pyempathy/pyempathy.defs
+++ b/python/pyempathy/pyempathy.defs
@@ -259,6 +259,8 @@
'("tp-error" "EMPATHY_FT_ERROR_TP_ERROR")
'("socket" "EMPATHY_FT_ERROR_SOCKET")
'("not-supported" "EMPATHY_FT_ERROR_NOT_SUPPORTED")
+ '("invalid-source-file" "EMPATHY_FT_ERROR_INVALID_SOURCE_FILE")
+ '("empty-source-file" "EMPATHY_FT_ERROR_EMPTY_SOURCE_FILE")
)
)
@@ -275,6 +277,15 @@
(return-type "EmpathyAccountManager*")
)
+(define-method create
+ (of-object "EmpathyAccountManager")
+ (c-name "empathy_account_manager_create")
+ (return-type "EmpathyAccount*")
+ (parameters
+ '("McProfile*" "profile")
+ )
+)
+
(define-method get_connected_accounts
(of-object "EmpathyAccountManager")
(c-name "empathy_account_manager_get_connected_accounts")
@@ -287,15 +298,6 @@
(return-type "int")
)
-(define-method is_account_just_connected
- (of-object "EmpathyAccountManager")
- (c-name "empathy_account_manager_is_account_just_connected")
- (return-type "gboolean")
- (parameters
- '("McAccount*" "account")
- )
-)
-
(define-method get_count
(of-object "EmpathyAccountManager")
(c-name "empathy_account_manager_get_count")
@@ -305,25 +307,25 @@
(define-method get_account
(of-object "EmpathyAccountManager")
(c-name "empathy_account_manager_get_account")
- (return-type "McAccount*")
+ (return-type "EmpathyAccount*")
(parameters
'("TpConnection*" "connection")
)
)
-(define-method dup_accounts
+(define-method lookup
(of-object "EmpathyAccountManager")
- (c-name "empathy_account_manager_dup_accounts")
- (return-type "GList*")
+ (c-name "empathy_account_manager_lookup")
+ (return-type "EmpathyAccount*")
+ (parameters
+ '("const-gchar*" "unique_name")
+ )
)
-(define-method get_connection
+(define-method dup_accounts
(of-object "EmpathyAccountManager")
- (c-name "empathy_account_manager_get_connection")
- (return-type "TpConnection*")
- (parameters
- '("McAccount*" "account")
- )
+ (c-name "empathy_account_manager_dup_accounts")
+ (return-type "GList*")
)
(define-method dup_connections
@@ -332,6 +334,15 @@
(return-type "GList*")
)
+(define-method remove
+ (of-object "EmpathyAccountManager")
+ (c-name "empathy_account_manager_remove")
+ (return-type "none")
+ (parameters
+ '("EmpathyAccount*" "account")
+ )
+)
+
;; From empathy-chatroom.h
@@ -346,7 +357,7 @@
(is-constructor-of "EmpathyChatroom")
(return-type "EmpathyChatroom*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
)
)
@@ -354,7 +365,7 @@
(c-name "empathy_chatroom_new_full")
(return-type "EmpathyChatroom*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
'("const-gchar*" "room")
'("const-gchar*" "name")
'("gboolean" "auto_connect")
@@ -364,7 +375,7 @@
(define-method get_account
(of-object "EmpathyChatroom")
(c-name "empathy_chatroom_get_account")
- (return-type "McAccount*")
+ (return-type "EmpathyAccount*")
)
(define-method set_account
@@ -372,7 +383,7 @@
(c-name "empathy_chatroom_set_account")
(return-type "none")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
)
)
@@ -560,7 +571,7 @@
(c-name "empathy_chatroom_manager_find")
(return-type "EmpathyChatroom*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
'("const-gchar*" "room")
)
)
@@ -570,7 +581,7 @@
(c-name "empathy_chatroom_manager_get_chatrooms")
(return-type "GList*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
)
)
@@ -579,7 +590,7 @@
(c-name "empathy_chatroom_manager_get_count")
(return-type "guint")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
)
)
@@ -681,6 +692,18 @@
(return-type "none")
)
+(define-method stop_call
+ (of-object "EmpathyCallHandler")
+ (c-name "empathy_call_handler_stop_call")
+ (return-type "none")
+)
+
+(define-method has_initial_video
+ (of-object "EmpathyCallHandler")
+ (c-name "empathy_call_handler_has_initial_video")
+ (return-type "gboolean")
+)
+
(define-method bus_message
(of-object "EmpathyCallHandler")
(c-name "empathy_call_handler_bus_message")
@@ -713,7 +736,7 @@
(c-name "empathy_contact_new_for_log")
(return-type "EmpathyContact*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
'("const-gchar*" "id")
'("const-gchar*" "name")
'("gboolean" "is_user")
@@ -774,7 +797,7 @@
(define-method get_account
(of-object "EmpathyContact")
(c-name "empathy_contact_get_account")
- (return-type "McAccount*")
+ (return-type "EmpathyAccount*")
)
(define-method get_connection
@@ -972,6 +995,15 @@
)
)
+(define-function contact_equal
+ (c-name "empathy_contact_equal")
+ (return-type "gboolean")
+ (parameters
+ '("gconstpointer" "contact1")
+ '("gconstpointer" "contact2")
+ )
+)
+
;; From empathy-contact-groups.h
@@ -1179,6 +1211,11 @@
(varargs #t)
)
+(define-function debug_free
+ (c-name "empathy_debug_free")
+ (return-type "none")
+)
+
(define-function debug_set_flags
(c-name "empathy_debug_set_flags")
(return-type "none")
@@ -1794,7 +1831,7 @@
(c-name "empathy_log_manager_exists")
(return-type "gboolean")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
'("const-gchar*" "chat_id")
'("gboolean" "chatroom")
)
@@ -1805,7 +1842,7 @@
(c-name "empathy_log_manager_get_dates")
(return-type "GList*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
'("const-gchar*" "chat_id")
'("gboolean" "chatroom")
)
@@ -1816,7 +1853,7 @@
(c-name "empathy_log_manager_get_messages_for_date")
(return-type "GList*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
'("const-gchar*" "chat_id")
'("gboolean" "chatroom")
'("const-gchar*" "date")
@@ -1828,7 +1865,7 @@
(c-name "empathy_log_manager_get_filtered_messages")
(return-type "GList*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
'("const-gchar*" "chat_id")
'("gboolean" "chatroom")
'("guint" "num_messages")
@@ -1842,7 +1879,7 @@
(c-name "empathy_log_manager_get_chats")
(return-type "GList*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
)
)
@@ -1908,7 +1945,7 @@
(c-name "empathy_log_store_exists")
(return-type "gboolean")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
'("const-gchar*" "chat_id")
'("gboolean" "chatroom")
)
@@ -1931,7 +1968,7 @@
(c-name "empathy_log_store_get_dates")
(return-type "GList*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
'("const-gchar*" "chat_id")
'("gboolean" "chatroom")
)
@@ -1942,7 +1979,7 @@
(c-name "empathy_log_store_get_messages_for_date")
(return-type "GList*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
'("const-gchar*" "chat_id")
'("gboolean" "chatroom")
'("const-gchar*" "date")
@@ -1954,7 +1991,7 @@
(c-name "empathy_log_store_get_last_messages")
(return-type "GList*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
'("const-gchar*" "chat_id")
'("gboolean" "chatroom")
)
@@ -1965,7 +2002,7 @@
(c-name "empathy_log_store_get_chats")
(return-type "GList*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
)
)
@@ -1994,7 +2031,7 @@
(c-name "empathy_log_store_get_filtered_messages")
(return-type "GList*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
'("const-gchar*" "chat_id")
'("gboolean" "chatroom")
'("guint" "num_messages")
@@ -2216,6 +2253,14 @@
(return-type "none")
)
+(define-function status_presets_is_valid
+ (c-name "empathy_status_presets_is_valid")
+ (return-type "gboolean")
+ (parameters
+ '("TpConnectionPresenceType" "state")
+ )
+)
+
;; From empathy-time.h
@@ -2338,6 +2383,18 @@
(return-type "gboolean")
)
+(define-method is_receiving_video
+ (of-object "EmpathyTpCall")
+ (c-name "empathy_tp_call_is_receiving_video")
+ (return-type "gboolean")
+)
+
+(define-method is_sending_video
+ (of-object "EmpathyTpCall")
+ (c-name "empathy_tp_call_is_sending_video")
+ (return-type "gboolean")
+)
+
;; From empathy-tp-chat.h
@@ -2661,7 +2718,7 @@
(is-constructor-of "EmpathyTpRoomlist")
(return-type "EmpathyTpRoomlist*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
)
)
diff --git a/python/pyempathygtk/pyempathygtk.defs b/python/pyempathygtk/pyempathygtk.defs
index cf85c7853..377eea43a 100644
--- a/python/pyempathygtk/pyempathygtk.defs
+++ b/python/pyempathygtk/pyempathygtk.defs
@@ -290,7 +290,7 @@
(define-method dup_account
(of-object "EmpathyAccountChooser")
(c-name "empathy_account_chooser_dup_account")
- (return-type "McAccount*")
+ (return-type "EmpathyAccount*")
)
(define-method get_connection
@@ -304,7 +304,7 @@
(c-name "empathy_account_chooser_set_account")
(return-type "gboolean")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
)
)
@@ -333,11 +333,11 @@
)
)
-(define-function account_chooser_filter_is_connected
+(define-method chooser_filter_is_connected
+ (of-object "EmpathyAccount")
(c-name "empathy_account_chooser_filter_is_connected")
(return-type "gboolean")
(parameters
- '("McAccount*" "account")
'("gpointer" "user_data")
)
)
@@ -346,22 +346,22 @@
;; From empathy-account-widget.h
-(define-function account_widget_handle_params
+(define-method widget_handle_params
+ (of-object "EmpathyAccount")
(c-name "empathy_account_widget_handle_params")
(return-type "none")
(parameters
- '("McAccount*" "account")
'("GtkBuilder*" "gui")
'("const-gchar*" "first_widget")
)
(varargs #t)
)
-(define-function account_widget_add_forget_button
+(define-method widget_add_forget_button
+ (of-object "EmpathyAccount")
(c-name "empathy_account_widget_add_forget_button")
(return-type "none")
(parameters
- '("McAccount*" "account")
'("GtkBuilder*" "gui")
'("const-gchar*" "button")
'("const-gchar*" "entry")
@@ -377,102 +377,72 @@
)
)
-(define-function account_widget_generic_new
+(define-method widget_generic_new
+ (of-object "EmpathyAccount")
(c-name "empathy_account_widget_generic_new")
- (is-constructor-of "EmpathyAccountWidgetGeneric")
(return-type "GtkWidget*")
- (parameters
- '("McAccount*" "account")
- )
)
-(define-function account_widget_salut_new
+(define-method widget_salut_new
+ (of-object "EmpathyAccount")
(c-name "empathy_account_widget_salut_new")
- (is-constructor-of "EmpathyAccountWidgetSalut")
(return-type "GtkWidget*")
- (parameters
- '("McAccount*" "account")
- )
)
-(define-function account_widget_msn_new
+(define-method widget_msn_new
+ (of-object "EmpathyAccount")
(c-name "empathy_account_widget_msn_new")
- (is-constructor-of "EmpathyAccountWidgetMsn")
(return-type "GtkWidget*")
- (parameters
- '("McAccount*" "account")
- )
)
-(define-function account_widget_jabber_new
+(define-method widget_jabber_new
+ (of-object "EmpathyAccount")
(c-name "empathy_account_widget_jabber_new")
- (is-constructor-of "EmpathyAccountWidgetJabber")
(return-type "GtkWidget*")
- (parameters
- '("McAccount*" "account")
- )
)
-(define-function account_widget_icq_new
+(define-method widget_icq_new
+ (of-object "EmpathyAccount")
(c-name "empathy_account_widget_icq_new")
- (is-constructor-of "EmpathyAccountWidgetIcq")
(return-type "GtkWidget*")
- (parameters
- '("McAccount*" "account")
- )
)
-(define-function account_widget_aim_new
+(define-method widget_aim_new
+ (of-object "EmpathyAccount")
(c-name "empathy_account_widget_aim_new")
- (is-constructor-of "EmpathyAccountWidgetAim")
(return-type "GtkWidget*")
- (parameters
- '("McAccount*" "account")
- )
)
-(define-function account_widget_yahoo_new
+(define-method widget_yahoo_new
+ (of-object "EmpathyAccount")
(c-name "empathy_account_widget_yahoo_new")
- (is-constructor-of "EmpathyAccountWidgetYahoo")
(return-type "GtkWidget*")
- (parameters
- '("McAccount*" "account")
- )
)
-(define-function account_widget_groupwise_new
+(define-method widget_groupwise_new
+ (of-object "EmpathyAccount")
(c-name "empathy_account_widget_groupwise_new")
- (is-constructor-of "EmpathyAccountWidgetGroupwise")
(return-type "GtkWidget*")
- (parameters
- '("McAccount*" "account")
- )
)
;; From empathy-account-widget-irc.h
-(define-function account_widget_irc_new
+(define-method widget_irc_new
+ (of-object "EmpathyAccount")
(c-name "empathy_account_widget_irc_new")
- (is-constructor-of "EmpathyAccountWidgetIrc")
(return-type "GtkWidget*")
- (parameters
- '("McAccount*" "account")
- )
)
;; From empathy-account-widget-sip.h
-(define-function account_widget_sip_new
+(define-method widget_sip_new
+ (of-object "EmpathyAccount")
(c-name "empathy_account_widget_sip_new")
- (is-constructor-of "EmpathyAccountWidgetSip")
(return-type "GtkWidget*")
- (parameters
- '("McAccount*" "account")
- )
)
@@ -615,7 +585,7 @@
(define-method get_account
(of-object "EmpathyChat")
(c-name "empathy_chat_get_account")
- (return-type "McAccount*")
+ (return-type "EmpathyAccount*")
)
(define-method get_id
@@ -695,6 +665,15 @@
(return-type "gboolean")
)
+(define-method set_show_contacts
+ (of-object "EmpathyChat")
+ (c-name "empathy_chat_set_show_contacts")
+ (return-type "none")
+ (parameters
+ '("gboolean" "show")
+ )
+)
+
;; From empathy-chat-text-view.h
@@ -1521,7 +1500,7 @@
(c-name "empathy_log_window_show")
(return-type "GtkWidget*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
'("const-gchar*" "chat_id")
'("gboolean" "chatroom")
'("GtkWindow*" "parent")
@@ -1807,7 +1786,7 @@
(c-name "empathy_icon_name_from_account")
(return-type "const-gchar*")
(parameters
- '("McAccount*" "account")
+ '("EmpathyAccount*" "account")
)
)
diff --git a/src/Makefile.am b/src/Makefile.am
index dbcd6d43d..42485b7d1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -3,6 +3,7 @@ include $(top_srcdir)/tools/flymake.mk
AM_CPPFLAGS = \
-I$(top_srcdir) \
+ -DG_LOG_DOMAIN=\"empathy\" \
$(EMPATHY_CFLAGS) \
$(LIBNOTIFY_CFLAGS) \
$(LIBCHAMPLAIN_CFLAGS) \
@@ -82,7 +83,7 @@ EXTRA_DIST = \
$(ui_DATA)
if HAVE_LIBCHAMPLAIN
-empathy_SOURCES += \
+empathy_handwritten_source += \
empathy-map-view.c \
empathy-map-view.h
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c
index 1dcde458f..98e848566 100644
--- a/src/empathy-accounts-dialog.c
+++ b/src/empathy-accounts-dialog.c
@@ -31,7 +31,6 @@
#include <glib/gi18n.h>
#include <dbus/dbus-glib.h>
-#include <libmissioncontrol/mc-account.h>
#include <libmissioncontrol/mc-profile.h>
#include <telepathy-glib/util.h>
@@ -96,7 +95,7 @@ enum {
};
static void accounts_dialog_update_account (EmpathyAccountsDialog *dialog,
- McAccount *account);
+ EmpathyAccount *account);
static void accounts_dialog_model_setup (EmpathyAccountsDialog *dialog);
static void accounts_dialog_model_add_columns (EmpathyAccountsDialog *dialog);
static void accounts_dialog_name_editing_started_cb (GtkCellRenderer *renderer,
@@ -109,19 +108,19 @@ static void accounts_dialog_model_pixbuf_data_func (GtkTreeViewColumn
GtkTreeModel *model,
GtkTreeIter *iter,
EmpathyAccountsDialog *dialog);
-static McAccount *accounts_dialog_model_get_selected (EmpathyAccountsDialog *dialog);
+static EmpathyAccount *accounts_dialog_model_get_selected (EmpathyAccountsDialog *dialog);
static void accounts_dialog_model_set_selected (EmpathyAccountsDialog *dialog,
- McAccount *account);
+ EmpathyAccount *account);
static gboolean accounts_dialog_model_remove_selected (EmpathyAccountsDialog *dialog);
static void accounts_dialog_model_selection_changed (GtkTreeSelection *selection,
EmpathyAccountsDialog *dialog);
static void accounts_dialog_add_or_update_account (EmpathyAccountsDialog *dialog,
- McAccount *account);
+ EmpathyAccount *account);
static void accounts_dialog_account_added_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
EmpathyAccountsDialog *dialog);
static void accounts_dialog_account_removed_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
EmpathyAccountsDialog *dialog);
static gboolean accounts_dialog_row_changed_foreach (GtkTreeModel *model,
GtkTreePath *path,
@@ -129,7 +128,7 @@ static gboolean accounts_dialog_row_changed_foreach (GtkTreeModel
gpointer user_data);
static gboolean accounts_dialog_flash_connecting_cb (EmpathyAccountsDialog *dialog);
static void accounts_dialog_connection_changed_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
TpConnectionStatusReason reason,
TpConnectionStatus current,
TpConnectionStatus previous,
@@ -154,12 +153,12 @@ static void accounts_dialog_destroy_cb (GtkWidget
static void
accounts_dialog_update_name_label (EmpathyAccountsDialog *dialog,
- McAccount *account)
+ EmpathyAccount *account)
{
gchar *text;
text = g_markup_printf_escaped ("<big><b>%s</b></big>",
- mc_account_get_display_name (account));
+ empathy_account_get_display_name (account));
gtk_label_set_markup (GTK_LABEL (dialog->label_name), text);
g_free (text);
@@ -167,7 +166,7 @@ accounts_dialog_update_name_label (EmpathyAccountsDialog *dialog,
static void
accounts_dialog_update_account (EmpathyAccountsDialog *dialog,
- McAccount *account)
+ EmpathyAccount *account)
{
McProfile *profile;
const gchar *config_ui;
@@ -216,7 +215,7 @@ accounts_dialog_update_account (EmpathyAccountsDialog *dialog,
dialog->settings_widget = NULL;
}
- profile = mc_account_get_profile (account);
+ profile = empathy_account_get_profile (account);
config_ui = mc_profile_get_configuration_ui (profile);
if (!tp_strdiff (config_ui, "jabber")) {
dialog->settings_widget =
@@ -282,10 +281,10 @@ accounts_dialog_model_setup (EmpathyAccountsDialog *dialog)
GtkTreeSelection *selection;
store = gtk_list_store_new (COL_COUNT,
- G_TYPE_BOOLEAN, /* enabled */
- G_TYPE_STRING, /* name */
- G_TYPE_UINT, /* status */
- MC_TYPE_ACCOUNT); /* account */
+ G_TYPE_BOOLEAN, /* enabled */
+ G_TYPE_STRING, /* name */
+ G_TYPE_UINT, /* status */
+ EMPATHY_TYPE_ACCOUNT); /* account */
gtk_tree_view_set_model (GTK_TREE_VIEW (dialog->treeview),
GTK_TREE_MODEL (store));
@@ -311,7 +310,7 @@ accounts_dialog_name_edited_cb (GtkCellRendererText *renderer,
gchar *new_text,
EmpathyAccountsDialog *dialog)
{
- McAccount *account;
+ EmpathyAccount *account;
GtkTreeModel *model;
GtkTreePath *treepath;
GtkTreeIter iter;
@@ -333,7 +332,7 @@ accounts_dialog_name_edited_cb (GtkCellRendererText *renderer,
-1);
gtk_tree_path_free (treepath);
- mc_account_set_display_name (account, new_text);
+ empathy_account_set_display_name (account, new_text);
g_object_unref (account);
}
@@ -342,7 +341,7 @@ accounts_dialog_enable_toggled_cb (GtkCellRendererToggle *cell_renderer,
gchar *path,
EmpathyAccountsDialog *dialog)
{
- McAccount *account;
+ EmpathyAccount *account;
GtkTreeModel *model;
GtkTreePath *treepath;
GtkTreeIter iter;
@@ -356,11 +355,11 @@ accounts_dialog_enable_toggled_cb (GtkCellRendererToggle *cell_renderer,
-1);
gtk_tree_path_free (treepath);
- enabled = mc_account_is_enabled (account);
- mc_account_set_enabled (account, !enabled);
+ enabled = empathy_account_is_enabled (account);
+ empathy_account_set_enabled (account, !enabled);
DEBUG ("%s account %s", enabled ? "Disabled" : "Enable",
- mc_account_get_display_name (account));
+ empathy_account_get_display_name (account));
g_object_unref (account);
}
@@ -397,7 +396,7 @@ accounts_dialog_model_add_columns (EmpathyAccountsDialog *dialog)
g_signal_connect (cell, "toggled",
G_CALLBACK (accounts_dialog_enable_toggled_cb),
dialog);
-
+
/* Account column */
column = gtk_tree_view_column_new ();
gtk_tree_view_column_set_title (column, _("Accounts"));
@@ -417,6 +416,7 @@ accounts_dialog_model_add_columns (EmpathyAccountsDialog *dialog)
cell = gtk_cell_renderer_text_new ();
g_object_set (cell,
"ellipsize", PANGO_ELLIPSIZE_END,
+ "width-chars", 25,
"editable", TRUE,
NULL);
gtk_tree_view_column_pack_start (column, cell, TRUE);
@@ -440,7 +440,7 @@ accounts_dialog_model_select_first (EmpathyAccountsDialog *dialog)
/* select first */
view = GTK_TREE_VIEW (dialog->treeview);
model = gtk_tree_view_get_model (view);
-
+
if (gtk_tree_model_get_iter_first (model, &iter)) {
selection = gtk_tree_view_get_selection (view);
gtk_tree_selection_select_iter (selection, &iter);
@@ -456,7 +456,7 @@ accounts_dialog_model_pixbuf_data_func (GtkTreeViewColumn *tree_column,
GtkTreeIter *iter,
EmpathyAccountsDialog *dialog)
{
- McAccount *account;
+ EmpathyAccount *account;
const gchar *icon_name;
GdkPixbuf *pixbuf;
TpConnectionStatus status;
@@ -503,14 +503,14 @@ accounts_dialog_model_pixbuf_data_func (GtkTreeViewColumn *tree_column,
static gboolean
accounts_dialog_get_account_iter (EmpathyAccountsDialog *dialog,
- McAccount *account,
+ EmpathyAccount *account,
GtkTreeIter *iter)
{
GtkTreeView *view;
GtkTreeSelection *selection;
GtkTreeModel *model;
gboolean ok;
-
+
/* Update the status in the model */
view = GTK_TREE_VIEW (dialog->treeview);
selection = gtk_tree_view_get_selection (view);
@@ -519,7 +519,7 @@ accounts_dialog_get_account_iter (EmpathyAccountsDialog *dialog,
for (ok = gtk_tree_model_get_iter_first (model, iter);
ok;
ok = gtk_tree_model_iter_next (model, iter)) {
- McAccount *this_account;
+ EmpathyAccount *this_account;
gboolean equal;
gtk_tree_model_get (model, iter,
@@ -537,14 +537,14 @@ accounts_dialog_get_account_iter (EmpathyAccountsDialog *dialog,
return FALSE;
}
-static McAccount *
+static EmpathyAccount *
accounts_dialog_model_get_selected (EmpathyAccountsDialog *dialog)
{
GtkTreeView *view;
GtkTreeModel *model;
GtkTreeSelection *selection;
GtkTreeIter iter;
- McAccount *account;
+ EmpathyAccount *account;
view = GTK_TREE_VIEW (dialog->treeview);
selection = gtk_tree_view_get_selection (view);
@@ -560,7 +560,7 @@ accounts_dialog_model_get_selected (EmpathyAccountsDialog *dialog)
static void
accounts_dialog_model_set_selected (EmpathyAccountsDialog *dialog,
- McAccount *account)
+ EmpathyAccount *account)
{
GtkTreeSelection *selection;
GtkTreeIter iter;
@@ -593,7 +593,7 @@ static void
accounts_dialog_model_selection_changed (GtkTreeSelection *selection,
EmpathyAccountsDialog *dialog)
{
- McAccount *account;
+ EmpathyAccount *account;
GtkTreeModel *model;
GtkTreeIter iter;
gboolean is_selection;
@@ -610,7 +610,7 @@ accounts_dialog_model_selection_changed (GtkTreeSelection *selection,
static void
accounts_dialog_add_or_update_account (EmpathyAccountsDialog *dialog,
- McAccount *account)
+ EmpathyAccount *account)
{
GtkTreeModel *model;
GtkTreeIter iter;
@@ -619,9 +619,9 @@ accounts_dialog_add_or_update_account (EmpathyAccountsDialog *dialog,
gboolean enabled;
model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->treeview));
- status = mission_control_get_connection_status (dialog->mc, account, NULL);
- name = mc_account_get_display_name (account);
- enabled = mc_account_is_enabled (account);
+ g_object_get (account, "status", &status, NULL);
+ name = empathy_account_get_display_name (account);
+ enabled = empathy_account_is_enabled (account);
if (!accounts_dialog_get_account_iter (dialog, account, &iter)) {
DEBUG ("Adding new account");
@@ -645,7 +645,7 @@ accounts_dialog_add_or_update_account (EmpathyAccountsDialog *dialog,
static void
accounts_dialog_account_added_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
EmpathyAccountsDialog *dialog)
{
const gchar *current_name;
@@ -655,25 +655,25 @@ accounts_dialog_account_added_cb (EmpathyAccountManager *manager,
/* Change the display name to "%s (%s)" % (protocol, account).
* - The protocol is the display name of the profile.
- * - The account should be the normalized name of the McAccount but
+ * - The account should be the normalized name of the EmpathyAccount but
* it's not set until first connection, so we get the "account"
* parameter for CM that have it. */
- current_name = mc_account_get_display_name (account);
- mc_account_get_param_string (account, "account", &account_param);
+ current_name = empathy_account_get_display_name (account);
+ account_param = empathy_account_get_param_string (account, "account");
if (!EMP_STR_EMPTY (account_param)) {
McProfile *profile;
const gchar *profile_name;
gchar *new_name;
- profile = mc_account_get_profile (account);
+ profile = empathy_account_get_profile (account);
profile_name = mc_profile_get_display_name (profile);
new_name = g_strdup_printf ("%s (%s)", profile_name,
account_param);
DEBUG ("Setting new display name for account %s: '%s'",
- mc_account_get_unique_name (account), new_name);
+ empathy_account_get_unique_name (account), new_name);
- mc_account_set_display_name (account, new_name);
+ empathy_account_set_display_name (account, new_name);
g_free (new_name);
g_object_unref (profile);
} else {
@@ -684,7 +684,7 @@ accounts_dialog_account_added_cb (EmpathyAccountManager *manager,
static void
accounts_dialog_account_removed_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
EmpathyAccountsDialog *dialog)
{
@@ -721,7 +721,7 @@ accounts_dialog_flash_connecting_cb (EmpathyAccountsDialog *dialog)
static void
accounts_dialog_connection_changed_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
TpConnectionStatusReason reason,
TpConnectionStatus current,
TpConnectionStatus previous,
@@ -730,7 +730,7 @@ accounts_dialog_connection_changed_cb (EmpathyAccountManager *manager,
GtkTreeModel *model;
GtkTreeIter iter;
gboolean found;
-
+
/* Update the status in the model */
model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->treeview));
@@ -762,7 +762,7 @@ accounts_dialog_connection_changed_cb (EmpathyAccountManager *manager,
static void
enable_or_disable_account (EmpathyAccountsDialog *dialog,
- McAccount *account,
+ EmpathyAccount *account,
gboolean enabled)
{
GtkTreeModel *model;
@@ -772,7 +772,7 @@ enable_or_disable_account (EmpathyAccountsDialog *dialog,
model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->treeview));
DEBUG ("Account %s is now %s",
- mc_account_get_display_name (account),
+ empathy_account_get_display_name (account),
enabled ? "enabled" : "disabled");
if (accounts_dialog_get_account_iter (dialog, account, &iter)) {
@@ -784,7 +784,7 @@ enable_or_disable_account (EmpathyAccountsDialog *dialog,
static void
accounts_dialog_account_disabled_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
EmpathyAccountsDialog *dialog)
{
enable_or_disable_account (dialog, account, FALSE);
@@ -792,7 +792,7 @@ accounts_dialog_account_disabled_cb (EmpathyAccountManager *manager,
static void
accounts_dialog_account_enabled_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
EmpathyAccountsDialog *dialog)
{
enable_or_disable_account (dialog, account, TRUE);
@@ -800,10 +800,10 @@ accounts_dialog_account_enabled_cb (EmpathyAccountManager *manager,
static void
accounts_dialog_account_changed_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
EmpathyAccountsDialog *dialog)
{
- McAccount *selected_account;
+ EmpathyAccount *selected_account;
accounts_dialog_add_or_update_account (dialog, account);
selected_account = accounts_dialog_model_get_selected (dialog);
@@ -817,7 +817,7 @@ accounts_dialog_button_create_clicked_cb (GtkWidget *button,
EmpathyAccountsDialog *dialog)
{
McProfile *profile;
- McAccount *account;
+ EmpathyAccount *account;
gchar *str;
McProfileCapabilityFlags cap;
@@ -825,7 +825,7 @@ accounts_dialog_button_create_clicked_cb (GtkWidget *button,
EMPATHY_PROFILE_CHOOSER (dialog->combobox_profile));
/* Create account */
- account = mc_account_create (profile);
+ account = empathy_account_manager_create (dialog->account_manager, profile);
if (account == NULL) {
/* We can't display an error to the user as MC doesn't give us
* any clue about the reason of the failure... */
@@ -836,7 +836,7 @@ accounts_dialog_button_create_clicked_cb (GtkWidget *button,
/* To translator: %s is the protocol name */
str = g_strdup_printf (_("New %s account"),
mc_profile_get_display_name (profile));
- mc_account_set_display_name (account, str);
+ empathy_account_set_display_name (account, str);
g_free (str);
cap = mc_profile_get_capabilities (profile);
@@ -845,7 +845,7 @@ accounts_dialog_button_create_clicked_cb (GtkWidget *button,
active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dialog->radiobutton_register));
if (active) {
- mc_account_set_param_boolean (account, "register", TRUE);
+ empathy_account_set_param_boolean (account, "register", TRUE);
}
}
@@ -860,7 +860,7 @@ static void
accounts_dialog_button_back_clicked_cb (GtkWidget *button,
EmpathyAccountsDialog *dialog)
{
- McAccount *account;
+ EmpathyAccount *account;
account = accounts_dialog_model_get_selected (dialog);
accounts_dialog_update_account (dialog, account);
@@ -931,13 +931,13 @@ static void
accounts_dialog_button_remove_clicked_cb (GtkWidget *button,
EmpathyAccountsDialog *dialog)
{
- McAccount *account;
+ EmpathyAccount *account;
GtkWidget *message_dialog;
gint res;
account = accounts_dialog_model_get_selected (dialog);
- if (!mc_account_is_complete (account)) {
+ if (!empathy_account_is_valid (account)) {
accounts_dialog_model_remove_selected (dialog);
accounts_dialog_model_select_first (dialog);
return;
@@ -949,7 +949,7 @@ accounts_dialog_button_remove_clicked_cb (GtkWidget *button,
GTK_BUTTONS_NONE,
_("You are about to remove your %s account!\n"
"Are you sure you want to proceed?"),
- mc_account_get_display_name (account));
+ empathy_account_get_display_name (account));
gtk_message_dialog_format_secondary_text
(GTK_MESSAGE_DIALOG (message_dialog),
@@ -970,7 +970,7 @@ accounts_dialog_button_remove_clicked_cb (GtkWidget *button,
res = gtk_dialog_run (GTK_DIALOG (message_dialog));
if (res == GTK_RESPONSE_YES) {
- mc_account_delete (account);
+ empathy_account_manager_remove (dialog->account_manager, account);
accounts_dialog_model_select_first (dialog);
}
gtk_widget_destroy (message_dialog);
@@ -1020,15 +1020,15 @@ accounts_dialog_destroy_cb (GtkWidget *widget,
dialog);
/* Delete incomplete accounts */
- accounts = mc_accounts_list ();
+ accounts = empathy_account_manager_dup_accounts (dialog->account_manager);
for (l = accounts; l; l = l->next) {
- McAccount *account;
+ EmpathyAccount *account;
account = l->data;
- if (!mc_account_is_complete (account)) {
+ if (!empathy_account_is_valid (account)) {
/* FIXME: Warn the user the account is not complete
* and is going to be removed. */
- mc_account_delete (account);
+ empathy_account_manager_remove (dialog->account_manager, account);
}
g_object_unref (account);
@@ -1041,13 +1041,13 @@ accounts_dialog_destroy_cb (GtkWidget *widget,
g_object_unref (dialog->account_manager);
g_object_unref (dialog->mc);
-
+
g_free (dialog);
}
GtkWidget *
empathy_accounts_dialog_show (GtkWindow *parent,
- McAccount *selected_account)
+ EmpathyAccount *selected_account)
{
static EmpathyAccountsDialog *dialog = NULL;
GtkBuilder *gui;
@@ -1135,7 +1135,7 @@ empathy_accounts_dialog_show (GtkWindow *parent,
accounts_dialog_model_setup (dialog);
/* Add existing accounts */
- accounts = mc_accounts_list ();
+ accounts = empathy_account_manager_dup_accounts (dialog->account_manager);
for (l = accounts; l; l = l->next) {
accounts_dialog_add_or_update_account (dialog, l->data);
g_object_unref (l->data);
diff --git a/src/empathy-accounts-dialog.h b/src/empathy-accounts-dialog.h
index b8c3d3691..11e237c8f 100644
--- a/src/empathy-accounts-dialog.h
+++ b/src/empathy-accounts-dialog.h
@@ -27,12 +27,12 @@
#include <gtk/gtk.h>
-#include <libmissioncontrol/mc-account.h>
+#include <libempathy/empathy-account.h>
G_BEGIN_DECLS
GtkWidget *empathy_accounts_dialog_show (GtkWindow *parent,
- McAccount *selected_account);
+ EmpathyAccount *selected_account);
G_END_DECLS
diff --git a/src/empathy-accounts-dialog.ui b/src/empathy-accounts-dialog.ui
index 7f17f82ce..cf1b23ef4 100644
--- a/src/empathy-accounts-dialog.ui
+++ b/src/empathy-accounts-dialog.ui
@@ -23,15 +23,14 @@
<property name="spacing">6</property>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow17">
+ <property name="height_request">200</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="hscrollbar_policy">automatic</property>
+ <property name="hscrollbar_policy">never</property>
<property name="vscrollbar_policy">automatic</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="treeview">
- <property name="width_request">250</property>
- <property name="height_request">200</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="enable_search">False</property>
@@ -143,7 +142,6 @@
</child>
<child>
<object class="GtkVBox" id="vbox214">
- <property name="width_request">415</property>
<property name="visible">True</property>
<property name="spacing">18</property>
<child>
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index 4ad1b2609..a71e9c8be 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -40,9 +40,9 @@
#include <libempathy-gtk/empathy-audio-sink.h>
#include <libempathy-gtk/empathy-video-src.h>
#include <libempathy-gtk/empathy-ui-utils.h>
+#include <libempathy-gtk/empathy-sound.h>
#include "empathy-call-window.h"
-
#include "empathy-call-window-fullscreen.h"
#include "empathy-sidebar.h"
@@ -60,11 +60,12 @@
#define REMOTE_CONTACT_AVATAR_DEFAULT_WIDTH EMPATHY_VIDEO_WIDGET_DEFAULT_HEIGHT
#define REMOTE_CONTACT_AVATAR_DEFAULT_HEIGHT EMPATHY_VIDEO_WIDGET_DEFAULT_HEIGHT
-#define CONNECTING_STATUS_TEXT _("Connecting...")
-
/* If an video input error occurs, the error message will start with "v4l" */
#define VIDEO_INPUT_ERROR_PREFIX "v4l"
+/* The time interval in milliseconds between 2 outgoing rings */
+#define MS_BETWEEN_RING 500
+
G_DEFINE_TYPE(EmpathyCallWindow, empathy_call_window, GTK_TYPE_WINDOW)
/* signal enum */
@@ -81,6 +82,13 @@ enum {
PROP_CALL_HANDLER = 1,
};
+typedef enum {
+ CONNECTING,
+ CONNECTED,
+ DISCONNECTED,
+ REDIALING
+} CallState;
+
/* private structure */
typedef struct _EmpathyCallWindowPriv EmpathyCallWindowPriv;
@@ -90,7 +98,8 @@ struct _EmpathyCallWindowPriv
EmpathyCallHandler *handler;
EmpathyContact *contact;
- gboolean connected;
+ guint call_state;
+ gboolean outgoing;
GtkUIManager *ui_manager;
GtkWidget *video_output;
@@ -165,10 +174,6 @@ struct _EmpathyCallWindowPriv
gboolean sidebar_was_visible_before_fs;
gint original_width_before_fs;
gint original_height_before_fs;
-
- /* Used to indicate if we are currently redialing. If we are, as soon as the
- channel is closed, the call is automatically re-initiated.*/
- gboolean redialing;
};
#define GET_PRIV(o) \
@@ -488,7 +493,7 @@ empathy_call_window_mic_volume_changed_cb (GtkAdjustment *adj,
priv->volume = volume;
/* Ensure that the toggle button is active if the volume is > 0 and inactive
- * if it's smaller then 0 */
+ * if it's smaller than 0 */
if ((volume > 0) != gtk_toggle_tool_button_get_active (
GTK_TOGGLE_TOOL_BUTTON (priv->mic_button)))
gtk_toggle_tool_button_set_active (
@@ -650,6 +655,19 @@ empathy_call_window_setup_video_preview (EmpathyCallWindow *window)
}
static void
+empathy_call_window_set_state_connecting (EmpathyCallWindow *window)
+{
+ EmpathyCallWindowPriv *priv = GET_PRIV (window);
+
+ empathy_call_window_status_message (window, _("Connecting..."));
+ priv->call_state = CONNECTING;
+
+ if (priv->outgoing)
+ empathy_sound_start_playing (GTK_WIDGET (window),
+ EMPATHY_SOUND_PHONE_OUTGOING, MS_BETWEEN_RING);
+}
+
+static void
empathy_call_window_init (EmpathyCallWindow *self)
{
EmpathyCallWindowPriv *priv = GET_PRIV (self);
@@ -778,8 +796,6 @@ empathy_call_window_init (EmpathyCallWindow *self)
g_signal_connect (G_OBJECT (self), "key-press-event",
G_CALLBACK (empathy_call_window_key_press_cb), self);
- empathy_call_window_status_message (self, CONNECTING_STATUS_TEXT);
-
priv->timer = g_timer_new ();
g_object_ref (priv->ui_manager);
@@ -921,10 +937,18 @@ empathy_call_window_constructed (GObject *object)
{
EmpathyCallWindow *self = EMPATHY_CALL_WINDOW (object);
EmpathyCallWindowPriv *priv = GET_PRIV (self);
+ EmpathyTpCall *call;
g_assert (priv->handler != NULL);
+
+ g_object_get (priv->handler, "tp-call", &call, NULL);
+ priv->outgoing = (call == NULL);
+ if (call != NULL)
+ g_object_unref (call);
+
empathy_call_window_setup_avatars (self, priv->handler);
empathy_call_window_setup_video_preview_visibility (self, priv->handler);
+ empathy_call_window_set_state_connecting (self);
}
static void empathy_call_window_dispose (GObject *object);
@@ -985,7 +1009,6 @@ empathy_call_window_class_init (
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
g_object_class_install_property (object_class,
PROP_CALL_HANDLER, param_spec);
-
}
static void
@@ -1180,7 +1203,11 @@ empathy_call_window_disconnected (EmpathyCallWindow *self)
EmpathyCallWindowPriv *priv = GET_PRIV (self);
gboolean could_reset_pipeline = empathy_call_window_reset_pipeline (self);
- priv->connected = FALSE;
+ if (priv->call_state == CONNECTING)
+ empathy_sound_stop (EMPATHY_SOUND_PHONE_OUTGOING);
+
+ if (priv->call_state != REDIALING)
+ priv->call_state = DISCONNECTED;
if (could_reset_pipeline)
{
@@ -1201,13 +1228,17 @@ empathy_call_window_disconnected (EmpathyCallWindow *self)
gtk_action_set_sensitive (priv->redial, TRUE);
gtk_widget_set_sensitive (priv->redial_button, TRUE);
- /* Reseting the send_video and camera_buton to their initial state */
+ /* Reseting the send_video, camera_buton and mic_button to their
+ initial state */
gtk_widget_set_sensitive (priv->camera_button, FALSE);
+ gtk_widget_set_sensitive (priv->mic_button, FALSE);
gtk_action_set_sensitive (priv->send_video, FALSE);
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (priv->send_video),
initial_video);
gtk_toggle_tool_button_set_active (
GTK_TOGGLE_TOOL_BUTTON (priv->camera_button), initial_video);
+ gtk_toggle_tool_button_set_active (
+ GTK_TOGGLE_TOOL_BUTTON (priv->mic_button), TRUE);
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (priv->show_preview),
FALSE);
@@ -1232,11 +1263,8 @@ empathy_call_window_channel_closed_cb (TfChannel *channel, gpointer user_data)
EmpathyCallWindow *self = EMPATHY_CALL_WINDOW (user_data);
EmpathyCallWindowPriv *priv = GET_PRIV (self);
- if (empathy_call_window_disconnected (self) && priv->redialing)
- {
+ if (empathy_call_window_disconnected (self) && priv->call_state == REDIALING)
empathy_call_window_restart_call (self);
- priv->redialing = FALSE;
- }
}
/* Called with global lock held */
@@ -1348,6 +1376,8 @@ empathy_call_window_connected (gpointer user_data)
gtk_action_set_sensitive (priv->redial, FALSE);
gtk_widget_set_sensitive (priv->redial_button, FALSE);
+ gtk_widget_set_sensitive (priv->mic_button, TRUE);
+
empathy_call_window_update_avatars_visibility (call, self);
g_object_unref (call);
@@ -1377,11 +1407,12 @@ empathy_call_window_src_added_cb (EmpathyCallHandler *handler,
g_mutex_lock (priv->lock);
- if (priv->connected == FALSE)
+ if (priv->call_state != CONNECTED)
{
g_timer_start (priv->timer);
priv->timer_id = g_idle_add (empathy_call_window_connected, self);
- priv->connected = TRUE;
+ priv->call_state = CONNECTED;
+ empathy_sound_stop (EMPATHY_SOUND_PHONE_OUTGOING);
}
switch (media_type)
@@ -1623,6 +1654,9 @@ empathy_call_window_delete_cb (GtkWidget *widget, GdkEvent*event,
if (priv->pipeline != NULL)
gst_element_set_state (priv->pipeline, GST_STATE_NULL);
+ if (priv->call_state == CONNECTING)
+ empathy_sound_stop (EMPATHY_SOUND_PHONE_OUTGOING);
+
return FALSE;
}
@@ -1790,7 +1824,7 @@ empathy_call_window_camera_toggled_cb (GtkToggleToolButton *toggle,
EmpathyCallWindowPriv *priv = GET_PRIV (window);
gboolean active;
- if (!priv->connected)
+ if (priv->call_state != CONNECTED)
return;
active = (gtk_toggle_tool_button_get_active (toggle));
@@ -1809,7 +1843,7 @@ empathy_call_window_send_video_toggled_cb (GtkToggleAction *toggle,
EmpathyCallWindowPriv *priv = GET_PRIV (window);
gboolean active;
- if (!priv->connected)
+ if (priv->call_state != CONNECTED)
return;
active = (gtk_toggle_action_get_active (toggle));
@@ -1850,6 +1884,9 @@ empathy_call_window_mic_toggled_cb (GtkToggleToolButton *toggle,
EmpathyCallWindowPriv *priv = GET_PRIV (window);
gboolean active;
+ if (priv->audio_input == NULL)
+ return;
+
active = (gtk_toggle_tool_button_get_active (toggle));
if (active)
@@ -1922,7 +1959,9 @@ empathy_call_window_restart_call (EmpathyCallWindow *window)
if (!empathy_call_handler_has_initial_video (priv->handler))
gtk_widget_hide (priv->self_user_output_frame);
- empathy_call_window_status_message (window, CONNECTING_STATUS_TEXT);
+ priv->outgoing = TRUE;
+ empathy_call_window_set_state_connecting (window);
+
priv->call_started = TRUE;
empathy_call_handler_start_call (priv->handler);
empathy_call_window_setup_avatars (window, priv->handler);
@@ -1938,12 +1977,12 @@ empathy_call_window_redial_cb (gpointer object,
{
EmpathyCallWindowPriv *priv = GET_PRIV (window);
- if (priv->connected)
- priv->redialing = TRUE;
+ if (priv->call_state == CONNECTED)
+ priv->call_state = REDIALING;
empathy_call_handler_stop_call (priv->handler);
- if (!priv->connected)
+ if (priv->call_state != CONNECTED)
empathy_call_window_restart_call (window);
}
diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c
index 118c7375e..f9d0b924a 100644
--- a/src/empathy-chat-window.c
+++ b/src/empathy-chat-window.c
@@ -50,6 +50,7 @@
#include <libempathy-gtk/empathy-log-window.h>
#include <libempathy-gtk/empathy-geometry.h>
#include <libempathy-gtk/empathy-smiley-manager.h>
+#include <libempathy-gtk/empathy-sound.h>
#include <libempathy-gtk/empathy-ui-utils.h>
#include "empathy-chat-window.h"
@@ -77,6 +78,7 @@ typedef struct {
GtkUIManager *ui_manager;
GtkAction *menu_conv_insert_smiley;
GtkAction *menu_conv_favorite;
+ GtkAction *menu_conv_toggle_contacts;
GtkAction *menu_edit_cut;
GtkAction *menu_edit_copy;
@@ -406,7 +408,7 @@ chat_window_update_chat_tab (EmpathyChat *chat)
EmpathyContact *remote_contact;
const gchar *name;
const gchar *id;
- McAccount *account;
+ EmpathyAccount *account;
const gchar *subject;
const gchar *status = NULL;
GtkWidget *widget;
@@ -427,7 +429,7 @@ chat_window_update_chat_tab (EmpathyChat *chat)
remote_contact = empathy_chat_get_remote_contact (chat);
DEBUG ("Updating chat tab, name=%s, account=%s, subject=%s, remote_contact=%p",
- name, mc_account_get_unique_name (account), subject, remote_contact);
+ name, empathy_account_get_unique_name (account), subject, remote_contact);
/* Update tab image */
if (g_list_find (priv->chats_new_msg, chat)) {
@@ -459,7 +461,7 @@ chat_window_update_chat_tab (EmpathyChat *chat)
append_markup_printf (tooltip,
"<b>%s</b><small> (%s)</small>",
id,
- mc_account_get_display_name (account));
+ empathy_account_get_display_name (account));
if (!EMP_STR_EMPTY (status)) {
append_markup_printf (tooltip, "\n<i>%s</i>", status);
@@ -547,24 +549,45 @@ chat_window_conv_activate_cb (GtkAction *action,
{
EmpathyChatWindowPriv *priv = GET_PRIV (window);
gboolean is_room;
+ gboolean active;
+ EmpathyContact *remote_contact = NULL;
/* Favorite room menu */
is_room = empathy_chat_is_room (priv->current_chat);
if (is_room) {
const gchar *room;
- McAccount *account;
- gboolean found;
+ EmpathyAccount *account;
+ gboolean found = FALSE;
+ EmpathyChatroom *chatroom;
room = empathy_chat_get_id (priv->current_chat);
account = empathy_chat_get_account (priv->current_chat);
- found = empathy_chatroom_manager_find (priv->chatroom_manager,
- account, room) != NULL;
+ chatroom = empathy_chatroom_manager_find (priv->chatroom_manager,
+ account, room);
+ if (chatroom != NULL)
+ found = empathy_chatroom_is_favorite (chatroom);
DEBUG ("This room %s favorite", found ? "is" : "is not");
gtk_toggle_action_set_active (
GTK_TOGGLE_ACTION (priv->menu_conv_favorite), found);
}
gtk_action_set_visible (priv->menu_conv_favorite, is_room);
+
+ /* Show contacts menu */
+ g_object_get (priv->current_chat,
+ "remote-contact", &remote_contact,
+ "show-contacts", &active,
+ NULL);
+ if (remote_contact == NULL) {
+ gtk_toggle_action_set_active (
+ GTK_TOGGLE_ACTION (priv->menu_conv_toggle_contacts),
+ active);
+ }
+ gtk_action_set_visible (priv->menu_conv_toggle_contacts,
+ (remote_contact == NULL));
+ if (remote_contact != NULL) {
+ g_object_unref (remote_contact);
+ }
}
static void
@@ -582,7 +605,7 @@ chat_window_favorite_toggled_cb (GtkToggleAction *toggle_action,
{
EmpathyChatWindowPriv *priv = GET_PRIV (window);
gboolean active;
- McAccount *account;
+ EmpathyAccount *account;
const gchar *room;
EmpathyChatroom *chatroom;
@@ -593,19 +616,28 @@ chat_window_favorite_toggled_cb (GtkToggleAction *toggle_action,
chatroom = empathy_chatroom_manager_find (priv->chatroom_manager,
account, room);
- if (active && !chatroom) {
+ if (chatroom == NULL) {
const gchar *name;
name = empathy_chat_get_name (priv->current_chat);
chatroom = empathy_chatroom_new_full (account, room, name, FALSE);
empathy_chatroom_manager_add (priv->chatroom_manager, chatroom);
g_object_unref (chatroom);
- return;
- }
-
- if (!active && chatroom) {
- empathy_chatroom_manager_remove (priv->chatroom_manager, chatroom);
- }
+ }
+
+ empathy_chatroom_set_favorite (chatroom, active);
+}
+
+static void
+chat_window_contacts_toggled_cb (GtkToggleAction *toggle_action,
+ EmpathyChatWindow *window)
+{
+ EmpathyChatWindowPriv *priv = GET_PRIV (window);
+ gboolean active;
+
+ active = gtk_toggle_action_get_active (toggle_action);
+
+ empathy_chat_set_show_contacts (priv->current_chat, active);
}
static const gchar *
@@ -942,11 +974,15 @@ chat_window_show_or_update_notification (EmpathyChatWindow *window,
if (priv->notification != NULL) {
notify_notification_update (priv->notification,
header, escaped, NULL);
- notify_notification_set_icon_from_pixbuf (priv->notification, pixbuf);
+ /* if icon doesn't exist libnotify will crash */
+ if (pixbuf != NULL)
+ notify_notification_set_icon_from_pixbuf (priv->notification, pixbuf);
} else {
priv->notification = notify_notification_new (header, escaped, NULL, NULL);
notify_notification_set_timeout (priv->notification, NOTIFY_EXPIRES_DEFAULT);
- notify_notification_set_icon_from_pixbuf (priv->notification, pixbuf);
+ /* if icon doesn't exist libnotify will crash */
+ if (pixbuf != NULL)
+ notify_notification_set_icon_from_pixbuf (priv->notification, pixbuf);
g_signal_connect (priv->notification, "closed",
G_CALLBACK (chat_window_notification_closed_cb), cb_data);
@@ -1179,7 +1215,7 @@ chat_window_focus_in_event_cb (GtkWidget *widget,
priv->chats_new_msg = g_list_remove (priv->chats_new_msg, priv->current_chat);
chat_window_set_urgency_hint (window, FALSE);
-
+
/* Update the title, since we now mark all unread messages as read. */
chat_window_update_chat_tab (priv->current_chat);
@@ -1199,55 +1235,54 @@ chat_window_drag_data_received (GtkWidget *widget,
if (info == DND_DRAG_TYPE_CONTACT_ID) {
EmpathyChat *chat;
EmpathyChatWindow *old_window;
- McAccount *account;
+ EmpathyAccount *account;
+ EmpathyAccountManager *account_manager;
const gchar *id;
gchar **strv;
const gchar *account_id;
const gchar *contact_id;
id = (const gchar*) selection->data;
+ account_manager = empathy_account_manager_dup_singleton ();
DEBUG ("DND contact from roster with id:'%s'", id);
-
+
strv = g_strsplit (id, "/", 2);
account_id = strv[0];
contact_id = strv[1];
- account = mc_account_lookup (account_id);
+ account = empathy_account_manager_lookup (account_manager, account_id);
chat = empathy_chat_window_find_chat (account, contact_id);
if (!chat) {
- EmpathyAccountManager *account_manager;
TpConnection *connection;
- account_manager = empathy_account_manager_dup_singleton ();
- connection = empathy_account_manager_get_connection (
- account_manager, account);
+ connection = empathy_account_get_connection (account);
if (connection) {
empathy_dispatcher_chat_with_contact_id (
connection, contact_id, NULL, NULL);
}
- g_object_unref (account_manager);
g_object_unref (account);
g_strfreev (strv);
return;
}
g_object_unref (account);
+ g_object_unref (account_manager);
g_strfreev (strv);
- old_window = chat_window_find_chat (chat);
+ old_window = chat_window_find_chat (chat);
if (old_window) {
if (old_window == window) {
gtk_drag_finish (context, TRUE, FALSE, time);
return;
}
-
+
empathy_chat_window_move_chat (old_window, window, chat);
} else {
empathy_chat_window_add_chat (window, chat);
}
-
+
/* Added to take care of any outstanding chat events */
empathy_chat_window_present_chat (chat);
@@ -1278,7 +1313,7 @@ chat_window_drag_data_received (GtkWidget *widget,
gtk_drag_finish (context, TRUE, FALSE, time);
return;
}
-
+
priv->dnd_same_window = FALSE;
}
@@ -1368,6 +1403,7 @@ empathy_chat_window_init (EmpathyChatWindow *window)
"ui_manager", &priv->ui_manager,
"menu_conv_insert_smiley", &priv->menu_conv_insert_smiley,
"menu_conv_favorite", &priv->menu_conv_favorite,
+ "menu_conv_toggle_contacts", &priv->menu_conv_toggle_contacts,
"menu_edit_cut", &priv->menu_edit_cut,
"menu_edit_copy", &priv->menu_edit_copy,
"menu_edit_paste", &priv->menu_edit_paste,
@@ -1384,6 +1420,7 @@ empathy_chat_window_init (EmpathyChatWindow *window)
"menu_conv", "activate", chat_window_conv_activate_cb,
"menu_conv_clear", "activate", chat_window_clear_activate_cb,
"menu_conv_favorite", "toggled", chat_window_favorite_toggled_cb,
+ "menu_conv_toggle_contacts", "toggled", chat_window_contacts_toggled_cb,
"menu_conv_close", "activate", chat_window_close_activate_cb,
"menu_edit", "activate", chat_window_edit_activate_cb,
"menu_edit_cut", "activate", chat_window_cut_activate_cb,
@@ -1565,14 +1602,14 @@ empathy_chat_window_add_chat (EmpathyChatWindow *window,
/* If this window has just been created, position it */
if (priv->chats == NULL) {
empathy_geometry_load (chat_get_window_id_for_geometry (chat), &x, &y, &w, &h);
-
+
if (x >= 0 && y >= 0) {
/* Let the window manager position it if we don't have
* good x, y coordinates.
*/
gtk_window_move (GTK_WINDOW (priv->dialog), x, y);
}
-
+
if (w > 0 && h > 0) {
/* Use the defaults from the ui file if we don't have
* good w, h geometry.
@@ -1702,12 +1739,11 @@ empathy_chat_window_has_focus (EmpathyChatWindow *window)
}
EmpathyChat *
-empathy_chat_window_find_chat (McAccount *account,
+empathy_chat_window_find_chat (EmpathyAccount *account,
const gchar *id)
{
GList *l;
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
g_return_val_if_fail (!EMP_STR_EMPTY (id), NULL);
for (l = chat_windows; l; l = l->next) {
diff --git a/src/empathy-chat-window.h b/src/empathy-chat-window.h
index c46ef8fc4..6f3d21fca 100644
--- a/src/empathy-chat-window.h
+++ b/src/empathy-chat-window.h
@@ -31,7 +31,7 @@
#include <glib-object.h>
#include <gtk/gtk.h>
-#include <libmissioncontrol/mc-account.h>
+#include <libempathy/empathy-account.h>
#include <libempathy-gtk/empathy-chat.h>
G_BEGIN_DECLS
@@ -69,7 +69,7 @@ void empathy_chat_window_move_chat (EmpathyChatWindow *old_wi
void empathy_chat_window_switch_to_chat (EmpathyChatWindow *window,
EmpathyChat *chat);
gboolean empathy_chat_window_has_focus (EmpathyChatWindow *window);
-EmpathyChat * empathy_chat_window_find_chat (McAccount *account,
+EmpathyChat * empathy_chat_window_find_chat (EmpathyAccount *account,
const gchar *id);
void empathy_chat_window_present_chat (EmpathyChat *chat);
diff --git a/src/empathy-chat-window.ui b/src/empathy-chat-window.ui
index 0d5a83180..8c8ea7d00 100644
--- a/src/empathy-chat-window.ui
+++ b/src/empathy-chat-window.ui
@@ -32,6 +32,13 @@
</object>
</child>
<child>
+ <object class="GtkToggleAction" id="menu_conv_toggle_contacts">
+ <property name="name">menu_conv_toggle_contacts</property>
+ <property name="active">TRUE</property>
+ <property name="label" translatable="yes">_Show Contact List</property>
+ </object>
+ </child>
+ <child>
<object class="GtkAction" id="menu_conv_close">
<property name="stock_id">gtk-close</property>
<property name="name">menu_conv_close</property>
@@ -137,6 +144,7 @@
<menuitem action="menu_conv_clear"/>
<menuitem action="menu_conv_insert_smiley"/>
<menuitem action="menu_conv_favorite"/>
+ <menuitem action="menu_conv_toggle_contacts"/>
<separator/>
<menuitem action="menu_conv_close"/>
</menu>
diff --git a/src/empathy-chatrooms-window.c b/src/empathy-chatrooms-window.c
index a0fb8e6ec..3b5dd1f77 100644
--- a/src/empathy-chatrooms-window.c
+++ b/src/empathy-chatrooms-window.c
@@ -308,7 +308,7 @@ chatrooms_window_model_refresh_data (EmpathyChatroomsWindow *window,
GtkTreeIter iter;
GtkTreeViewColumn *column;
EmpathyAccountChooser *account_chooser;
- McAccount *account;
+ EmpathyAccount *account;
GList *chatrooms, *l;
view = GTK_TREE_VIEW (window->treeview);
@@ -506,7 +506,7 @@ chatrooms_window_chatroom_added_cb (EmpathyChatroomManager *manager,
EmpathyChatroomsWindow *window)
{
EmpathyAccountChooser *account_chooser;
- McAccount *account;
+ EmpathyAccount *account;
account_chooser = EMPATHY_ACCOUNT_CHOOSER (window->account_chooser);
account = empathy_account_chooser_dup_account (account_chooser);
diff --git a/src/empathy-debug-dialog.c b/src/empathy-debug-dialog.c
index f6fe6e8b2..cd0d925f9 100644
--- a/src/empathy-debug-dialog.c
+++ b/src/empathy-debug-dialog.c
@@ -430,8 +430,6 @@ debug_dialog_get_name_owner_cb (TpDBusDaemon *proxy,
COL_CM_NAME, data->cm_name,
COL_CM_UNIQUE_NAME, out,
-1);
-
- gtk_combo_box_set_active (GTK_COMBO_BOX (priv->cm_chooser), 0);
}
OUT:
@@ -568,6 +566,7 @@ debug_dialog_fill_cm_chooser (EmpathyDebugDialog *debug_dialog)
{
EmpathyDebugDialogPriv *priv = GET_PRIV (debug_dialog);
GError *error = NULL;
+ GtkTreeIter iter;
priv->dbus = tp_dbus_daemon_dup (&error);
@@ -578,6 +577,15 @@ debug_dialog_fill_cm_chooser (EmpathyDebugDialog *debug_dialog)
return;
}
+ /* Add empathy */
+ gtk_list_store_append (priv->cms, &iter);
+ gtk_list_store_set (priv->cms, &iter,
+ COL_CM_NAME, "empathy",
+ COL_CM_UNIQUE_NAME, "org.gnome.Empathy",
+ -1);
+ gtk_combo_box_set_active (GTK_COMBO_BOX (priv->cm_chooser), 0);
+
+ /* Add CMs to list */
tp_list_connection_names (priv->dbus, debug_dialog_list_connection_names_cb,
debug_dialog, NULL, NULL);
diff --git a/src/empathy-event-manager.c b/src/empathy-event-manager.c
index 1ee619e58..1a7ec09cb 100644
--- a/src/empathy-event-manager.c
+++ b/src/empathy-event-manager.c
@@ -26,6 +26,7 @@
#include <telepathy-glib/util.h>
+#include <libempathy/empathy-account-manager.h>
#include <libempathy/empathy-dispatcher.h>
#include <libempathy/empathy-tp-contact-factory.h>
#include <libempathy/empathy-contact-manager.h>
@@ -37,9 +38,10 @@
#include <extensions/extensions.h>
+#include <libempathy-gtk/empathy-conf.h>
#include <libempathy-gtk/empathy-images.h>
#include <libempathy-gtk/empathy-contact-dialogs.h>
-#include <libempathy-gtk/empathy-ui-utils.h>
+#include <libempathy-gtk/empathy-sound.h>
#include "empathy-event-manager.h"
#include "empathy-main-window.h"
@@ -50,6 +52,11 @@
#define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyEventManager)
+#define NOTIFICATION_TIMEOUT 2 /* seconds */
+
+/* The time interval in milliseconds between 2 incoming rings */
+#define MS_BETWEEN_RING 500
+
typedef struct {
EmpathyEventManager *manager;
EmpathyDispatchOperation *operation;
@@ -74,8 +81,6 @@ typedef struct {
/* Ongoing approvals */
GSList *approvals;
- /* voip ringing sound */
- guint voip_timeout;
gint ringing;
} EmpathyEventManagerPriv;
@@ -161,81 +166,6 @@ event_free (EventPriv *event)
g_slice_free (EventPriv, event);
}
-static void event_manager_ringing_finished_cb (ca_context *c, guint id,
- int error_code, gpointer user_data);
-
-static gboolean
-event_manager_ringing_timeout_cb (gpointer data)
-{
- EmpathyEventManager *manager = EMPATHY_EVENT_MANAGER (data);
- EmpathyEventManagerPriv *priv = GET_PRIV (manager);
-
- priv->voip_timeout = 0;
-
- empathy_sound_play_full (empathy_main_window_get (),
- EMPATHY_SOUND_PHONE_INCOMING, event_manager_ringing_finished_cb,
- manager);
-
- return FALSE;
-}
-
-static gboolean
-event_manager_ringing_idle_cb (gpointer data)
-{
- EmpathyEventManager *manager = EMPATHY_EVENT_MANAGER (data);
- EmpathyEventManagerPriv *priv = GET_PRIV (manager);
-
- if (priv->ringing > 0)
- priv->voip_timeout = g_timeout_add (500, event_manager_ringing_timeout_cb,
- data);
-
- return FALSE;
-}
-
-static void
-event_manager_ringing_finished_cb (ca_context *c, guint id, int error_code,
- gpointer user_data)
-{
- if (error_code == CA_ERROR_CANCELED)
- return;
-
- g_idle_add (event_manager_ringing_idle_cb, user_data);
-}
-
-static void
-event_manager_start_ringing (EmpathyEventManager *manager)
-{
- EmpathyEventManagerPriv *priv = GET_PRIV (manager);
-
- priv->ringing++;
-
- if (priv->ringing == 1)
- {
- empathy_sound_play_full (empathy_main_window_get (),
- EMPATHY_SOUND_PHONE_INCOMING, event_manager_ringing_finished_cb,
- manager);
- }
-}
-
-static void
-event_manager_stop_ringing (EmpathyEventManager *manager)
-{
- EmpathyEventManagerPriv *priv = GET_PRIV (manager);
-
- priv->ringing--;
-
- if (priv->ringing > 0)
- return;
-
- empathy_sound_stop (EMPATHY_SOUND_PHONE_INCOMING);
-
- if (priv->voip_timeout != 0)
- {
- g_source_remove (priv->voip_timeout);
- priv->voip_timeout = 0;
- }
-}
-
static void
event_remove (EventPriv *event)
{
@@ -247,6 +177,13 @@ event_remove (EventPriv *event)
event_free (event);
}
+static gboolean
+autoremove_event_timeout_cb (EventPriv *event)
+{
+ event_remove (event);
+ return FALSE;
+}
+
static void
event_manager_add (EmpathyEventManager *manager, EmpathyContact *contact,
const gchar *icon_name, const gchar *header, const gchar *message,
@@ -260,6 +197,7 @@ event_manager_add (EmpathyEventManager *manager, EmpathyContact *contact,
event->public.icon_name = g_strdup (icon_name);
event->public.header = g_strdup (header);
event->public.message = g_strdup (message);
+ event->public.must_ack = (func != NULL);
event->inhibit = FALSE;
event->func = func;
event->user_data = user_data;
@@ -269,6 +207,12 @@ event_manager_add (EmpathyEventManager *manager, EmpathyContact *contact,
DEBUG ("Adding event %p", event);
priv->events = g_slist_prepend (priv->events, event);
g_signal_emit (event->manager, signals[EVENT_ADDED], 0, event);
+
+ if (!event->public.must_ack)
+ {
+ g_timeout_add_seconds (NOTIFICATION_TIMEOUT,
+ (GSourceFunc) autoremove_event_timeout_cb, event);
+ }
}
static void
@@ -455,7 +399,9 @@ event_manager_approval_done (EventManagerApproval *approval)
approval->operation);
if (channel_type == TP_IFACE_QUARK_CHANNEL_TYPE_STREAMED_MEDIA)
{
- event_manager_stop_ringing (approval->manager);
+ priv->ringing--;
+ if (priv->ringing == 0)
+ empathy_sound_stop (EMPATHY_SOUND_PHONE_INCOMING);
}
}
@@ -500,6 +446,7 @@ event_manager_operation_invalidated_cb (EmpathyDispatchOperation *operation,
static void
event_manager_media_channel_got_contact (EventManagerApproval *approval)
{
+ EmpathyEventManagerPriv *priv = GET_PRIV (approval->manager);
gchar *header;
header = g_strdup_printf (_("Incoming call from %s"),
@@ -510,7 +457,11 @@ event_manager_media_channel_got_contact (EventManagerApproval *approval)
approval, event_channel_process_voip_func, NULL);
g_free (header);
- event_manager_start_ringing (approval->manager);
+
+ priv->ringing++;
+ if (priv->ringing == 1)
+ empathy_sound_start_playing (empathy_main_window_get (),
+ EMPATHY_SOUND_PHONE_INCOMING, MS_BETWEEN_RING);
}
static void
@@ -956,6 +907,58 @@ event_manager_pendings_changed_cb (EmpathyContactList *list,
g_free (header);
}
+static void
+event_manager_presence_changed_cb (EmpathyContactMonitor *monitor,
+ EmpathyContact *contact,
+ TpConnectionPresenceType current,
+ TpConnectionPresenceType previous,
+ EmpathyEventManager *manager)
+{
+ EmpathyAccount *account;
+ gchar *header = NULL;
+ gboolean preference = FALSE;
+
+ account = empathy_contact_get_account (contact);
+ if (empathy_account_is_just_connected (account))
+ return;
+
+ if (tp_connection_presence_type_cmp_availability (previous,
+ TP_CONNECTION_PRESENCE_TYPE_OFFLINE) > 0)
+ {
+ /* contact was online */
+ empathy_conf_get_bool (empathy_conf_get (),
+ EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNOUT, &preference);
+ if (preference && tp_connection_presence_type_cmp_availability (current,
+ TP_CONNECTION_PRESENCE_TYPE_OFFLINE) <= 0)
+ {
+ /* someone is logging off */
+ header = g_strdup_printf (_("%s is now offline."),
+ empathy_contact_get_name (contact));
+
+ event_manager_add (manager, contact, GTK_STOCK_DIALOG_INFO, header,
+ NULL, NULL, NULL, NULL);
+ }
+ }
+ else
+ {
+ /* contact was offline */
+ empathy_conf_get_bool (empathy_conf_get (),
+ EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNIN, &preference);
+ if (preference && tp_connection_presence_type_cmp_availability (current,
+ TP_CONNECTION_PRESENCE_TYPE_OFFLINE) > 0)
+ {
+ /* someone is logging in */
+ header = g_strdup_printf (_("%s is now online."),
+ empathy_contact_get_name (contact));
+
+ event_manager_add (manager, contact, GTK_STOCK_DIALOG_INFO, header,
+ NULL, NULL, NULL, NULL);
+ }
+ }
+ g_free (header);
+}
+
+
static GObject *
event_manager_constructor (GType type,
guint n_props,
@@ -981,6 +984,9 @@ event_manager_finalize (GObject *object)
{
EmpathyEventManagerPriv *priv = GET_PRIV (object);
+ if (priv->ringing > 0)
+ empathy_sound_stop (EMPATHY_SOUND_PHONE_INCOMING);
+
g_slist_foreach (priv->events, (GFunc) event_free, NULL);
g_slist_free (priv->events);
g_slist_foreach (priv->approvals, (GFunc) event_manager_approval_free, NULL);
@@ -1034,6 +1040,12 @@ empathy_event_manager_init (EmpathyEventManager *manager)
{
EmpathyEventManagerPriv *priv = G_TYPE_INSTANCE_GET_PRIVATE (manager,
EMPATHY_TYPE_EVENT_MANAGER, EmpathyEventManagerPriv);
+ EmpathyContactMonitor *monitor;
+ EmpathyContactList *list_iface;
+
+ list_iface = EMPATHY_CONTACT_LIST (empathy_contact_manager_dup_singleton ());
+ monitor = empathy_contact_list_get_monitor (list_iface);
+ g_object_unref (list_iface);
manager->priv = priv;
@@ -1043,6 +1055,8 @@ empathy_event_manager_init (EmpathyEventManager *manager)
G_CALLBACK (event_manager_approve_channel_cb), manager);
g_signal_connect (priv->contact_manager, "pendings-changed",
G_CALLBACK (event_manager_pendings_changed_cb), manager);
+ g_signal_connect (monitor, "contact-presence-changed",
+ G_CALLBACK (event_manager_presence_changed_cb), manager);
}
EmpathyEventManager *
@@ -1093,4 +1107,3 @@ empathy_event_inhibit_updates (EmpathyEvent *event_public)
event->inhibit = TRUE;
}
-
diff --git a/src/empathy-event-manager.h b/src/empathy-event-manager.h
index 42fd0c090..af73c8ea7 100644
--- a/src/empathy-event-manager.h
+++ b/src/empathy-event-manager.h
@@ -53,6 +53,7 @@ typedef struct {
gchar *icon_name;
gchar *header;
gchar *message;
+ gboolean must_ack;
} EmpathyEvent;
GType empathy_event_manager_get_type (void) G_GNUC_CONST;
diff --git a/src/empathy-import-dialog.c b/src/empathy-import-dialog.c
index 8e9a04595..1e135892d 100644
--- a/src/empathy-import-dialog.c
+++ b/src/empathy-import-dialog.c
@@ -27,7 +27,6 @@
#include <gtk/gtk.h>
#include <glib/gi18n.h>
-#include <libmissioncontrol/mc-account.h>
#include <telepathy-glib/util.h>
#include "empathy-import-dialog.h"
@@ -36,6 +35,7 @@
#define DEBUG_FLAG EMPATHY_DEBUG_OTHER
#include <libempathy/empathy-debug.h>
#include <libempathy/empathy-utils.h>
+#include <libempathy/empathy-account-manager.h>
#include <libempathy-gtk/empathy-ui-utils.h>
@@ -91,13 +91,16 @@ empathy_import_account_data_free (EmpathyImportAccountData *data)
static void
import_dialog_add_account (EmpathyImportAccountData *data)
{
- McAccount *account;
+ EmpathyAccountManager *account_manager;
+ EmpathyAccount *account;
GHashTableIter iter;
gpointer key, value;
gchar *display_name;
GValue *username;
- account = mc_account_create (data->profile);
+ account_manager = empathy_account_manager_dup_singleton ();
+ account = empathy_account_manager_create (account_manager, data->profile);
+ g_object_unref (account_manager);
if (account == NULL)
{
DEBUG ("Failed to create account");
@@ -115,21 +118,21 @@ import_dialog_add_account (EmpathyImportAccountData *data)
case G_TYPE_STRING:
DEBUG ("Set param '%s' to '%s' (string)",
param, g_value_get_string (gvalue));
- mc_account_set_param_string (account,
+ empathy_account_set_param_string (account,
param, g_value_get_string (gvalue));
break;
case G_TYPE_BOOLEAN:
DEBUG ("Set param '%s' to %s (boolean)",
param, g_value_get_boolean (gvalue) ? "TRUE" : "FALSE");
- mc_account_set_param_boolean (account,
+ empathy_account_set_param_boolean (account,
param, g_value_get_boolean (gvalue));
break;
case G_TYPE_INT:
DEBUG ("Set param '%s' to '%i' (integer)",
param, g_value_get_int (gvalue));
- mc_account_set_param_int (account,
+ empathy_account_set_param_int (account,
param, g_value_get_int (gvalue));
break;
}
@@ -140,7 +143,7 @@ import_dialog_add_account (EmpathyImportAccountData *data)
display_name = g_strdup_printf ("%s (%s)",
mc_profile_get_display_name (data->profile),
g_value_get_string (username));
- mc_account_set_display_name (account, display_name);
+ empathy_account_set_display_name (account, display_name);
g_free (display_name);
g_object_unref (account);
@@ -155,11 +158,12 @@ import_dialog_account_id_in_list (GList *accounts,
for (l = accounts; l; l = l->next)
{
McAccount *account = l->data;
- gchar *value;
+ gchar *value = NULL;
gboolean result;
- if (mc_account_get_param_string (account, "account", &value)
- == MC_ACCOUNT_SETTING_ABSENT)
+ mc_account_get_param_string (account, "account", &value);
+
+ if (value == NULL)
continue;
result = tp_strdiff (value, account_id);
diff --git a/src/empathy-import-dialog.h b/src/empathy-import-dialog.h
index a3ef3e13c..0e3fd148f 100644
--- a/src/empathy-import-dialog.h
+++ b/src/empathy-import-dialog.h
@@ -20,6 +20,7 @@
*/
#include <gtk/gtk.h>
+#include <libmissioncontrol/mc-profile.h>
#ifndef __EMPATHY_IMPORT_DIALOG_H__
#define __EMPATHY_IMPORT_DIALOG_H__
diff --git a/src/empathy-import-pidgin.c b/src/empathy-import-pidgin.c
index 804936eae..935c022ea 100644
--- a/src/empathy-import-pidgin.c
+++ b/src/empathy-import-pidgin.c
@@ -28,7 +28,6 @@
#include <libxml/parser.h>
#include <libxml/tree.h>
-#include <libmissioncontrol/mc-account.h>
#include <telepathy-glib/util.h>
#include <telepathy-glib/dbus.h>
diff --git a/src/empathy-main-window.c b/src/empathy-main-window.c
index 5830d2b71..c7816d7fd 100644
--- a/src/empathy-main-window.c
+++ b/src/empathy-main-window.c
@@ -37,16 +37,17 @@
#include <libempathy/empathy-contact-manager.h>
#include <libempathy/empathy-status-presets.h>
+#include <libempathy-gtk/empathy-conf.h>
#include <libempathy-gtk/empathy-contact-dialogs.h>
#include <libempathy-gtk/empathy-contact-list-store.h>
#include <libempathy-gtk/empathy-contact-list-view.h>
-#include <libempathy-gtk/empathy-presence-chooser.h>
-#include <libempathy-gtk/empathy-ui-utils.h>
#include <libempathy-gtk/empathy-geometry.h>
-#include <libempathy-gtk/empathy-conf.h>
-#include <libempathy-gtk/empathy-log-window.h>
-#include <libempathy-gtk/empathy-new-message-dialog.h>
#include <libempathy-gtk/empathy-gtk-enum-types.h>
+#include <libempathy-gtk/empathy-new-message-dialog.h>
+#include <libempathy-gtk/empathy-log-window.h>
+#include <libempathy-gtk/empathy-presence-chooser.h>
+#include <libempathy-gtk/empathy-sound.h>
+#include <libempathy-gtk/empathy-ui-utils.h>
#include <libmissioncontrol/mission-control.h>
@@ -197,7 +198,7 @@ main_window_flash_cb (EmpathyMainWindow *window)
events = empathy_event_manager_get_events (window->event_manager);
for (l = events; l; l = l->next) {
data.event = l->data;
- if (!data.event->contact) {
+ if (!data.event->contact || !data.event->must_ack) {
continue;
}
@@ -301,7 +302,7 @@ static void
main_window_error_edit_clicked_cb (GtkButton *button,
EmpathyMainWindow *window)
{
- McAccount *account;
+ EmpathyAccount *account;
GtkWidget *error_widget;
account = g_object_get_data (G_OBJECT (button), "account");
@@ -316,7 +317,7 @@ static void
main_window_error_clear_clicked_cb (GtkButton *button,
EmpathyMainWindow *window)
{
- McAccount *account;
+ EmpathyAccount *account;
GtkWidget *error_widget;
account = g_object_get_data (G_OBJECT (button), "account");
@@ -327,7 +328,7 @@ main_window_error_clear_clicked_cb (GtkButton *button,
static void
main_window_error_display (EmpathyMainWindow *window,
- McAccount *account,
+ EmpathyAccount *account,
const gchar *message)
{
GtkWidget *child;
@@ -348,7 +349,7 @@ main_window_error_display (EmpathyMainWindow *window,
/* Just set the latest error and return */
str = g_markup_printf_escaped ("<b>%s</b>\n%s",
- mc_account_get_display_name (account),
+ empathy_account_get_display_name (account),
message);
gtk_label_set_markup (GTK_LABEL (label), str);
g_free (str);
@@ -429,7 +430,7 @@ main_window_error_display (EmpathyMainWindow *window,
gtk_misc_set_alignment (GTK_MISC (label), 0, 0);
str = g_markup_printf_escaped ("<b>%s</b>\n%s",
- mc_account_get_display_name (account),
+ empathy_account_get_display_name (account),
message);
gtk_label_set_markup (GTK_LABEL (label), str);
g_free (str);
@@ -481,7 +482,7 @@ main_window_update_status (EmpathyMainWindow *window, EmpathyAccountManager *man
static void
main_window_connection_changed_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
TpConnectionStatusReason reason,
TpConnectionStatus current,
TpConnectionStatus previous,
@@ -568,11 +569,11 @@ main_window_contact_presence_changed_cb (EmpathyContactMonitor *monitor,
TpConnectionPresenceType previous,
EmpathyMainWindow *window)
{
- McAccount *account;
+ EmpathyAccount *account;
gboolean should_play;
account = empathy_contact_get_account (contact);
- should_play = !empathy_account_manager_is_account_just_connected (window->account_manager, account);
+ should_play = !empathy_account_is_just_connected (account);
if (!should_play) {
return;
@@ -728,16 +729,13 @@ main_window_view_show_map_cb (GtkCheckMenuItem *item,
static void
main_window_favorite_chatroom_join (EmpathyChatroom *chatroom)
{
- EmpathyAccountManager *manager;
- McAccount *account;
+ EmpathyAccount *account;
TpConnection *connection;
const gchar *room;
- manager = empathy_account_manager_dup_singleton ();
account = empathy_chatroom_get_account (chatroom);
- connection = empathy_account_manager_get_connection (manager, account);
+ connection = empathy_account_get_connection (account);
room = empathy_chatroom_get_room (chatroom);
- g_object_unref (manager);
if (connection != NULL) {
DEBUG ("Requesting channel for '%s'", room);
@@ -1008,7 +1006,7 @@ main_window_configure_event_cb (GtkWidget *widget,
static void
main_window_account_created_or_deleted_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
EmpathyMainWindow *window)
{
gtk_action_set_sensitive (window->view_history,
diff --git a/src/empathy-map-view.c b/src/empathy-map-view.c
index 99c496b23..86e15bdff 100644
--- a/src/empathy-map-view.c
+++ b/src/empathy-map-view.c
@@ -161,7 +161,7 @@ map_view_contacts_foreach (GtkTreeModel *model,
GtkTreeIter *iter,
gpointer user_data)
{
- EmpathyMapView *window = (EmpathyMapView*) user_data;
+ EmpathyMapView *window = (EmpathyMapView *) user_data;
EmpathyContact *contact;
ClutterActor *marker;
ClutterActor *texture;
diff --git a/src/empathy-new-chatroom-dialog.c b/src/empathy-new-chatroom-dialog.c
index 563665932..e16da91a7 100644
--- a/src/empathy-new-chatroom-dialog.c
+++ b/src/empathy-new-chatroom-dialog.c
@@ -33,7 +33,6 @@
#include <glib/gprintf.h>
#include <libmissioncontrol/mission-control.h>
-#include <libmissioncontrol/mc-account.h>
#include <libmissioncontrol/mc-profile.h>
#include <libempathy/empathy-tp-roomlist.h>
@@ -358,14 +357,14 @@ static void
new_chatroom_dialog_update_widgets (EmpathyNewChatroomDialog *dialog)
{
EmpathyAccountChooser *account_chooser;
- McAccount *account;
+ EmpathyAccount *account;
McProfile *profile;
const gchar *protocol;
const gchar *room;
-
+
account_chooser = EMPATHY_ACCOUNT_CHOOSER (dialog->account_chooser);
account = empathy_account_chooser_dup_account (account_chooser);
- profile = mc_account_get_profile (account);
+ profile = empathy_account_get_profile (account);
protocol = mc_profile_get_protocol_name (profile);
gtk_entry_set_text (GTK_ENTRY (dialog->entry_server), "");
@@ -399,12 +398,13 @@ new_chatroom_dialog_account_changed_cb (GtkComboBox *combobox,
EmpathyNewChatroomDialog *dialog)
{
EmpathyAccountChooser *account_chooser;
- McAccount *account;
+ EmpathyAccount *account;
gboolean listing = FALSE;
gboolean expanded = FALSE;
if (dialog->room_list) {
g_object_unref (dialog->room_list);
+ dialog->room_list = NULL;
}
ephy_spinner_stop (EPHY_SPINNER (dialog->throbber));
@@ -412,6 +412,9 @@ new_chatroom_dialog_account_changed_cb (GtkComboBox *combobox,
account_chooser = EMPATHY_ACCOUNT_CHOOSER (dialog->account_chooser);
account = empathy_account_chooser_dup_account (account_chooser);
+ if (account == NULL)
+ goto out;
+
dialog->room_list = empathy_tp_roomlist_new (account);
if (dialog->room_list) {
@@ -444,9 +447,10 @@ new_chatroom_dialog_account_changed_cb (GtkComboBox *combobox,
}
}
- new_chatroom_dialog_update_widgets (dialog);
-
g_object_unref (account);
+
+out:
+ new_chatroom_dialog_update_widgets (dialog);
}
static void
@@ -545,7 +549,7 @@ new_chatroom_dialog_listing_cb (EmpathyTpRoomlist *room_list,
/* Update the throbber */
if (listing) {
- ephy_spinner_start (EPHY_SPINNER (dialog->throbber));
+ ephy_spinner_start (EPHY_SPINNER (dialog->throbber));
} else {
ephy_spinner_stop (EPHY_SPINNER (dialog->throbber));
}
@@ -572,7 +576,7 @@ new_chatroom_dialog_model_row_activated_cb (GtkTreeView *tree_view,
static void
new_chatroom_dialog_model_selection_changed (GtkTreeSelection *selection,
EmpathyNewChatroomDialog *dialog)
-{
+{
GtkTreeModel *model;
GtkTreeIter iter;
gchar *room = NULL;
diff --git a/src/empathy-preferences.c b/src/empathy-preferences.c
index 4c88db675..0e2299cac 100644
--- a/src/empathy-preferences.c
+++ b/src/empathy-preferences.c
@@ -52,6 +52,7 @@ typedef struct {
GtkWidget *checkbutton_show_avatars;
GtkWidget *checkbutton_compact_contact_list;
GtkWidget *checkbutton_show_smileys;
+ GtkWidget *checkbutton_show_contacts_in_rooms;
GtkWidget *combobox_chat_theme;
GtkWidget *hbox_adium_theme;
GtkWidget *filechooserbutton_adium_theme;
@@ -68,6 +69,8 @@ typedef struct {
GtkWidget *checkbutton_notifications_enabled;
GtkWidget *checkbutton_notifications_disabled_away;
GtkWidget *checkbutton_notifications_focus;
+ GtkWidget *checkbutton_notifications_contact_signin;
+ GtkWidget *checkbutton_notifications_contact_signout;
GtkWidget *treeview_spell_checker;
@@ -199,6 +202,12 @@ preferences_setup_widgets (EmpathyPreferences *preferences)
preferences_hookup_toggle_button (preferences,
EMPATHY_PREFS_NOTIFICATIONS_FOCUS,
preferences->checkbutton_notifications_focus);
+ preferences_hookup_toggle_button (preferences,
+ EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNIN,
+ preferences->checkbutton_notifications_contact_signin);
+ preferences_hookup_toggle_button (preferences,
+ EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNOUT,
+ preferences->checkbutton_notifications_contact_signout);
preferences_hookup_sensitivity (preferences,
EMPATHY_PREFS_NOTIFICATIONS_ENABLED,
@@ -206,6 +215,12 @@ preferences_setup_widgets (EmpathyPreferences *preferences)
preferences_hookup_sensitivity (preferences,
EMPATHY_PREFS_NOTIFICATIONS_ENABLED,
preferences->checkbutton_notifications_focus);
+ preferences_hookup_sensitivity (preferences,
+ EMPATHY_PREFS_NOTIFICATIONS_ENABLED,
+ preferences->checkbutton_notifications_contact_signin);
+ preferences_hookup_sensitivity (preferences,
+ EMPATHY_PREFS_NOTIFICATIONS_ENABLED,
+ preferences->checkbutton_notifications_contact_signout);
preferences_hookup_toggle_button (preferences,
EMPATHY_PREFS_SOUNDS_ENABLED,
@@ -237,6 +252,10 @@ preferences_setup_widgets (EmpathyPreferences *preferences)
EMPATHY_PREFS_CHAT_SHOW_SMILEYS,
preferences->checkbutton_show_smileys);
+ preferences_hookup_toggle_button (preferences,
+ EMPATHY_PREFS_CHAT_SHOW_CONTACTS_IN_ROOMS,
+ preferences->checkbutton_show_contacts_in_rooms);
+
preferences_hookup_radio_button (preferences,
EMPATHY_PREFS_CONTACTS_SORT_CRITERIUM,
preferences->radiobutton_contact_list_sort_by_name);
@@ -457,7 +476,7 @@ preferences_languages_add (EmpathyPreferences *preferences)
codes != NULL);
if (!codes) {
gtk_widget_set_sensitive (preferences->treeview_spell_checker, FALSE);
- }
+ }
for (l = codes; l; l = l->next) {
GtkTreeIter iter;
@@ -655,12 +674,12 @@ preferences_widget_sync_string (const gchar *key, GtkWidget *widget)
GEnumValue *enum_value;
GSList *list;
GtkWidget *toggle_widget;
-
+
/* Get index from new string */
type = empathy_contact_list_store_sort_get_type ();
enum_class = G_ENUM_CLASS (g_type_class_peek (type));
enum_value = g_enum_get_value_by_nick (enum_class, value);
-
+
if (enum_value) {
list = gtk_radio_button_get_group (GTK_RADIO_BUTTON (widget));
toggle_widget = g_slist_nth_data (list, enum_value->value);
@@ -722,7 +741,7 @@ preferences_notify_int_cb (EmpathyConf *conf,
const gchar *key,
gpointer user_data)
{
- preferences_widget_sync_int (key, user_data);
+ preferences_widget_sync_int (key, user_data);
}
static void
@@ -912,14 +931,14 @@ preferences_radio_button_toggled_cb (GtkWidget *button,
GType type;
GEnumClass *enum_class;
GEnumValue *enum_value;
-
+
group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (button));
-
+
/* Get string from index */
type = empathy_contact_list_store_sort_get_type ();
enum_class = G_ENUM_CLASS (g_type_class_peek (type));
enum_value = g_enum_get_value (enum_class, g_slist_index (group, button));
-
+
if (!enum_value) {
g_warning ("No GEnumValue for EmpathyContactListSort with GtkRadioButton index:%d",
g_slist_index (group, button));
@@ -952,7 +971,7 @@ preferences_theme_adium_update_validity (EmpathyPreferences *preferences,
const gchar *path)
{
#ifdef HAVE_WEBKIT
- if (empathy_theme_adium_is_valid (path)) {
+ if (empathy_adium_path_is_valid (path)) {
gtk_widget_hide (preferences->label_invalid_adium_theme);
} else {
gtk_widget_show (preferences->label_invalid_adium_theme);
@@ -1190,6 +1209,7 @@ empathy_preferences_show (GtkWindow *parent)
"checkbutton_show_avatars", &preferences->checkbutton_show_avatars,
"checkbutton_compact_contact_list", &preferences->checkbutton_compact_contact_list,
"checkbutton_show_smileys", &preferences->checkbutton_show_smileys,
+ "checkbutton_show_contacts_in_rooms", &preferences->checkbutton_show_contacts_in_rooms,
"combobox_chat_theme", &preferences->combobox_chat_theme,
"hbox_adium_theme", &preferences->hbox_adium_theme,
"filechooserbutton_adium_theme", &preferences->filechooserbutton_adium_theme,
@@ -1201,6 +1221,8 @@ empathy_preferences_show (GtkWindow *parent)
"checkbutton_notifications_enabled", &preferences->checkbutton_notifications_enabled,
"checkbutton_notifications_disabled_away", &preferences->checkbutton_notifications_disabled_away,
"checkbutton_notifications_focus", &preferences->checkbutton_notifications_focus,
+ "checkbutton_notifications_contact_signin", &preferences->checkbutton_notifications_contact_signin,
+ "checkbutton_notifications_contact_signout", &preferences->checkbutton_notifications_contact_signout,
"checkbutton_sounds_enabled", &preferences->checkbutton_sounds_enabled,
"checkbutton_sounds_disabled_away", &preferences->checkbutton_sounds_disabled_away,
"treeview_sounds", &preferences->treeview_sounds,
diff --git a/src/empathy-preferences.ui b/src/empathy-preferences.ui
index 6ae92d17c..38cfd3419 100644
--- a/src/empathy-preferences.ui
+++ b/src/empathy-preferences.ui
@@ -37,7 +37,6 @@
<child>
<object class="GtkVBox" id="vbox199">
<property name="visible">True</property>
- <property name="spacing">6</property>
<child>
<object class="GtkCheckButton" id="checkbutton_compact_contact_list">
<property name="label" translatable="yes">Show co_mpact contact list</property>
@@ -86,6 +85,22 @@
<property name="position">2</property>
</packing>
</child>
+ <child>
+ <object class="GtkCheckButton" id="checkbutton_show_contacts_in_rooms">
+ <property name="label" translatable="yes">Show contact _list in rooms</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
</object>
</child>
</object>
@@ -295,6 +310,32 @@
<property name="position">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkCheckButton" id="checkbutton_notifications_contact_signin">
+ <property name="label" translatable="yes">Enable notifications when a contact comes online</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="checkbutton_notifications_contact_signout">
+ <property name="label" translatable="yes">Enable notifications when a contact goes offline</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="position">3</property>
+ </packing>
+ </child>
</object>
</child>
</object>
@@ -815,7 +856,7 @@
<property name="visible">True</property>
<property name="spacing">6</property>
<child>
- <object class="GtkLabel" id="label1">
+ <object class="GtkLabel" id="label587">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Adium theme to use:</property>
diff --git a/src/empathy-sidebar.c b/src/empathy-sidebar.c
index caca6b5e3..7b70229e2 100644
--- a/src/empathy-sidebar.c
+++ b/src/empathy-sidebar.c
@@ -165,7 +165,7 @@ empathy_sidebar_set_property (GObject *object,
switch (prop_id)
{
case PROP_CURRENT_PAGE:
- empathy_sidebar_set_page (sidebar, g_value_get_object (value));
+ empathy_sidebar_set_page (sidebar, g_value_get_object (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
diff --git a/src/empathy-status-icon.c b/src/empathy-status-icon.c
index 9c2194880..f6c63c537 100644
--- a/src/empathy-status-icon.c
+++ b/src/empathy-status-icon.c
@@ -153,7 +153,9 @@ status_icon_update_notification (EmpathyStatusIcon *icon)
G_CALLBACK (status_icon_notification_closed_cb), icon);
}
- notify_notification_set_icon_from_pixbuf (priv->notification,
+ /* if icon doesn't exist libnotify will crash */
+ if (pixbuf != NULL)
+ notify_notification_set_icon_from_pixbuf (priv->notification,
pixbuf);
notify_notification_show (priv->notification, NULL);
@@ -229,13 +231,14 @@ status_icon_event_added_cb (EmpathyEventManager *manager,
DEBUG ("New event %p", event);
priv->event = event;
- priv->showing_event_icon = TRUE;
-
- status_icon_update_icon (icon);
- status_icon_update_tooltip (icon);
+ if (event->must_ack) {
+ priv->showing_event_icon = TRUE;
+ status_icon_update_icon (icon);
+ status_icon_update_tooltip (icon);
+ }
status_icon_update_notification (icon);
- if (!priv->blink_timeout) {
+ if (!priv->blink_timeout && priv->showing_event_icon) {
priv->blink_timeout = g_timeout_add (BLINK_TIMEOUT,
(GSourceFunc) status_icon_blink_timeout_cb,
icon);
@@ -260,7 +263,7 @@ status_icon_event_removed_cb (EmpathyEventManager *manager,
/* update notification anyway, as it's safe and we might have been
* changed presence in the meanwhile
- */
+ */
status_icon_update_notification (icon);
if (!priv->event && priv->blink_timeout) {
@@ -303,14 +306,20 @@ status_icon_set_visibility (EmpathyStatusIcon *icon,
empathy_window_iconify (priv->window, priv->icon);
} else {
GList *accounts;
+ GList *l;
+ gboolean one_enabled = FALSE;
empathy_window_present (GTK_WINDOW (priv->window), TRUE);
/* Show the accounts dialog if there is no enabled accounts */
- accounts = mc_accounts_list_by_enabled (TRUE);
- if (accounts) {
- mc_accounts_list_free (accounts);
- } else {
+ accounts = empathy_account_manager_dup_accounts (priv->account_manager);
+ for (l = accounts ; l != NULL ; l = g_list_next (l)) {
+ one_enabled = empathy_account_is_enabled (EMPATHY_ACCOUNT (l->data))
+ || one_enabled;
+ g_object_unref (l->data);
+ }
+ g_list_free (accounts);
+ if (!one_enabled) {
DEBUG ("No enabled account, Showing account dialog");
empathy_accounts_dialog_show (GTK_WINDOW (priv->window), NULL);
}
@@ -378,7 +387,7 @@ status_icon_key_press_event_cb (GtkWidget *window,
}
return FALSE;
}
-
+
static void
status_icon_activate_cb (GtkStatusIcon *status_icon,
EmpathyStatusIcon *icon)
@@ -481,7 +490,7 @@ status_icon_create_menu (EmpathyStatusIcon *icon)
static void
status_icon_connection_changed_cb (EmpathyAccountManager *manager,
- McAccount *account,
+ EmpathyAccount *account,
TpConnectionStatusReason reason,
TpConnectionStatus current,
TpConnectionStatus previous,
diff --git a/src/empathy.c b/src/empathy.c
index f23ce9145..40626b532 100644
--- a/src/empathy.c
+++ b/src/empathy.c
@@ -40,7 +40,6 @@
#include <telepathy-glib/dbus.h>
#include <telepathy-glib/util.h>
-#include <libmissioncontrol/mc-account.h>
#include <libmissioncontrol/mission-control.h>
#include <libempathy/empathy-idle.h>
@@ -48,6 +47,7 @@
#include <libempathy/empathy-call-factory.h>
#include <libempathy/empathy-chatroom-manager.h>
#include <libempathy/empathy-account-manager.h>
+#include <libempathy/empathy-debugger.h>
#include <libempathy/empathy-dispatcher.h>
#include <libempathy/empathy-dispatch-operation.h>
#include <libempathy/empathy-log-manager.h>
@@ -106,7 +106,7 @@ dispatch_cb (EmpathyDispatcher *dispatcher,
if (id) {
EmpathyAccountManager *manager;
TpConnection *connection;
- McAccount *account;
+ EmpathyAccount *account;
manager = empathy_account_manager_dup_singleton ();
connection = empathy_tp_chat_get_connection (tp_chat);
@@ -226,7 +226,8 @@ create_salut_account (void)
McProfile *profile;
McProtocol *protocol;
gboolean salut_created = FALSE;
- McAccount *account;
+ EmpathyAccount *account;
+ EmpathyAccountManager *account_manager;
GList *accounts;
EBook *book;
EContact *contact;
@@ -283,15 +284,17 @@ create_salut_account (void)
return;
}
- account = mc_account_create (profile);
- mc_account_set_display_name (account, _("People nearby"));
-
+ account_manager = empathy_account_manager_dup_singleton ();
+ account = empathy_account_manager_create (account_manager, profile);
+ empathy_account_set_display_name (account, _("People nearby"));
+ g_object_unref (account_manager);
+
nickname = e_contact_get (contact, E_CONTACT_NICKNAME);
first_name = e_contact_get (contact, E_CONTACT_GIVEN_NAME);
last_name = e_contact_get (contact, E_CONTACT_FAMILY_NAME);
email = e_contact_get (contact, E_CONTACT_EMAIL_1);
jid = e_contact_get (contact, E_CONTACT_IM_JABBER_HOME_1);
-
+
if (!tp_strdiff (nickname, "nickname")) {
g_free (nickname);
nickname = NULL;
@@ -301,11 +304,11 @@ create_salut_account (void)
"last-name=%s\nemail=%s\njid=%s\n",
nickname, first_name, last_name, email, jid);
- mc_account_set_param_string (account, "nickname", nickname ? nickname : "");
- mc_account_set_param_string (account, "first-name", first_name ? first_name : "");
- mc_account_set_param_string (account, "last-name", last_name ? last_name : "");
- mc_account_set_param_string (account, "email", email ? email : "");
- mc_account_set_param_string (account, "jid", jid ? jid : "");
+ empathy_account_set_param_string (account, "nickname", nickname ? nickname : "");
+ empathy_account_set_param_string (account, "first-name", first_name ? first_name : "");
+ empathy_account_set_param_string (account, "last-name", last_name ? last_name : "");
+ empathy_account_set_param_string (account, "email", email ? email : "");
+ empathy_account_set_param_string (account, "jid", jid ? jid : "");
g_free (nickname);
g_free (first_name);
@@ -450,6 +453,31 @@ new_call_handler_cb (EmpathyCallFactory *factory, EmpathyCallHandler *handler,
gtk_widget_show (GTK_WIDGET (window));
}
+#ifdef ENABLE_DEBUG
+static void
+default_log_handler (const gchar *log_domain,
+ GLogLevelFlags log_level,
+ const gchar *message,
+ gpointer user_data)
+{
+ g_log_default_handler (log_domain, log_level, message, NULL);
+
+ /* G_LOG_DOMAIN = "empathy". No need to send empathy messages to the
+ * debugger as they already have in empathy_debug. */
+ if (log_level != G_LOG_LEVEL_DEBUG
+ || tp_strdiff (log_domain, G_LOG_DOMAIN)) {
+ EmpathyDebugger *dbg;
+ GTimeVal now;
+
+ dbg = empathy_debugger_get_singleton ();
+ g_get_current_time (&now);
+
+ empathy_debugger_add_message (dbg, &now, log_domain,
+ log_level, message);
+ }
+}
+#endif /* ENABLE_DEBUG */
+
int
main (int argc, char *argv[])
{
@@ -514,6 +542,11 @@ main (int argc, char *argv[])
gtk_window_set_default_icon_name ("empathy");
textdomain (GETTEXT_PACKAGE);
+#ifdef ENABLE_DEBUG
+ /* Set up debugger */
+ g_log_set_default_handler (default_log_handler, NULL);
+#endif
+
/* Setting up the bacon connection */
startup_timestamp = get_startup_timestamp ();
connection = bacon_message_connection_new ("empathy");
@@ -603,7 +636,7 @@ main (int argc, char *argv[])
(idle), TP_CONNECTION_PRESENCE_TYPE_OFFLINE) <= 0) {
empathy_idle_set_state (idle, MC_PRESENCE_AVAILABLE);
}
-
+
create_salut_account ();
/* Setting up UI */
diff --git a/tests/check-empathy-chatroom-manager.c b/tests/check-empathy-chatroom-manager.c
index ef5c77618..1c0f924a2 100644
--- a/tests/check-empathy-chatroom-manager.c
+++ b/tests/check-empathy-chatroom-manager.c
@@ -13,6 +13,7 @@
#include "check-empathy-helpers.h"
#include <libempathy/empathy-chatroom-manager.h>
+#include <libempathy/empathy-account-manager.h>
#define CHATROOM_SAMPLE "chatrooms-sample.xml"
#define CHATROOM_FILE "chatrooms.xml"
@@ -43,7 +44,7 @@ struct chatroom_t
static void
check_chatrooms_list (EmpathyChatroomManager *mgr,
- McAccount *account,
+ EmpathyAccount *account,
struct chatroom_t *_chatrooms,
guint nb_chatrooms)
{
@@ -83,13 +84,13 @@ check_chatrooms_list (EmpathyChatroomManager *mgr,
}
static gboolean
-change_account_name_in_file (McAccount *account,
+change_account_name_in_file (EmpathyAccount *account,
const gchar *file)
{
gchar *cmd;
cmd = g_strdup_printf ("sed -i 's/CHANGE_ME/%s/' %s",
- mc_account_get_unique_name (account), file);
+ empathy_account_get_unique_name (account), file);
if (system (cmd) == -1)
{
@@ -106,11 +107,13 @@ START_TEST (test_empathy_chatroom_manager_dup_singleton)
{
EmpathyChatroomManager *mgr;
gchar *file;
- McAccount *account;
+ EmpathyAccount *account;
+ EmpathyAccountManager *account_manager;
struct chatroom_t chatrooms[] = {
{ "name1", "room1", TRUE, TRUE },
{ "name2", "room2", FALSE, TRUE }};
+ account_manager = empathy_account_manager_dup_singleton ();
account = get_test_account ();
copy_xml_file (CHATROOM_SAMPLE, CHATROOM_FILE);
@@ -126,6 +129,7 @@ START_TEST (test_empathy_chatroom_manager_dup_singleton)
g_free (file);
g_object_unref (mgr);
+ g_object_unref (account_manager);
g_object_unref (account);
}
END_TEST
@@ -134,7 +138,8 @@ START_TEST (test_empathy_chatroom_manager_add)
{
EmpathyChatroomManager *mgr;
gchar *file;
- McAccount *account;
+ EmpathyAccount *account;
+ EmpathyAccountManager *account_manager;
struct chatroom_t chatrooms[] = {
{ "name1", "room1", TRUE, TRUE },
{ "name2", "room2", FALSE, TRUE },
@@ -142,6 +147,8 @@ START_TEST (test_empathy_chatroom_manager_add)
{ "name4", "room4", FALSE, FALSE }};
EmpathyChatroom *chatroom;
+ account_manager = empathy_account_manager_dup_singleton ();
+
account = get_test_account ();
copy_xml_file (CHATROOM_SAMPLE, CHATROOM_FILE);
@@ -149,8 +156,7 @@ START_TEST (test_empathy_chatroom_manager_add)
file = get_user_xml_file (CHATROOM_FILE);
/* change the chatrooms XML file to use the account we just created */
- if (!change_account_name_in_file (account, file))
- return;
+ fail_unless (change_account_name_in_file (account, file));
mgr = empathy_chatroom_manager_dup_singleton (file);
@@ -186,6 +192,7 @@ START_TEST (test_empathy_chatroom_manager_add)
g_object_unref (mgr);
g_free (file);
+ g_object_unref (account_manager);
g_object_unref (account);
}
END_TEST
@@ -194,11 +201,13 @@ START_TEST (test_empathy_chatroom_manager_remove)
{
EmpathyChatroomManager *mgr;
gchar *file;
- McAccount *account;
+ EmpathyAccount *account;
struct chatroom_t chatrooms[] = {
{ "name2", "room2", FALSE, TRUE }};
EmpathyChatroom *chatroom;
+ EmpathyAccountManager *account_mgr;
+ account_mgr = empathy_account_manager_dup_singleton ();
account = get_test_account ();
copy_xml_file (CHATROOM_SAMPLE, CHATROOM_FILE);
@@ -206,8 +215,7 @@ START_TEST (test_empathy_chatroom_manager_remove)
file = get_user_xml_file (CHATROOM_FILE);
/* change the chatrooms XML file to use the account we just created */
- if (!change_account_name_in_file (account, file))
- return;
+ fail_unless (change_account_name_in_file (account, file));
mgr = empathy_chatroom_manager_dup_singleton (file);
@@ -241,6 +249,7 @@ START_TEST (test_empathy_chatroom_manager_remove)
g_object_unref (mgr);
g_free (file);
g_object_unref (account);
+ g_object_unref (account_mgr);
}
END_TEST
@@ -248,12 +257,14 @@ START_TEST (test_empathy_chatroom_manager_change_favorite)
{
EmpathyChatroomManager *mgr;
gchar *file;
- McAccount *account;
+ EmpathyAccount *account;
+ EmpathyAccountManager *account_manager;
struct chatroom_t chatrooms[] = {
{ "name1", "room1", TRUE, TRUE },
{ "name2", "room2", FALSE, FALSE }};
EmpathyChatroom *chatroom;
+ account_manager = empathy_account_manager_dup_singleton ();
account = get_test_account ();
copy_xml_file (CHATROOM_SAMPLE, CHATROOM_FILE);
@@ -261,8 +272,7 @@ START_TEST (test_empathy_chatroom_manager_change_favorite)
file = get_user_xml_file (CHATROOM_FILE);
/* change the chatrooms XML file to use the account we just created */
- if (!change_account_name_in_file (account, file))
- return;
+ fail_unless (change_account_name_in_file (account, file));
mgr = empathy_chatroom_manager_dup_singleton (file);
@@ -302,6 +312,7 @@ START_TEST (test_empathy_chatroom_manager_change_favorite)
g_object_unref (mgr);
g_object_unref (chatroom);
g_free (file);
+ g_object_unref (account_manager);
g_object_unref (account);
}
END_TEST
@@ -310,12 +321,14 @@ START_TEST (test_empathy_chatroom_manager_change_chatroom)
{
EmpathyChatroomManager *mgr;
gchar *file;
- McAccount *account;
+ EmpathyAccount *account;
+ EmpathyAccountManager *account_manager;
struct chatroom_t chatrooms[] = {
{ "name1", "room1", TRUE, TRUE },
{ "name2", "room2", FALSE, TRUE }};
EmpathyChatroom *chatroom;
+ account_manager = empathy_account_manager_dup_singleton ();
account = get_test_account ();
copy_xml_file (CHATROOM_SAMPLE, "foo.xml");
@@ -323,8 +336,7 @@ START_TEST (test_empathy_chatroom_manager_change_chatroom)
file = get_user_xml_file ("foo.xml");
/* change the chatrooms XML file to use the account we just created */
- if (!change_account_name_in_file (account, file))
- return;
+ fail_unless (change_account_name_in_file (account, file));
mgr = empathy_chatroom_manager_dup_singleton (file);
@@ -369,6 +381,7 @@ START_TEST (test_empathy_chatroom_manager_change_chatroom)
g_object_unref (mgr);
g_free (file);
g_object_unref (account);
+ g_object_unref (account_manager);
}
END_TEST
diff --git a/tests/check-empathy-chatroom.c b/tests/check-empathy-chatroom.c
index a4adf6ce1..f2110a8f8 100644
--- a/tests/check-empathy-chatroom.c
+++ b/tests/check-empathy-chatroom.c
@@ -12,7 +12,7 @@
static EmpathyChatroom *
create_chatroom (void)
{
- McAccount *account;
+ EmpathyAccount *account;
EmpathyChatroom *chatroom;
account = get_test_account ();
diff --git a/tests/check-empathy-helpers.c b/tests/check-empathy-helpers.c
index 65273f8c8..c77cf9b75 100644
--- a/tests/check-empathy-helpers.c
+++ b/tests/check-empathy-helpers.c
@@ -24,6 +24,8 @@
#include <gconf/gconf.h>
#include <gconf/gconf-client.h>
+#include <libempathy/empathy-account-manager.h>
+
#include "check-helpers.h"
#include "check-empathy-helpers.h"
@@ -63,25 +65,31 @@ copy_xml_file (const gchar *orig,
g_free (buffer);
}
-McAccount *
+EmpathyAccount *
get_test_account (void)
{
McProfile *profile;
- McAccount *account;
+ EmpathyAccountManager *account_manager;
+ EmpathyAccount *account;
GList *accounts;
+ account_manager = empathy_account_manager_dup_singleton ();
profile = mc_profile_lookup ("test");
accounts = mc_accounts_list_by_profile (profile);
if (g_list_length (accounts) == 0)
{
/* need to create a test account */
- account = mc_account_create (profile);
+ account = empathy_account_manager_create (account_manager, profile);
}
else
{
/* reuse an existing test account */
- account = accounts->data;
+ McAccount *mc_account;
+ mc_account = accounts->data;
+ account = empathy_account_manager_lookup (account_manager,
+ mc_account_get_unique_name (mc_account));
}
+ g_object_unref (account_manager);
g_object_unref (profile);
@@ -91,16 +99,17 @@ get_test_account (void)
/* Not used for now as there is no API to remove completely gconf keys.
* So we reuse existing accounts instead of creating new ones */
void
-destroy_test_account (McAccount *account)
+destroy_test_account (EmpathyAccount *account)
{
GConfClient *client;
gchar *path;
GError *error = NULL;
GSList *entries = NULL, *l;
+ EmpathyAccountManager *manager;
client = gconf_client_get_default ();
path = g_strdup_printf ("/apps/telepathy/mc/accounts/%s",
- mc_account_get_unique_name (account));
+ empathy_account_get_unique_name (account));
entries = gconf_client_all_entries (client, path, &error);
if (error != NULL)
@@ -151,6 +160,8 @@ destroy_test_account (McAccount *account)
g_object_unref (client);
g_free (path);
- mc_account_delete (account);
+ manager = empathy_account_manager_dup_singleton ();
+ empathy_account_manager_remove (manager, account);
g_object_unref (account);
+ g_object_unref (manager);
}
diff --git a/tests/check-empathy-helpers.h b/tests/check-empathy-helpers.h
index 4d52c04e5..5544b80aa 100644
--- a/tests/check-empathy-helpers.h
+++ b/tests/check-empathy-helpers.h
@@ -20,12 +20,12 @@
#define __CHECK_EMPATHY_HELPERS_H__
#include <glib.h>
-#include <libmissioncontrol/mc-account.h>
+#include <libempathy/empathy-account.h>
gchar * get_xml_file (const gchar *filename);
gchar * get_user_xml_file (const gchar *filename);
void copy_xml_file (const gchar *orig, const gchar *dest);
-McAccount * get_test_account (void);
-void destroy_test_account (McAccount *account);
+EmpathyAccount * get_test_account (void);
+void destroy_test_account (EmpathyAccount *account);
#endif /* #ifndef __CHECK_EMPATHY_HELPERS_H__ */
diff --git a/tests/check-helpers.h b/tests/check-helpers.h
index 3e0783811..b71b3b65b 100644
--- a/tests/check-helpers.h
+++ b/tests/check-helpers.h
@@ -21,7 +21,6 @@
#include <glib.h>
#include <check.h>
-#include <libmissioncontrol/mc-account.h>
void
check_helpers_init (void);
diff --git a/tools/check-whitespace.sh b/tools/check-whitespace.sh
index 84356f20b..489322f9c 100644
--- a/tools/check-whitespace.sh
+++ b/tools/check-whitespace.sh
@@ -8,6 +8,12 @@ then
fail=1
fi
+if grep -n ' $' "$@"
+then
+ echo "^^^ The above files contain unwanted trailing tabs"
+ fail=1
+fi
+
# TODO: enable tab checking once all Empathy switched to TP coding style
#if grep -n ' ' "$@"
#then