Commit 99a796e4 authored by Florian Müllner's avatar Florian Müllner Committed by Marge Bot

dbusServices/extensions: Stop stacking frames

We currently use separate frames for the details expander and the
expanded details. That layout works as long as frames are boxy (as
in the default GTK3 style), but breaks down with rounded corners
(as in the default GTK4 style).

In order to work with either style, adapt the layout to use a single
surrounding frame and appropriate borders as separator.

Part-of: <!1495>
parent 9bb91ca8
.expander-frame > * { border-top-width: 0; }
.expanded { border: 0 solid @borders; border-bottom-width: 1px; }
.expander-toolbar {
border: 0 solid @borders;
border-top-width: 1px;
......
......@@ -192,7 +192,10 @@ var ExtensionPrefsDialog = GObject.registerClass({
this._expanderArrow.icon_name = this._revealer.reveal_child
? 'pan-down-symbolic'
: 'pan-end-symbolic';
this._syncExpandedStyle();
});
this._revealer.connect('notify::child-revealed',
() => this._syncExpandedStyle());
try {
ExtensionUtils.installImporter(extension);
......@@ -211,6 +214,13 @@ var ExtensionPrefsDialog = GObject.registerClass({
}
}
_syncExpandedStyle() {
if (this._revealer.reveal_child)
this._expander.get_style_context().add_class('expanded');
else if (!this._revealer.child_revealed)
this._expander.get_style_context().remove_class('expanded');
}
_setError(exc) {
this._errorView.buffer.text = `${exc}\n\nStack trace:\n`;
// Indent stack trace.
......
......@@ -53,16 +53,16 @@
</object>
</child>
<child>
<object class="GtkBox">
<object class="GtkFrame">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="margin-top">12</property>
<child>
<object class="GtkFrame" id="expander">
<object class="GtkBox">
<property name="visible">True</property>
<property name="hexpand">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkEventBox">
<object class="GtkEventBox" id="expander">
<property name="visible">True</property>
<child>
<object class="GtkBox">
......@@ -88,17 +88,9 @@
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkRevealer" id="revealer">
<property name="visible">True</property>
<child>
<object class="GtkFrame">
<object class="GtkRevealer" id="revealer">
<property name="visible">True</property>
<style>
<class name="expander-frame"/>
</style>
<child>
<object class="GtkBox">
<property name="visible">True</property>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment