🔧 Some libadwaita fixes

This commit is contained in:
Simon Schneegans
2023-02-05 13:09:36 +01:00
parent 9539a9fa13
commit f149ee4cf3
+57 -48
View File
@@ -72,15 +72,18 @@ var PreferencesDialog = class PreferencesDialog {
Gio.resources_register(this._resources);
// Load the CSS file for the settings dialog.
const styleProvider = Gtk.CssProvider.new();
if (utils.isGTK4() && !utils.isADW()) {
styleProvider.load_from_resource('/css/gtk4.css');
Gtk.StyleContext.add_provider_for_display(Gdk.Display.get_default(), styleProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
} else {
styleProvider.load_from_resource('/css/gtk3.css');
Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), styleProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
if (!utils.isADW()) {
const styleProvider = Gtk.CssProvider.new();
if (utils.isGTK4()) {
styleProvider.load_from_resource('/css/gtk4.css');
Gtk.StyleContext.add_provider_for_display(
Gdk.Display.get_default(), styleProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
} else {
styleProvider.load_from_resource('/css/gtk3.css');
Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), styleProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
}
}
// Make sure custom icons are found.
@@ -158,12 +161,14 @@ var PreferencesDialog = class PreferencesDialog {
});
if (!utils.isADW()) {
const profileEditorButton = this._builder.get_object("edit-profile-button");
profileEditorButton.connect("toggled", b => {
const profileEditorButton = this._builder.get_object('edit-profile-button');
profileEditorButton.connect('toggled', b => {
if (b.active) {
this._builder.get_object("general-prefs").set_visible_child(this._builder.get_object("profile-editor"));
this._builder.get_object('general-prefs')
.set_visible_child(this._builder.get_object('profile-editor'));
} else {
this._builder.get_object("general-prefs").set_visible_child(this._builder.get_object("effect-editor"));
this._builder.get_object('general-prefs')
.set_visible_child(this._builder.get_object('effect-editor'));
}
});
}
@@ -179,22 +184,21 @@ var PreferencesDialog = class PreferencesDialog {
this._effectRows = [];
if (!utils.isADW()) {
group.connect("row-activated", (g, row) => {
group.connect('row-activated', (g, row) => {
this._effectRows.forEach(r => {
if (r == row) {
if (r._revealer.get_reveal_child()) {
r._revealer.set_reveal_child(false);
r._arrow.get_style_context().remove_class("revealed");
r._arrow.get_style_context().remove_class('revealed');
} else {
r._revealer.set_reveal_child(true);
r._arrow.get_style_context().add_class("revealed");
r._arrow.get_style_context().add_class('revealed');
}
} else {
r._revealer.set_reveal_child(false);
r._arrow.get_style_context().remove_class("revealed");
r._arrow.get_style_context().remove_class('revealed');
}
}
);
});
});
}
@@ -212,7 +216,12 @@ var PreferencesDialog = class PreferencesDialog {
}
// The preview button.
const previewButton = Gtk.Button.new_from_icon_name('bmw-preview-symbolic', 1);
let previewButton;
if (utils.isGTK4()) {
previewButton = Gtk.Button.new_from_icon_name('bmw-preview-symbolic');
} else {
previewButton = Gtk.Button.new_from_icon_name('bmw-preview-symbolic', 1);
}
previewButton.get_style_context().add_class('circular');
previewButton.get_style_context().add_class('flat');
previewButton.set_tooltip_text(_('Preview this effect'));
@@ -220,13 +229,13 @@ var PreferencesDialog = class PreferencesDialog {
previewButton.connect('clicked', () => {
this._previewEffect(effect);
});
// The toggle button for enabling and disabling the effect.
const button = Gtk.Switch.new();
button.set_tooltip_text(_('Use this effect'));
button.set_valign(Gtk.Align.CENTER);
this._builder.expose_object(`${effect.getNick()}-enable-effect`, button);
if (utils.isADW()) {
let row;
@@ -234,7 +243,7 @@ var PreferencesDialog = class PreferencesDialog {
// Add the effect's preferences (if any).
row = this._builder.get_object(`${effect.getNick()}-prefs`);
} else if(utils.isADW()) {
} else if (utils.isADW()) {
row = Adw.ActionRow.new();
}
@@ -266,34 +275,35 @@ var PreferencesDialog = class PreferencesDialog {
row.add_prefix(button);
group.add(row);
} else {
const row = new Gtk.ListBoxRow();
row.get_style_context().add_class("effect-row");
const container = new Gtk.Box({orientation:Gtk.Orientation.VERTICAL});
row.get_style_context().add_class('effect-row');
const header = new Gtk.Box({ spacing:12});
header.get_style_context().add_class("effect-row-header");
const label = new Gtk.Label({label:effect.getLabel(), hexpand:true, halign: Gtk.Align.START});
label.get_style_context().add_class("heading");
const container = new Gtk.Box({orientation: Gtk.Orientation.VERTICAL});
const header = new Gtk.Box({spacing: 12});
header.get_style_context().add_class('effect-row-header');
const label = new Gtk.Label(
{label: effect.getLabel(), hexpand: true, halign: Gtk.Align.START});
label.get_style_context().add_class('heading');
this.gtkBoxAppend(header, button);
this.gtkBoxAppend(header, label);
this.gtkBoxAppend(header, previewButton);
this.gtkBoxAppend(container, header);
if (hasPrefs) {
const revealer = this._builder.get_object(`${effect.getNick()}-prefs`);
const arrow = new Gtk.Image({icon_name:"go-down-symbolic"});
arrow.get_style_context().add_class("revealer-arrow");
const arrow = new Gtk.Image({icon_name: 'go-down-symbolic'});
arrow.get_style_context().add_class('revealer-arrow');
this.gtkBoxAppend(header, arrow);
this.gtkBoxAppend(container, revealer);
row._revealer = revealer;
row._arrow = arrow;
row._arrow = arrow;
row.set_activatable(true);
this._effectRows.push(row);
@@ -301,17 +311,14 @@ var PreferencesDialog = class PreferencesDialog {
row.set_activatable(false);
}
if (utils.isGTK4()) {
row.set_child(container);
group.append(row);
} else {
row.add(container);
group.add(row);
}
if (utils.isGTK4()) {
row.set_child(container);
group.append(row);
} else {
row.add(container);
group.add(row);
}
}
}
});
@@ -358,10 +365,12 @@ var PreferencesDialog = class PreferencesDialog {
} else if (utils.isGTK4()) {
window.get_titlebar().pack_start(menu);
window.get_titlebar().set_title_widget(this._builder.get_object('profile-button'));
window.get_titlebar().set_title_widget(
this._builder.get_object('profile-button'));
} else {
window.get_titlebar().pack_start(menu);
window.get_titlebar().set_custom_title(this._builder.get_object('profile-button'));
window.get_titlebar().set_custom_title(
this._builder.get_object('profile-button'));
}
const addURIAction = (name, uri) => {