[gthumb] do not save the browser size if in fullscreen mode
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb] do not save the browser size if in fullscreen mode
- Date: Sat, 9 Nov 2013 20:04:59 +0000 (UTC)
commit 9808f3405b57f31811ed05693963092616962d8d
Author: Paolo Bacchilega <paobac src gnome org>
Date: Sat Oct 19 18:05:42 2013 +0200
do not save the browser size if in fullscreen mode
gthumb/gth-browser.c | 30 ++++++++----------------------
gthumb/gtk-utils.c | 13 +++++++++++++
gthumb/gtk-utils.h | 1 +
3 files changed, 22 insertions(+), 22 deletions(-)
---
diff --git a/gthumb/gth-browser.c b/gthumb/gth-browser.c
index ca6e655..0dff038 100644
--- a/gthumb/gth-browser.c
+++ b/gthumb/gth-browser.c
@@ -1973,14 +1973,12 @@ _gth_browser_close_final_step (gpointer user_data)
last_window = g_list_length (gtk_application_get_windows (gtk_window_get_application (GTK_WINDOW
(browser)))) == 1;
if (gtk_widget_get_realized (GTK_WIDGET (browser))) {
- GdkWindowState state;
gboolean maximized;
GtkAllocation allocation;
/* Save visualization options only if the window is not maximized. */
- state = gdk_window_get_state (gtk_widget_get_window (GTK_WIDGET (browser)));
- maximized = (state & GDK_WINDOW_STATE_MAXIMIZED) != 0;
+ maximized = _gtk_window_get_is_maximized (GTK_WINDOW (browser));
if (! maximized && ! browser->priv->fullscreen && gtk_widget_get_visible (GTK_WIDGET
(browser))) {
int width, height;
int size_set = FALSE;
@@ -2341,18 +2339,9 @@ _gth_browser_real_set_current_page (GthWindow *window,
/* save the browser window size */
- if (prev_page == GTH_BROWSER_PAGE_BROWSER) {
- GdkWindow *gdk_win;
-
- gdk_win = gtk_widget_get_window (GTK_WIDGET (browser));
- if (gdk_win != NULL) {
- GdkWindowState state = gdk_window_get_state (gdk_win);
-
- if ((state & GDK_WINDOW_STATE_MAXIMIZED) == 0) { /* ! maximized */
- gtk_window_get_size (GTK_WINDOW (browser), &width, &height);
- gth_window_save_page_size (GTH_WINDOW (browser), prev_page, width, height);
- }
- }
+ if ((prev_page == GTH_BROWSER_PAGE_BROWSER) && ! browser->priv->fullscreen) {
+ gtk_window_get_size (GTK_WINDOW (browser), &width, &height);
+ gth_window_save_page_size (GTH_WINDOW (browser), prev_page, width, height);
}
/* restore the browser window size */
@@ -5048,8 +5037,6 @@ gth_browser_get_file_list_info (GthBrowser *browser,
void
gth_browser_stop (GthBrowser *browser)
{
- if (browser->priv->fullscreen)
- gth_browser_unfullscreen (browser);
_gth_browser_cancel (browser, NULL, NULL);
}
@@ -6480,13 +6467,13 @@ fullscreen_motion_notify_event_cb (GtkWidget *widget,
void
gth_browser_fullscreen (GthBrowser *browser)
{
- browser->priv->fullscreen = ! browser->priv->fullscreen;
-
- if (! browser->priv->fullscreen) {
+ if (browser->priv->fullscreen) {
gth_browser_unfullscreen (browser);
return;
}
+ browser->priv->fullscreen = TRUE;
+
if (browser->priv->current_file == NULL)
if (! gth_browser_show_first_image (browser, FALSE, FALSE)) {
browser->priv->fullscreen = FALSE;
@@ -6537,8 +6524,6 @@ gth_browser_unfullscreen (GthBrowser *browser)
if (browser->priv->hide_mouse_timeout != 0)
g_source_remove (browser->priv->hide_mouse_timeout);
- browser->priv->fullscreen = FALSE;
-
gtk_widget_hide (browser->priv->fullscreen_toolbar);
gth_window_show_only_content (GTH_WINDOW (browser), FALSE);
gth_window_set_current_page (GTH_WINDOW (browser), browser->priv->before_fullscreen.page);
@@ -6555,6 +6540,7 @@ gth_browser_unfullscreen (GthBrowser *browser)
if (GTH_VIEWER_PAGE_GET_INTERFACE (browser->priv->viewer_page)->show_properties != NULL)
gth_viewer_page_show_properties (browser->priv->viewer_page, FALSE);
+ browser->priv->fullscreen = FALSE;
gtk_window_unfullscreen (GTK_WINDOW (browser));
if (browser->priv->viewer_page != NULL) {
gth_viewer_page_fullscreen (browser->priv->viewer_page, FALSE);
diff --git a/gthumb/gtk-utils.c b/gthumb/gtk-utils.c
index b53f997..da33fa4 100644
--- a/gthumb/gtk-utils.c
+++ b/gthumb/gtk-utils.c
@@ -1265,3 +1265,16 @@ _gtk_window_add_accelerators_from_menu (GtkWindow *window,
add_accelerators_from_menu (window, accel_group, menu);
gtk_window_add_accel_group (window, accel_group);
}
+
+
+gboolean
+_gtk_window_get_is_maximized (GtkWindow *window)
+{
+ GdkWindow *gdk_win;
+
+ gdk_win = gtk_widget_get_window (GTK_WIDGET (window));
+ if (gdk_win == NULL)
+ return FALSE;
+
+ return (gdk_window_get_state (gdk_win) & GDK_WINDOW_STATE_MAXIMIZED) != 0;
+}
diff --git a/gthumb/gtk-utils.h b/gthumb/gtk-utils.h
index 31267d7..dfacbfb 100644
--- a/gthumb/gtk-utils.h
+++ b/gthumb/gtk-utils.h
@@ -150,6 +150,7 @@ void _gtk_window_add_accelerator_for_action (GtkWindow
*window,
GVariant *target);
void _gtk_window_add_accelerators_from_menu (GtkWindow *window,
GMenuModel *menu);
+gboolean _gtk_window_get_is_maximized (GtkWindow *window);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]