aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--src/window-commands.c26
2 files changed, 29 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 391d30b47..32910b9e9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2003-05-16 Christian Persch <chpe+gnomebugz@stud.uni-saarland.de>
+
+ * src/window-commands.c: shift force reload
+
2003-05-25 Marco Pesenti Gritti <marco@it.gnome.org>
* embed/ephy-favicon-cache.c: (ephy_favicon_cache_load),
diff --git a/src/window-commands.c b/src/window-commands.c
index 9c6147043..77a0db07f 100644
--- a/src/window-commands.c
+++ b/src/window-commands.c
@@ -208,11 +208,35 @@ window_cmd_view_reload (EggAction *action,
EphyWindow *window)
{
EphyEmbed *embed;
+ GdkEvent *event;
+ GdkEventType type;
+ guint state = 0;
+ gboolean force = FALSE;
embed = ephy_window_get_active_embed (window);
g_return_if_fail (embed != NULL);
- ephy_embed_reload (embed, EMBED_RELOAD_NORMAL);
+ event = gtk_get_current_event ();
+ type = event->type;
+
+ if (type == GDK_BUTTON_RELEASE)
+ {
+ state = event->button.state;
+ }
+ else if (type == GDK_KEY_RELEASE)
+ {
+ state = event->key.state;
+ }
+
+ gdk_event_free (event);
+
+ if (state & GDK_SHIFT_MASK)
+ {
+ force = TRUE;
+ }
+
+ ephy_embed_reload (embed, force ? EMBED_RELOAD_NORMAL
+ : EMBED_RELOAD_BYPASSCACHE);
}
void