pmaports/temp/gnome-control-center/0002-shell-Mirror-the-main-leaflet-s-folded-property.patch
Pablo Correa Gómez 5411328605
temp/gnome-control-center: use upstream as source (MR 2552)
Purism's g-c-c fork is stuck in version 3.38. This has
multiple problems, including carrying old unnecessary
patches and producing some incompatibility with newer
GNOME releases available in Alpine. In consequence,
we fetch the source from upstream and only apply those
patches that make sense for our usecase. When the Purism
patches apply without issues, then we fetch them directly
from their repo.
2021-11-02 21:40:59 +01:00

87 lines
2.9 KiB
Diff

From ef5c92ca97770fe2e970985a499d8c1a4749be5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Tue, 24 Aug 2021 18:23:51 +0200
Subject: [PATCH 2/8] shell: Mirror the main leaflet's 'folded' property
This makes it simpler for panels to check whether g-c-c
is in folded state.
---
shell/cc-window.c | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/shell/cc-window.c b/shell/cc-window.c
index de4eccc04..c9a7bf0b0 100644
--- a/shell/cc-window.c
+++ b/shell/cc-window.c
@@ -81,6 +81,8 @@ struct _CcWindow
CcPanel *active_panel;
GSettings *settings;
+ gboolean folded;
+
CcPanelListView previous_list_view;
};
@@ -93,7 +95,8 @@ enum
{
PROP_0,
PROP_ACTIVE_PANEL,
- PROP_MODEL
+ PROP_MODEL,
+ PROP_FOLDED,
};
/* Auxiliary methods */
@@ -766,6 +769,10 @@ cc_window_get_property (GObject *object,
g_value_set_object (value, self->store);
break;
+ case PROP_FOLDED:
+ g_value_set_boolean (value, self->folded);
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
}
@@ -790,6 +797,10 @@ cc_window_set_property (GObject *object,
self->store = g_value_dup_object (value);
break;
+ case PROP_FOLDED:
+ self->folded = g_value_get_boolean (value);
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
}
@@ -876,6 +887,14 @@ cc_window_class_init (CcWindowClass *klass)
CC_TYPE_SHELL_MODEL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (object_class,
+ PROP_FOLDED,
+ g_param_spec_boolean ("folded",
+ "Folded",
+ "Whether the window is foled",
+ FALSE,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/ControlCenter/gtk/cc-window.ui");
gtk_widget_class_bind_template_child (widget_class, CcWindow, back_revealer);
@@ -921,6 +940,12 @@ cc_window_init (CcWindow *self)
self->previous_panels = g_queue_new ();
self->previous_list_view = cc_panel_list_get_view (self->panel_list);
+ g_object_bind_property (self->main_leaflet,
+ "folded",
+ self,
+ "folded",
+ G_BINDING_SYNC_CREATE);
+
/* Add a custom CSS class on development builds */
if (in_flatpak_sandbox ())
gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (self)), "devel");
--
2.25.1