diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | src/ephy-window.c | 28 |
2 files changed, 36 insertions, 0 deletions
@@ -1,5 +1,13 @@ 2004-09-16 Marco Pesenti Gritti <marco@gnome.org> + * src/ephy-window.c: (ephy_window_focus_in_event), + (ephy_window_focus_out_event), (ephy_window_class_init): + + Show the fullscreen button only when the window is active. + Fix #115296. + +2004-09-16 Marco Pesenti Gritti <marco@gnome.org> + * src/ephy-window.c: (update_fullscreen_popup), (screen_size_changed_cb), (fullscreen_popup_size_request_cb), (ephy_window_fullscreen): diff --git a/src/ephy-window.c b/src/ephy-window.c index 9157b19e2..b7c1ad036 100644 --- a/src/ephy-window.c +++ b/src/ephy-window.c @@ -2026,6 +2026,32 @@ ephy_window_get_property (GObject *object, } } +static gboolean +ephy_window_focus_in_event (GtkWidget *widget, GdkEventFocus *event) +{ + EphyWindow *window = EPHY_WINDOW (widget); + + if (window->priv->exit_fullscreen_popup) + { + gtk_widget_show (window->priv->exit_fullscreen_popup); + } + + return GTK_WIDGET_CLASS (parent_class)->focus_in_event (widget, event); +} + +static gboolean +ephy_window_focus_out_event (GtkWidget *widget, GdkEventFocus *event) +{ + EphyWindow *window = EPHY_WINDOW (widget); + + if (window->priv->exit_fullscreen_popup) + { + gtk_widget_hide (window->priv->exit_fullscreen_popup); + } + + return GTK_WIDGET_CLASS (parent_class)->focus_out_event (widget, event); +} + static void ephy_window_class_init (EphyWindowClass *klass) { @@ -2043,6 +2069,8 @@ ephy_window_class_init (EphyWindowClass *klass) widget_class->show = ephy_window_show; widget_class->key_press_event = ephy_window_key_press_event; + widget_class->focus_in_event = ephy_window_focus_in_event; + widget_class->focus_out_event = ephy_window_focus_out_event; g_object_class_install_property (object_class, PROP_ACTIVE_TAB, |