...
 
Commits (59)
NEW in 3.0.2 (23/05/2011)
============
Once again, no big changes in this stable release but still worth an update.
Bugs fixed:
- Fixed #648842, Notifications are delayed if contacts send messages too fast (Guillaume Desmottes)
- Fixed #648914, Favourite contacts appear in other contact list groups when offline (Guillaume Desmottes)
- Fixed #649161, Leak in main_window_flash_foreach (Guillaume Desmottes)
- Fixed #649273, empathy-chat exits even if there is disconnected chat (Guillaume Desmottes)
- Fixed #649379, Some files in libempathy-gtk use gi18n.h instead of gi18n-lib.h (Gabor Kelemen)
- Fixed #650015, Chatroom joined but not displayed (Guillaume Desmottes)
- Fixed #650590, cell-renderer-expander: fix rendering with GTK+3 (Cosimo Cecchi)
- Fixed #650854, Fix expand/fill of some account widgets (Guillaume Desmottes)
Translations:
- Updated fr Translation (Bruno Brouard)
NEW in 3.0.1 (25/04/2011)
============
Not big changes in this new 3.0 stable release but enough bugs fixed to do
the update. :)
Bugs fixed:
- Fixed #645586, Contact not selected when opening conversation log from conversation window (Guillaume Desmottes)
- Fixed #645930, Remove unnecessary code in empathy_auth_factory_constructed() (Stef Walter)
- Fixed #646227, Possible overflow in persona-view:drag_data_get (Philip Withnall)
- Fixed #647056, Removing a contact causes a segfault (Philip Withnall)
- Fixed #647641, Does not display the first account when opening empathy-accounts (Guillaume Desmottes)
- Fixed #647793, Empathy doesn't disconnect when the network is disabled in network-manager (Guillaume Desmottes)
- Fixed #648372, the select widget for importing accounts has wrong height (Guillaume Desmottes)
Translations:
- Updated eu Translation (Inaki Larranaga Murgoitio)
- Updated fa Translation (Arash Mousavi)
- Updated pl Translation (Piotr Drąg)
- Updated th Translation (Sira Nokyoongtong)
- Updated ug Translation (Abduxukur Abdurixit)
- Updated vi Translation (Nguyễn Thái Ngọc Duy)
Documentation translations:
- Updated fr Documentation translation (Bruno Brouard)
NEW in 3.0.0 (04/04/2011)
============
......
......@@ -3,7 +3,7 @@ m4_define(empathy_released, 0)
m4_define([empathy_major_version], [3])
m4_define([empathy_minor_version], [0])
m4_define([empathy_micro_version], [0])
m4_define([empathy_micro_version], [2])
m4_define([empathy_nano_version], [0])
dnl Display the nano_version only if it's not '0'
......
help/fr/figures/empathy-main-window.png

10.7 KB | W: | H:

help/fr/figures/empathy-main-window.png

43.4 KB | W: | H:

help/fr/figures/empathy-main-window.png
help/fr/figures/empathy-main-window.png
help/fr/figures/empathy-main-window.png
help/fr/figures/empathy-main-window.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -1656,16 +1656,12 @@ msgstr "L'usage de toutes les commandes disponibles est décrit succinctement."
#. When image changes, this message will be marked fuzzy or untranslated for you.
#. It doesn't matter what you translate it to: it's not used at all.
#: C/introduction.page:41(None)
#, fuzzy
#| msgid ""
#| "@@image: 'figures/empathy-main-window.png'; "
#| "md5=489ba00b0fc377aba4c691210b6e0650"
msgid ""
"@@image: 'figures/empathy-main-window.png'; "
"md5=54908dcb2588beddb15ef0968d2c2582"
msgstr ""
"@@image: 'figures/empathy-main-window.png'; "
"md5=489ba00b0fc377aba4c691210b6e0650"
"md5=54908dcb2588beddb15ef0968d2c2582"
#: C/introduction.page:9(desc)
msgid "Introduction to the <app>Empathy</app> instant messenger."
......
This diff is collapsed.
......@@ -609,7 +609,7 @@ account_chooser_setup (EmpathyAccountChooser *chooser)
gtk_cell_layout_clear (GTK_CELL_LAYOUT (combobox));
store = gtk_list_store_new (COL_ACCOUNT_COUNT,
G_TYPE_STRING, /* Image */
GDK_TYPE_PIXBUF, /* Image */
G_TYPE_STRING, /* Name */
G_TYPE_BOOLEAN, /* Enabled */
G_TYPE_UINT, /* Row type */
......@@ -625,10 +625,9 @@ account_chooser_setup (EmpathyAccountChooser *chooser)
renderer = gtk_cell_renderer_pixbuf_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combobox), renderer, FALSE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combobox), renderer,
"icon-name", COL_ACCOUNT_IMAGE,
"pixbuf", COL_ACCOUNT_IMAGE,
"sensitive", COL_ACCOUNT_ENABLED,
NULL);
g_object_set (renderer, "stock-size", GTK_ICON_SIZE_BUTTON, NULL);
renderer = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combobox), renderer, TRUE);
......@@ -763,6 +762,7 @@ account_chooser_filter_ready_cb (gboolean is_enabled,
GtkListStore *store;
GtkComboBox *combobox;
const gchar *icon_name;
GdkPixbuf *pixbuf;
chooser = fr_data->chooser;
priv = GET_PRIV (chooser);
......@@ -772,13 +772,18 @@ account_chooser_filter_ready_cb (gboolean is_enabled,
store = GTK_LIST_STORE (gtk_combo_box_get_model (combobox));
icon_name = tp_account_get_icon_name (account);
pixbuf = empathy_pixbuf_from_icon_name (icon_name,
GTK_ICON_SIZE_BUTTON);
gtk_list_store_set (store, iter,
COL_ACCOUNT_IMAGE, icon_name,
COL_ACCOUNT_IMAGE, pixbuf,
COL_ACCOUNT_TEXT, tp_account_get_display_name (account),
COL_ACCOUNT_ENABLED, is_enabled,
-1);
if (pixbuf != NULL)
g_object_unref (pixbuf);
/* set first connected account as active account */
if (priv->account_manually_set == FALSE &&
priv->set_active_item == FALSE && is_enabled) {
......
......@@ -88,6 +88,8 @@
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
......@@ -104,6 +106,8 @@
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
......
......@@ -72,6 +72,8 @@
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
......@@ -85,6 +87,8 @@
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
......@@ -101,6 +105,8 @@
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
......
......@@ -88,6 +88,8 @@
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
......@@ -104,6 +106,8 @@
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
......
......@@ -72,6 +72,8 @@
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
......@@ -85,6 +87,8 @@
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
......@@ -101,6 +105,8 @@
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
......@@ -195,8 +201,8 @@
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
......
......@@ -72,6 +72,8 @@
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
......@@ -84,6 +86,8 @@
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
......@@ -100,6 +104,8 @@
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
......
......@@ -89,6 +89,8 @@
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
......@@ -105,6 +107,8 @@
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
......@@ -254,8 +258,8 @@
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
......
......@@ -2229,8 +2229,8 @@ do_constructed (GObject *obj)
/* The password might not have been retrieved from the
* keyring yet. We should update the remember password
* toggle button and the password entry when/if it is. */
g_signal_connect (priv->settings, "password-retrieved",
G_CALLBACK (account_settings_password_retrieved_cb), self);
tp_g_signal_connect_object (priv->settings, "password-retrieved",
G_CALLBACK (account_settings_password_retrieved_cb), self, 0);
}
g_signal_connect (priv->remember_password_widget, "toggled",
......
......@@ -275,6 +275,7 @@ empathy_cell_renderer_expander_render (GtkCellRenderer *cell,
gint x_offset, y_offset;
guint xpad, ypad;
GtkStyleContext *style;
GtkStateFlags state;
expander = (EmpathyCellRendererExpander *) cell;
priv = GET_PRIV (expander);
......@@ -292,11 +293,16 @@ empathy_cell_renderer_expander_render (GtkCellRenderer *cell,
style = gtk_widget_get_style_context (widget);
gtk_style_context_save (style);
gtk_style_context_add_class (style, GTK_STYLE_CLASS_EXPANDER);
state = gtk_cell_renderer_get_state (cell, widget, flags);
if (priv->expander_style == GTK_EXPANDER_COLLAPSED)
gtk_style_context_set_state (style, GTK_STATE_NORMAL);
state |= GTK_STATE_FLAG_NORMAL;
else
gtk_style_context_set_state (style, GTK_STATE_ACTIVE);
state |= GTK_STATE_FLAG_ACTIVE;
gtk_style_context_set_state (style, state);
gtk_render_expander (style,
cr,
......
......@@ -737,7 +737,7 @@ empathy_chat_join_muc (EmpathyChat *chat,
EmpathyChatPriv *priv = GET_PRIV (chat);
empathy_join_muc (priv->account, room,
gtk_get_current_event_time ());
empathy_get_current_action_time ());
}
static void
......@@ -808,7 +808,7 @@ chat_command_msg_internal (EmpathyChat *chat,
NULL);
req = tp_account_channel_request_new (priv->account, request,
tp_user_action_time_from_x11 (gtk_get_current_event_time ()));
empathy_get_current_action_time ());
/* FIXME: We should probably search in members alias. But this
* is enough for IRC */
......
......@@ -21,8 +21,9 @@
*
* Authors: Danielle Madeley <danielle.madeley@collabora.co.uk>
*/
#include "config.h"
#include <glib/gi18n.h>
#include <glib/gi18n-lib.h>
#include <libempathy/empathy-utils.h>
......
......@@ -903,7 +903,7 @@ contact_list_view_row_activated (GtkTreeView *view,
if (contact) {
DEBUG ("Starting a chat");
empathy_chat_with_contact (contact,
gtk_get_current_event_time ());
empathy_get_current_action_time ());
g_object_unref (contact);
}
}
......
......@@ -314,7 +314,7 @@ static void
empathy_contact_chat_menu_item_activated (GtkMenuItem *item,
EmpathyContact *contact)
{
empathy_chat_with_contact (contact, gtk_get_current_event_time ());
empathy_chat_with_contact (contact, empathy_get_current_action_time ());
}
GtkWidget *
......@@ -343,9 +343,8 @@ static void
empathy_contact_audio_call_menu_item_activated (GtkMenuItem *item,
EmpathyContact *contact)
{
empathy_call_new_with_streams (contact, TRUE, FALSE,
gtk_get_current_event_time ());
empathy_get_current_action_time ());
}
GtkWidget *
......@@ -376,7 +375,7 @@ empathy_contact_video_call_menu_item_activated (GtkMenuItem *item,
EmpathyContact *contact)
{
empathy_call_new_with_streams (contact, TRUE, TRUE,
gtk_get_current_event_time ());
empathy_get_current_action_time ());
}
GtkWidget *
......
......@@ -22,8 +22,9 @@
* Danielle Madeley <danielle.madeley@collabora.co.uk>
* Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
*/
#include "config.h"
#include <glib/gi18n.h>
#include <glib/gi18n-lib.h>
#include <telepathy-glib/telepathy-glib.h>
......
......@@ -22,7 +22,7 @@
#include "config.h"
#include <glib/gi18n.h>
#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
#include <libempathy/empathy-contact.h>
......
......@@ -499,7 +499,7 @@ empathy_individual_chat_menu_item_activated (GtkMenuItem *item,
{
g_return_if_fail (EMPATHY_IS_CONTACT (contact));
empathy_chat_with_contact (contact, gtk_get_current_event_time ());
empathy_chat_with_contact (contact, empathy_get_current_action_time ());
}
GtkWidget *
......@@ -543,7 +543,7 @@ empathy_individual_audio_call_menu_item_activated (GtkMenuItem *item,
g_return_if_fail (EMPATHY_IS_CONTACT (contact));
empathy_call_new_with_streams (contact, TRUE, FALSE,
gtk_get_current_event_time ());
empathy_get_current_action_time ());
}
GtkWidget *
......@@ -585,7 +585,7 @@ empathy_individual_video_call_menu_item_activated (GtkMenuItem *item,
g_return_if_fail (EMPATHY_IS_CONTACT (contact));
empathy_call_new_with_streams (contact, TRUE, TRUE,
gtk_get_current_event_time ());
empathy_get_current_action_time ());
}
GtkWidget *
......
......@@ -1921,7 +1921,7 @@ individual_store_get_individual_status_icon_with_icon_name (
FolksIndividual *individual,
const gchar *status_icon_name)
{
GdkPixbuf *pixbuf_status = NULL;
GdkPixbuf *pixbuf_status;
EmpathyIndividualStorePriv *priv;
const gchar *protocol_name = NULL;
gchar *icon_name = NULL;
......@@ -1953,13 +1953,18 @@ individual_store_get_individual_status_icon_with_icon_name (
{
icon_name = g_strdup_printf ("%s", status_icon_name);
}
pixbuf_status = g_hash_table_lookup (priv->status_icons, icon_name);
if (pixbuf_status == NULL)
{
pixbuf_status =
empathy_pixbuf_contact_status_icon_with_icon_name (contact,
status_icon_name, show_protocols_here);
if (pixbuf_status != NULL)
{
/* pass the reference to the hash table */
g_hash_table_insert (priv->status_icons,
g_strdup (icon_name), pixbuf_status);
}
......
......@@ -1689,7 +1689,9 @@ static gboolean
individual_view_is_visible_individual (EmpathyIndividualView *self,
FolksIndividual *individual,
gboolean is_online,
gboolean is_searching)
gboolean is_searching,
const gchar *group,
gboolean is_fake_group)
{
EmpathyIndividualViewPriv *priv = GET_PRIV (self);
EmpathyLiveSearch *live = EMPATHY_LIVE_SEARCH (priv->search_widget);
......@@ -1721,8 +1723,14 @@ individual_view_is_visible_individual (EmpathyIndividualView *self,
is_favorite = folks_favourite_details_get_is_favourite (
FOLKS_FAVOURITE_DETAILS (individual));
if (is_searching == FALSE)
return (priv->show_offline || is_online || is_favorite);
if (is_searching == FALSE) {
if (is_favorite && is_fake_group &&
!tp_strdiff (group, EMPATHY_INDIVIDUAL_STORE_FAVORITE))
/* Always display favorite contacts in the favorite group */
return TRUE;
return (priv->show_offline || is_online);
}
/* check alias name */
str = folks_alias_details_get_alias (FOLKS_ALIAS_DETAILS (individual));
......@@ -1757,6 +1765,28 @@ individual_view_is_visible_individual (EmpathyIndividualView *self,
return FALSE;
}
static gchar *
get_group (GtkTreeModel *model,
GtkTreeIter *iter,
gboolean *is_fake)
{
GtkTreeIter parent_iter;
gchar *name = NULL;
*is_fake = FALSE;
if (!gtk_tree_model_iter_parent (model, &parent_iter, iter))
return NULL;
gtk_tree_model_get (model, &parent_iter,
EMPATHY_INDIVIDUAL_STORE_COL_NAME, &name,
EMPATHY_INDIVIDUAL_STORE_COL_IS_FAKE_GROUP, is_fake,
-1);
return name;
}
static gboolean
individual_view_filter_visible_func (GtkTreeModel *model,
GtkTreeIter *iter,
......@@ -1783,10 +1813,16 @@ individual_view_filter_visible_func (GtkTreeModel *model,
if (individual != NULL)
{
gchar *group;
gboolean is_fake_group;
group = get_group (model, iter, &is_fake_group);
visible = individual_view_is_visible_individual (self, individual,
is_online, is_searching);
is_online, is_searching, group, is_fake_group);
g_object_unref (individual);
g_free (group);
/* FIXME: Work around bgo#626552/bgo#621076 */
if (visible == TRUE)
......@@ -1809,6 +1845,9 @@ individual_view_filter_visible_func (GtkTreeModel *model,
for (valid = gtk_tree_model_iter_children (model, &child_iter, iter);
valid; valid = gtk_tree_model_iter_next (model, &child_iter))
{
gchar *group;
gboolean is_fake_group;
gtk_tree_model_get (model, &child_iter,
EMPATHY_INDIVIDUAL_STORE_COL_INDIVIDUAL, &individual,
EMPATHY_INDIVIDUAL_STORE_COL_IS_ONLINE, &is_online,
......@@ -1817,9 +1856,13 @@ individual_view_filter_visible_func (GtkTreeModel *model,
if (individual == NULL)
continue;
group = get_group (model, &child_iter, &is_fake_group);
visible = individual_view_is_visible_individual (self, individual,
is_online, is_searching);
is_online, is_searching, group, is_fake_group);
g_object_unref (individual);
g_free (group);
/* show group if it has at least one visible contact in it */
if (visible == TRUE)
......@@ -2506,7 +2549,6 @@ got_avatar (GObject *source_object,
finally:
g_free (text);
g_object_unref (individual);
g_object_unref (manager);
}
......
......@@ -390,8 +390,8 @@ details_request_cb (TpContact *contact,
tp_clear_object (&priv->details_cancellable);
g_signal_connect (contact, "notify::contact-info",
(GCallback) details_notify_cb, self);
tp_g_signal_connect_object (contact, "notify::contact-info",
(GCallback) details_notify_cb, self, 0);
}
details_data_free (data);
......
......@@ -24,7 +24,7 @@
#include <string.h>
#include <time.h>
#include <glib/gi18n.h>
#include <glib/gi18n-lib.h>
#include <telepathy-glib/account-manager.h>
#include <telepathy-glib/util.h>
......
......@@ -134,7 +134,8 @@ empathy_new_call_dialog_response (GtkDialog *dialog, int response_id)
* we return from this function. */
video = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_video));
call_contact (account, contact_id, video, gtk_get_current_event_time ());
call_contact (account, contact_id, video,
empathy_get_current_action_time ());
out:
gtk_widget_destroy (GTK_WIDGET (dialog));
......
......@@ -76,7 +76,7 @@ empathy_new_message_dialog_response (GtkDialog *dialog, int response_id)
if (EMP_STR_EMPTY (contact_id) || account == NULL) goto out;
empathy_chat_with_contact_id (account, contact_id,
gtk_get_current_event_time ());
empathy_get_current_action_time ());
out:
gtk_widget_destroy (GTK_WIDGET (dialog));
......
......@@ -600,7 +600,10 @@ empathy_protocol_chooser_create_account_settings (EmpathyProtocolChooser *self)
empathy_account_settings_set_icon_name_async (settings, "im-google-talk",
NULL, NULL);
empathy_account_settings_set_string (settings, "server",
extra_certificate_identities[0]);
empathy_account_settings_set_boolean (settings, "require-encryption",
TRUE);
empathy_account_settings_set_strv (settings, "fallback-servers",
fallback_servers);
......@@ -615,7 +618,8 @@ empathy_protocol_chooser_create_account_settings (EmpathyProtocolChooser *self)
{
empathy_account_settings_set_icon_name_async (settings, "im-facebook",
NULL, NULL);
empathy_account_settings_set_boolean (settings, "require-encryption",
TRUE);
empathy_account_settings_set_string (settings, "server",
"chat.facebook.com");
}
......
......@@ -465,6 +465,7 @@ status_preset_dialog_add_preset (GtkWidget *widget,
GTK_TREE_VIEW (priv->presets_treeview),
path, NULL,
FALSE, 0., 0.);
gtk_tree_path_free (path);
break;
}
}
......
......@@ -22,7 +22,7 @@
#include "config.h"
#include <string.h>
#include <glib/gi18n.h>
#include <glib/gi18n-lib.h>
#include <webkit/webkit.h>
#include <telepathy-glib/dbus.h>
......@@ -281,7 +281,7 @@ theme_adium_parse_body (EmpathyThemeAdium *self,
static void
escape_and_append_len (GString *string, const gchar *str, gint len)
{
while (*str != '\0' && len != 0) {
while (str != NULL && *str != '\0' && len != 0) {
switch (*str) {
case '\\':
/* \ becomes \\ */
......
......@@ -1994,3 +1994,9 @@ empathy_context_menu_new (GtkWidget *attach_to)
return menu;
}
gint64
empathy_get_current_action_time (void)
{
return (tp_user_action_time_from_x11 (gtk_get_current_event_time ()));
}
......@@ -150,6 +150,8 @@ void empathy_make_color_whiter (GdkRGBA *color);
GtkWidget * empathy_context_menu_new (GtkWidget *attach_to);
gint64 empathy_get_current_action_time (void);
G_END_DECLS
#endif /* __EMPATHY_UI_UTILS_H__ */
......@@ -111,6 +111,7 @@ connectivity_nm_state_change_cb (NMClient *client,
#if NM_CHECK_VERSION(0,8,992)
|| state == NM_STATE_DISCONNECTING
#endif
|| state == NM_STATE_ASLEEP
|| state == NM_STATE_DISCONNECTED);
DEBUG ("New NetworkManager network state %d (connected: %s)", state,
......
......@@ -653,8 +653,8 @@ empathy_contact_from_tpl_contact (TpAccount *account,
is_user = (TPL_ENTITY_SELF == tpl_entity_get_entity_type (tpl_entity));
retval = g_object_new (EMPATHY_TYPE_CONTACT,
"id", tpl_entity_get_alias (tpl_entity),
"alias", tpl_entity_get_identifier (tpl_entity),
"id", tpl_entity_get_identifier (tpl_entity),
"alias", tpl_entity_get_alias (tpl_entity),
"account", account,
"is-user", is_user,
NULL);
......@@ -1721,6 +1721,13 @@ tp_caps_to_capabilities (TpCapabilities *caps)
TP_PROP_CHANNEL_TYPE_STREAMED_MEDIA_INITIAL_VIDEO))
capabilities |= EMPATHY_CAPABILITIES_VIDEO;
}
if (tp_asv_get_boolean (fixed_prop,
TP_PROP_CHANNEL_TYPE_STREAMED_MEDIA_INITIAL_AUDIO, NULL))
capabilities |= EMPATHY_CAPABILITIES_AUDIO;
if (tp_asv_get_boolean (fixed_prop,
TP_PROP_CHANNEL_TYPE_STREAMED_MEDIA_INITIAL_VIDEO, NULL))
capabilities |= EMPATHY_CAPABILITIES_VIDEO;
}
}
......
......@@ -50,6 +50,7 @@ mk
ml
mr
ms
my
nb
ne
nl
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -9,7 +9,7 @@ import time
from string import Template
from optparse import OptionParser
last_tag_pattern = 'EMPATHY_2_91*'
last_tag_pattern = 'EMPATHY_3_0_*'
upload_server = 'master.gnome.org'
template = '''\
$name $version is now available for download from:
......
......@@ -728,9 +728,9 @@ account_assistant_build_import_page (EmpathyAccountAssistant *self)
gtk_widget_show (w);
gtk_box_pack_start (GTK_BOX (main_vbox), w, FALSE, FALSE, 6);
w = gtk_alignment_new (0, 0, 0, 0);
w = gtk_alignment_new (0, 0, 1, 1);
gtk_alignment_set_padding (GTK_ALIGNMENT (w), 0, 0, 12, 0);
gtk_box_pack_start (GTK_BOX (main_vbox), w, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (main_vbox), w, TRUE, TRUE, 0);
gtk_widget_show (w);
/* NOTE: this is hardcoded as we support pidgin only */
......
......@@ -2021,7 +2021,9 @@ accounts_dialog_cms_prepare_cb (GObject *source,
if (!empathy_connection_managers_prepare_finish (cms, result, NULL))
goto out;
accounts_dialog_update_settings (dialog, NULL);
/* No need to update the settings if we are already preparing one */
if (priv->settings_ready == NULL)
accounts_dialog_update_settings (dialog, NULL);
if (priv->initial_selection != NULL)
{
......
This diff is collapsed.
......@@ -65,8 +65,6 @@ void empathy_chat_manager_closed_chat (EmpathyChatManager *self,
void empathy_chat_manager_undo_closed_chat (EmpathyChatManager *self);
guint empathy_chat_manager_get_num_closed_chats (EmpathyChatManager *self);
guint empathy_chat_manager_get_num_handled_chats (EmpathyChatManager *self);
G_END_DECLS
#endif /* #ifndef __EMPATHY_CHAT_MANAGER_H__*/
......@@ -1335,8 +1335,9 @@ chat_window_show_or_update_notification (EmpathyChatWindow *window,
G_CALLBACK (chat_window_notification_closed_cb), window, 0);
if (has_x_canonical_append) {
/* We have to set a not empty string to keep libnotify happy */
notify_notification_set_hint_string (notification,
EMPATHY_NOTIFY_MANAGER_CAP_X_CANONICAL_APPEND, "");
EMPATHY_NOTIFY_MANAGER_CAP_X_CANONICAL_APPEND, "1");
}
}
......@@ -1785,7 +1786,7 @@ chat_window_drag_data_received (GtkWidget *widget,
if (!chat) {
empathy_chat_with_contact_id (
account, contact_id, gtk_get_current_event_time ());
account, contact_id, empathy_get_current_action_time ());
g_strfreev (strv);
return;
......@@ -2385,6 +2386,11 @@ empathy_chat_window_present_chat (EmpathyChat *chat,
window = empathy_chat_window_get_default (empathy_chat_is_room (chat));
if (!window) {
window = empathy_chat_window_new ();
/* we want to display the newly created window even if we don't present
* it */
priv = GET_PRIV (window);
gtk_widget_show (priv->dialog);
}
empathy_chat_window_add_chat (window, chat);
......
......@@ -52,7 +52,7 @@ static gboolean use_timer = TRUE;
static EmpathyChatManager *chat_mgr = NULL;
static void
handled_chats_changed_cb (EmpathyChatManager *mgr,
displayed_chats_changed_cb (EmpathyChatManager *mgr,
guint nb_chats,
gpointer user_data)
{
......@@ -81,8 +81,8 @@ activate_cb (GApplication *application)
g_assert (chat_mgr == NULL);
chat_mgr = empathy_chat_manager_dup_singleton ();
g_signal_connect (chat_mgr, "handled-chats-changed",
G_CALLBACK (handled_chats_changed_cb), GUINT_TO_POINTER (1));
g_signal_connect (chat_mgr, "displayed-chats-changed",
G_CALLBACK (displayed_chats_changed_cb), GUINT_TO_POINTER (1));
}
int
......
......@@ -43,6 +43,7 @@
#include <libempathy-gtk/empathy-images.h>
#include <libempathy-gtk/empathy-contact-dialogs.h>
#include <libempathy-gtk/empathy-sound-manager.h>
#include <libempathy-gtk/empathy-ui-utils.h>
#include "empathy-event-manager.h"
#include "empathy-main-window.h"
......@@ -316,7 +317,7 @@ event_manager_approval_approve (EventManagerApproval *approval)
}
else
{
timestamp = tp_user_action_time_from_x11 (gtk_get_current_event_time ());
timestamp = empathy_get_current_action_time ();
}
g_assert (approval->operation != NULL);
......
This diff is collapsed.
......@@ -690,8 +690,8 @@ new_chatroom_dialog_join (EmpathyNewChatroomDialog *dialog)
g_strstrip (room_name);
DEBUG ("Requesting channel for '%s'", room_name);
empathy_join_muc (account, room_name,
gtk_get_current_event_time ());
empathy_join_muc (account, room_name, empathy_get_current_action_time ());
g_free (room_name);
}
......
......@@ -328,8 +328,9 @@ update_notification (EmpathyNotificationsApprover *self)
NOTIFY_EXPIRES_DEFAULT);
if (has_x_canonical_append)
/* We have to set a not empty string to keep libnotify happy */
notify_notification_set_hint_string (notification,
EMPATHY_NOTIFY_MANAGER_CAP_X_CANONICAL_APPEND, "");
EMPATHY_NOTIFY_MANAGER_CAP_X_CANONICAL_APPEND, "1");
if (empathy_notify_manager_has_capability (self->priv->notify_mgr,
EMPATHY_NOTIFY_MANAGER_CAP_ACTIONS))
......
......@@ -2709,7 +2709,7 @@ start_call (EmpathyStreamedMediaWindow *self)
priv->call_started = TRUE;
empathy_streamed_media_handler_start_call (priv->handler,
gtk_get_current_event_time ());
empathy_get_current_action_time ());
if (empathy_streamed_media_handler_has_initial_video (priv->handler))
{
......