[empathy] contact-widget: display map even if contact only published his lat/lon
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy] contact-widget: display map even if contact only published his lat/lon
- Date: Thu, 25 Feb 2010 15:11:57 +0000 (UTC)
commit 3e67f2f4f77ba1e59f69721f9821a482cba1678a
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date: Thu Feb 25 09:42:07 2010 +0000
contact-widget: display map even if contact only published his lat/lon
We used to hide the whole location vbox if no field was displayed in the
location table (such as street, city, etc).
But if contact only publishes it's lat and lon, we can at least display the
map widget. (#611062)
libempathy-gtk/empathy-contact-widget.c | 27 +++++++++++++++++++--------
1 files changed, 19 insertions(+), 8 deletions(-)
---
diff --git a/libempathy-gtk/empathy-contact-widget.c b/libempathy-gtk/empathy-contact-widget.c
index f55e814..f4e7de4 100644
--- a/libempathy-gtk/empathy-contact-widget.c
+++ b/libempathy-gtk/empathy-contact-widget.c
@@ -552,6 +552,7 @@ contact_widget_location_update (EmpathyContactWidget *information)
};
int i;
const gchar *skey;
+ gboolean display_map = FALSE;
if (!(information->flags & EMPATHY_CONTACT_WIDGET_SHOW_LOCATION))
{
@@ -666,20 +667,30 @@ contact_widget_location_update (EmpathyContactWidget *information)
row++;
}
- if (row == 0)
+#if HAVE_LIBCHAMPLAIN
+ if (has_position &&
+ !(information->flags & EMPATHY_CONTACT_WIDGET_FOR_TOOLTIP))
+ {
+ /* Cannot be displayed in tooltips until Clutter-Gtk can deal with such
+ * windows */
+ display_map = TRUE;
+ }
+#endif
+
+ if (row > 0)
+ {
+ /* We can display some fields */
+ gtk_widget_show (information->table_location);
+ }
+ else if (!display_map)
{
+ /* Can't display either fields or map */
gtk_widget_hide (information->vbox_location);
return;
}
- gtk_widget_show (information->table_location);
-
#if HAVE_LIBCHAMPLAIN
- /* Cannot be displayed in tooltips until Clutter-Gtk can deal with such
- * windows
- */
- if (has_position &&
- !(information->flags & EMPATHY_CONTACT_WIDGET_FOR_TOOLTIP))
+ if (display_map)
{
ClutterActor *marker;
ChamplainLayer *layer;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]