🔧 Some libadwaita fixes

This commit is contained in:
Simon Schneegans
2023-02-05 13:09:36 +01:00
parent 9539a9fa13
commit f149ee4cf3
+51 -42
View File
@@ -72,15 +72,18 @@ var PreferencesDialog = class PreferencesDialog {
Gio.resources_register(this._resources); Gio.resources_register(this._resources);
// Load the CSS file for the settings dialog. // Load the CSS file for the settings dialog.
const styleProvider = Gtk.CssProvider.new(); if (!utils.isADW()) {
if (utils.isGTK4() && !utils.isADW()) { const styleProvider = Gtk.CssProvider.new();
styleProvider.load_from_resource('/css/gtk4.css'); if (utils.isGTK4()) {
Gtk.StyleContext.add_provider_for_display(Gdk.Display.get_default(), styleProvider, styleProvider.load_from_resource('/css/gtk4.css');
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); Gtk.StyleContext.add_provider_for_display(
} else { Gdk.Display.get_default(), styleProvider,
styleProvider.load_from_resource('/css/gtk3.css'); Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), styleProvider, } else {
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); 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. // Make sure custom icons are found.
@@ -158,12 +161,14 @@ var PreferencesDialog = class PreferencesDialog {
}); });
if (!utils.isADW()) { if (!utils.isADW()) {
const profileEditorButton = this._builder.get_object("edit-profile-button"); const profileEditorButton = this._builder.get_object('edit-profile-button');
profileEditorButton.connect("toggled", b => { profileEditorButton.connect('toggled', b => {
if (b.active) { 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 { } 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 = []; this._effectRows = [];
if (!utils.isADW()) { if (!utils.isADW()) {
group.connect("row-activated", (g, row) => { group.connect('row-activated', (g, row) => {
this._effectRows.forEach(r => { this._effectRows.forEach(r => {
if (r == row) { if (r == row) {
if (r._revealer.get_reveal_child()) { if (r._revealer.get_reveal_child()) {
r._revealer.set_reveal_child(false); r._revealer.set_reveal_child(false);
r._arrow.get_style_context().remove_class("revealed"); r._arrow.get_style_context().remove_class('revealed');
} else { } else {
r._revealer.set_reveal_child(true); r._revealer.set_reveal_child(true);
r._arrow.get_style_context().add_class("revealed"); r._arrow.get_style_context().add_class('revealed');
} }
} else { } else {
r._revealer.set_reveal_child(false); 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. // 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('circular');
previewButton.get_style_context().add_class('flat'); previewButton.get_style_context().add_class('flat');
previewButton.set_tooltip_text(_('Preview this effect')); previewButton.set_tooltip_text(_('Preview this effect'));
@@ -234,7 +243,7 @@ var PreferencesDialog = class PreferencesDialog {
// Add the effect's preferences (if any). // Add the effect's preferences (if any).
row = this._builder.get_object(`${effect.getNick()}-prefs`); row = this._builder.get_object(`${effect.getNick()}-prefs`);
} else if(utils.isADW()) { } else if (utils.isADW()) {
row = Adw.ActionRow.new(); row = Adw.ActionRow.new();
} }
@@ -271,15 +280,16 @@ var PreferencesDialog = class PreferencesDialog {
} else { } else {
const row = new Gtk.ListBoxRow(); const row = new Gtk.ListBoxRow();
row.get_style_context().add_class("effect-row"); row.get_style_context().add_class('effect-row');
const container = new Gtk.Box({orientation:Gtk.Orientation.VERTICAL}); const container = new Gtk.Box({orientation: Gtk.Orientation.VERTICAL});
const header = new Gtk.Box({ spacing:12}); const header = new Gtk.Box({spacing: 12});
header.get_style_context().add_class("effect-row-header"); header.get_style_context().add_class('effect-row-header');
const label = new Gtk.Label({label:effect.getLabel(), hexpand:true, halign: Gtk.Align.START}); const label = new Gtk.Label(
label.get_style_context().add_class("heading"); {label: effect.getLabel(), hexpand: true, halign: Gtk.Align.START});
label.get_style_context().add_class('heading');
this.gtkBoxAppend(header, button); this.gtkBoxAppend(header, button);
this.gtkBoxAppend(header, label); this.gtkBoxAppend(header, label);
@@ -288,12 +298,12 @@ var PreferencesDialog = class PreferencesDialog {
if (hasPrefs) { if (hasPrefs) {
const revealer = this._builder.get_object(`${effect.getNick()}-prefs`); const revealer = this._builder.get_object(`${effect.getNick()}-prefs`);
const arrow = new Gtk.Image({icon_name:"go-down-symbolic"}); const arrow = new Gtk.Image({icon_name: 'go-down-symbolic'});
arrow.get_style_context().add_class("revealer-arrow"); arrow.get_style_context().add_class('revealer-arrow');
this.gtkBoxAppend(header, arrow); this.gtkBoxAppend(header, arrow);
this.gtkBoxAppend(container, revealer); this.gtkBoxAppend(container, revealer);
row._revealer = revealer; row._revealer = revealer;
row._arrow = arrow; row._arrow = arrow;
row.set_activatable(true); row.set_activatable(true);
this._effectRows.push(row); this._effectRows.push(row);
@@ -301,17 +311,14 @@ var PreferencesDialog = class PreferencesDialog {
row.set_activatable(false); row.set_activatable(false);
} }
if (utils.isGTK4()) { if (utils.isGTK4()) {
row.set_child(container); row.set_child(container);
group.append(row); group.append(row);
} else { } else {
row.add(container); row.add(container);
group.add(row); group.add(row);
} }
} }
} }
}); });
@@ -358,10 +365,12 @@ var PreferencesDialog = class PreferencesDialog {
} else if (utils.isGTK4()) { } else if (utils.isGTK4()) {
window.get_titlebar().pack_start(menu); 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 { } else {
window.get_titlebar().pack_start(menu); 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) => { const addURIAction = (name, uri) => {