[epiphany] ephy-location-entry: make it possible to hide the favicon
- From: Claudio Saavedra <csaavedra src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] ephy-location-entry: make it possible to hide the favicon
- Date: Tue, 19 Jun 2012 19:16:34 +0000 (UTC)
commit 3916712fac2b29e3825058288954f771a7fb3709
Author: Claudio Saavedra <csaavedra igalia com>
Date: Wed May 9 18:21:40 2012 +0300
ephy-location-entry: make it possible to hide the favicon
https://bugzilla.gnome.org/show_bug.cgi?id=678405
lib/widgets/ephy-location-entry.c | 42 ++++++++++++++++++++++++++++++++++--
lib/widgets/ephy-location-entry.h | 3 ++
2 files changed, 42 insertions(+), 3 deletions(-)
---
diff --git a/lib/widgets/ephy-location-entry.c b/lib/widgets/ephy-location-entry.c
index 7a1cc55..fa2a97f 100644
--- a/lib/widgets/ephy-location-entry.c
+++ b/lib/widgets/ephy-location-entry.c
@@ -78,6 +78,7 @@ struct _EphyLocationEntryPrivate
guint apply_colors : 1;
guint needs_reset : 1;
guint show_lock : 1;
+ guint show_favicon : 1;
};
static const GtkTargetEntry url_drag_types [] =
@@ -108,7 +109,8 @@ enum
PROP_LOCATION,
PROP_FAVICON,
PROP_LOCK_STOCK,
- PROP_SHOW_LOCK
+ PROP_SHOW_LOCK,
+ PROP_SHOW_FAVICON
};
enum signalsEnum
@@ -149,6 +151,10 @@ ephy_location_entry_set_property (GObject *object,
ephy_location_entry_set_show_lock (entry,
g_value_get_boolean (value));
break;
+ case PROP_SHOW_FAVICON:
+ ephy_location_entry_set_show_favicon (entry,
+ g_value_get_boolean (value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id,pspec);
}
@@ -254,6 +260,14 @@ ephy_location_entry_class_init (EphyLocationEntryClass *klass)
FALSE,
G_PARAM_WRITABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
+ g_object_class_install_property (object_class,
+ PROP_SHOW_FAVICON,
+ g_param_spec_boolean ("show-favicon",
+ "Show Favicon",
+ "Whether to show the favicon",
+ TRUE,
+ G_PARAM_WRITABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
+
/**
* EphyLocationEntry::user-changed:
* @entry: the object on which the signal is emitted
@@ -352,13 +366,13 @@ update_favicon (EphyLocationEntry *lentry)
/* Only show the favicon if the entry's text is the
* address of the current page.
*/
- if (priv->favicon != NULL && priv->original_address)
+ if (priv->show_favicon && priv->favicon != NULL && priv->original_address)
{
gtk_entry_set_icon_from_pixbuf (entry,
GTK_ENTRY_ICON_PRIMARY,
priv->favicon);
}
- else
+ else if (priv->show_favicon)
{
/* Here we could consider using fallback favicon that matches
* the page MIME type, though text/html should be good enough
@@ -368,6 +382,12 @@ update_favicon (EphyLocationEntry *lentry)
GTK_ENTRY_ICON_PRIMARY,
"text-html");
}
+ else
+ {
+ gtk_entry_set_icon_from_icon_name (entry,
+ GTK_ENTRY_ICON_PRIMARY,
+ NULL);
+ }
}
static void
@@ -892,6 +912,7 @@ ephy_location_entry_init (EphyLocationEntry *le)
p->block_update = FALSE;
p->saved_text = NULL;
p->show_lock = FALSE;
+ p->show_favicon = TRUE;
p->dns_prefetch_handler = 0;
ephy_location_entry_construct_contents (le);
@@ -1483,6 +1504,21 @@ ephy_location_entry_set_favicon (EphyLocationEntry *entry,
update_favicon (entry);
}
+void
+ephy_location_entry_set_show_favicon (EphyLocationEntry *entry,
+ gboolean show_favicon)
+{
+ EphyLocationEntryPrivate *priv;
+
+ g_return_if_fail (EPHY_IS_LOCATION_ENTRY (entry));
+
+ priv = entry->priv;
+
+ priv->show_favicon = show_favicon != FALSE;
+
+ update_favicon (entry);
+}
+
/**
* ephy_location_entry_set_show_lock:
* @entry: an #EphyLocationEntry widget
diff --git a/lib/widgets/ephy-location-entry.h b/lib/widgets/ephy-location-entry.h
index 1bc923a..307a45e 100644
--- a/lib/widgets/ephy-location-entry.h
+++ b/lib/widgets/ephy-location-entry.h
@@ -104,6 +104,9 @@ void ephy_location_entry_activate (EphyLocationEntry *entry);
void ephy_location_entry_set_favicon (EphyLocationEntry *entry,
GdkPixbuf *pixbuf);
+void ephy_location_entry_set_show_favicon (EphyLocationEntry *entry,
+ gboolean show_favicon);
+
void ephy_location_entry_set_show_lock (EphyLocationEntry *entry,
gboolean show_lock);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]