[gnome-panel] toplevel: add position css class
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-panel] toplevel: add position css class
- Date: Sun, 21 Jan 2018 00:12:51 +0000 (UTC)
commit 601541869ba99fdcc1c8e97c226398c4376118da
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Sat Jan 20 23:06:10 2018 +0200
toplevel: add position css class
gnome-panel/panel-toplevel.c | 56 ++++++++++++++++++++++++++++++++---------
1 files changed, 43 insertions(+), 13 deletions(-)
---
diff --git a/gnome-panel/panel-toplevel.c b/gnome-panel/panel-toplevel.c
index 83710c1..9d3b59c 100644
--- a/gnome-panel/panel-toplevel.c
+++ b/gnome-panel/panel-toplevel.c
@@ -255,6 +255,46 @@ static void panel_toplevel_set_monitor_internal (PanelToplevel *toplevel,
int monitor,
gboolean force_resize);
+static void
+update_style_classes (PanelToplevel *toplevel)
+{
+ GtkStyleContext *context;
+
+ context = gtk_widget_get_style_context (GTK_WIDGET (toplevel));
+
+ gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL);
+ gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL);
+ gtk_style_context_remove_class (context, GTK_STYLE_CLASS_RIGHT);
+ gtk_style_context_remove_class (context, GTK_STYLE_CLASS_LEFT);
+ gtk_style_context_remove_class (context, GTK_STYLE_CLASS_TOP);
+ gtk_style_context_remove_class (context, GTK_STYLE_CLASS_BOTTOM);
+
+ switch (toplevel->priv->orientation) {
+ case PANEL_ORIENTATION_TOP:
+ gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL);
+ gtk_style_context_add_class (context, GTK_STYLE_CLASS_TOP);
+ break;
+
+ case PANEL_ORIENTATION_LEFT:
+ gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL);
+ gtk_style_context_add_class (context, GTK_STYLE_CLASS_LEFT);
+ break;
+
+ case PANEL_ORIENTATION_BOTTOM:
+ gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL);
+ gtk_style_context_add_class (context, GTK_STYLE_CLASS_BOTTOM);
+ break;
+
+ case PANEL_ORIENTATION_RIGHT:
+ gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL);
+ gtk_style_context_add_class (context, GTK_STYLE_CLASS_RIGHT);
+ break;
+
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+}
GSList *
panel_toplevel_list_toplevels (void)
@@ -4024,7 +4064,6 @@ static void
panel_toplevel_init (PanelToplevel *toplevel)
{
GtkWidget *widget;
- GtkStyleContext *context;
toplevel->priv = PANEL_TOPLEVEL_GET_PRIVATE (toplevel);
@@ -4115,7 +4154,7 @@ panel_toplevel_init (PanelToplevel *toplevel)
panel_toplevel_setup_widgets (toplevel);
panel_toplevel_update_description (toplevel);
panel_toplevel_update_gtk_settings (toplevel);
-
+
toplevel_list = g_slist_prepend (toplevel_list, toplevel);
/* Prevent the window from being deleted via Alt+F4 by accident. This
@@ -4126,8 +4165,7 @@ panel_toplevel_init (PanelToplevel *toplevel)
G_CALLBACK (gtk_true),
NULL);
- context = gtk_widget_get_style_context (GTK_WIDGET (toplevel));
- gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL);
+ update_style_classes (toplevel);
}
PanelWidget *
@@ -4466,7 +4504,6 @@ panel_toplevel_set_orientation (PanelToplevel *toplevel,
gboolean rotate;
int monitor_width;
int monitor_height;
- GtkStyleContext *context;
g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel));
@@ -4534,15 +4571,8 @@ panel_toplevel_set_orientation (PanelToplevel *toplevel,
}
toplevel->priv->orientation = orientation;
+ update_style_classes (toplevel);
- context = gtk_widget_get_style_context (GTK_WIDGET (toplevel));
- if (orientation & PANEL_HORIZONTAL_MASK) {
- gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL);
- gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL);
- } else {
- gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL);
- gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL);
- }
gtk_widget_reset_style (GTK_WIDGET (toplevel));
panel_toplevel_update_hide_buttons (toplevel);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]