mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-17 14:30:15 +00:00
csd: add style classes for tiled and maximized
This lets us change the border radius when the window is in one of these states. https://bugzilla.gnome.org/show_bug.cgi?id=709215
This commit is contained in:
parent
757ae6f163
commit
d6c866b6e5
@ -6252,6 +6252,25 @@ add_window_frame_style_class (GtkStyleContext *context)
|
||||
gtk_style_context_add_class (context, "window-frame");
|
||||
}
|
||||
|
||||
static void
|
||||
update_window_style_classes (GtkWindow *window)
|
||||
{
|
||||
GtkWindowPrivate *priv = window->priv;
|
||||
GtkStyleContext *context;
|
||||
|
||||
context = gtk_widget_get_style_context (GTK_WIDGET (window));
|
||||
|
||||
if (priv->tiled)
|
||||
gtk_style_context_add_class (context, "tiled");
|
||||
else
|
||||
gtk_style_context_remove_class (context, "tiled");
|
||||
|
||||
if (gtk_window_get_maximized (window))
|
||||
gtk_style_context_add_class (context, "maximized");
|
||||
else
|
||||
gtk_style_context_remove_class (context, "maximized");
|
||||
}
|
||||
|
||||
static void
|
||||
get_decoration_size (GtkWidget *widget,
|
||||
GtkBorder *decorations)
|
||||
@ -6878,6 +6897,7 @@ gtk_window_state_event (GtkWidget *widget,
|
||||
|
||||
if (event->changed_mask & (GDK_WINDOW_STATE_FULLSCREEN | GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_TILED))
|
||||
{
|
||||
update_window_style_classes (window);
|
||||
update_window_buttons (window);
|
||||
gtk_widget_queue_resize (widget);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user