summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2016-02-15 22:25:28 +0200
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2016-02-15 22:25:28 +0200
commitec9a9bc40e04b52562d81eed1864dcf41304fffa (patch)
tree0229b1f6d8751d4e8299a1908bfe6aff25a27307
parent29cdac3badc60463e55f4964bf9be73d20ed747c (diff)
downloadmetacity-ec9a9bc40e04b52562d81eed1864dcf41304fffa.tar.gz
theme-viewer: don't allow to set all frame flags
-rw-r--r--theme-viewer/theme-viewer-window.c34
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