diff options
author | Alberts Muktupāvels <alberts.muktupavels@gmail.com> | 2016-02-15 22:25:28 +0200 |
---|---|---|
committer | Alberts Muktupāvels <alberts.muktupavels@gmail.com> | 2016-02-15 22:25:28 +0200 |
commit | ec9a9bc40e04b52562d81eed1864dcf41304fffa (patch) | |
tree | 0229b1f6d8751d4e8299a1908bfe6aff25a27307 | |
parent | 29cdac3badc60463e55f4964bf9be73d20ed747c (diff) | |
download | metacity-ec9a9bc40e04b52562d81eed1864dcf41304fffa.tar.gz |
theme-viewer: don't allow to set all frame flags
-rw-r--r-- | theme-viewer/theme-viewer-window.c | 34 |
1 files changed, 34 insertions, 0 deletions
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 |