From ec9a9bc40e04b52562d81eed1864dcf41304fffa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberts=20Muktup=C4=81vels?= Date: Mon, 15 Feb 2016 22:25:28 +0200 Subject: theme-viewer: don't allow to set all frame flags --- theme-viewer/theme-viewer-window.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/theme-viewer/theme-viewer-window.c b/theme-viewer/theme-viewer-window.c index f4f2ed6d..c37ed77e 100644 --- a/theme-viewer/theme-viewer-window.c +++ b/theme-viewer/theme-viewer-window.c @@ -72,6 +72,38 @@ struct _ThemeViewerWindow G_DEFINE_TYPE (ThemeViewerWindow, theme_viewer_window, GTK_TYPE_WINDOW) +static void +update_frame_flags_sensitivity (ThemeViewerWindow *window) +{ + gtk_widget_set_sensitive (window->has_focus, TRUE); + gtk_widget_set_sensitive (window->shaded, TRUE); + gtk_widget_set_sensitive (window->maximized, TRUE); + gtk_widget_set_sensitive (window->fullscreen, TRUE); + gtk_widget_set_sensitive (window->tiled, TRUE); + + if (window->frame_flags & META_FRAME_SHADED) + gtk_widget_set_sensitive (window->fullscreen, FALSE); + + if (window->frame_flags & META_FRAME_MAXIMIZED) + { + gtk_widget_set_sensitive (window->fullscreen, FALSE); + gtk_widget_set_sensitive (window->tiled, FALSE); + } + + if (window->frame_flags & META_FRAME_FULLSCREEN) + { + gtk_widget_set_sensitive (window->shaded, FALSE); + gtk_widget_set_sensitive (window->maximized, FALSE); + gtk_widget_set_sensitive (window->tiled, FALSE); + } + + if (window->frame_flags & META_FRAME_TILED_LEFT) + { + gtk_widget_set_sensitive (window->maximized, FALSE); + gtk_widget_set_sensitive (window->fullscreen, FALSE); + } +} + static GdkPixbuf * get_icon (gint size) { @@ -285,6 +317,8 @@ update_frame_flags (ThemeViewerWindow *window) update_title_layout (window); update_frame_borders (window); + + update_frame_flags_sensitivity (window); } static void -- cgit v1.2.1