🔧 Port effect profiles to GNOME Shell 3.38
This commit is contained in:
@@ -73,11 +73,12 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
|
||||
// Load the CSS file for the settings dialog.
|
||||
const styleProvider = Gtk.CssProvider.new();
|
||||
styleProvider.load_from_resource('/css/gtk.css');
|
||||
if (utils.isGTK4()) {
|
||||
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);
|
||||
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);
|
||||
}
|
||||
@@ -183,14 +184,14 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
if (r == row) {
|
||||
if (r._revealer.get_reveal_child()) {
|
||||
r._revealer.set_reveal_child(false);
|
||||
r._arrow.remove_css_class("revealed");
|
||||
r._arrow.get_style_context().remove_class("revealed");
|
||||
} else {
|
||||
r._revealer.set_reveal_child(true);
|
||||
r._arrow.add_css_class("revealed");
|
||||
r._arrow.get_style_context().add_class("revealed");
|
||||
}
|
||||
} else {
|
||||
r._revealer.set_reveal_child(false);
|
||||
r._arrow.remove_css_class("revealed");
|
||||
r._arrow.get_style_context().remove_class("revealed");
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -211,9 +212,9 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
}
|
||||
|
||||
// The preview button.
|
||||
const previewButton = Gtk.Button.new_from_icon_name('bmw-preview-symbolic');
|
||||
previewButton.add_css_class('circular');
|
||||
previewButton.add_css_class('flat');
|
||||
const 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'));
|
||||
previewButton.set_valign(Gtk.Align.CENTER);
|
||||
previewButton.connect('clicked', () => {
|
||||
@@ -269,10 +270,16 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
|
||||
} else {
|
||||
|
||||
const row = new Gtk.ListBoxRow({css_classes:["effect-row"]});
|
||||
const row = new Gtk.ListBoxRow();
|
||||
row.get_style_context().add_class("effect-row");
|
||||
|
||||
const container = new Gtk.Box({orientation:Gtk.Orientation.VERTICAL});
|
||||
const header = new Gtk.Box({css_classes:["effect-row-header"], spacing:12});
|
||||
const label = new Gtk.Label({label:effect.getLabel(), css_classes:["heading"], hexpand:true, halign: Gtk.Align.START});
|
||||
|
||||
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);
|
||||
@@ -281,7 +288,8 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
|
||||
if (hasPrefs) {
|
||||
const revealer = this._builder.get_object(`${effect.getNick()}-prefs`);
|
||||
const arrow = new Gtk.Image({css_classes:["revealer-arrow"], icon_name:"go-down-symbolic"});
|
||||
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;
|
||||
@@ -293,9 +301,14 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
row.set_activatable(false);
|
||||
}
|
||||
|
||||
row.set_child(container);
|
||||
if (utils.isGTK4()) {
|
||||
row.set_child(container);
|
||||
group.append(row);
|
||||
} else {
|
||||
row.add(container);
|
||||
group.add(row);
|
||||
}
|
||||
|
||||
group.append(row);
|
||||
|
||||
}
|
||||
|
||||
@@ -343,9 +356,12 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
|
||||
flap.set_content(scrolledWindow);
|
||||
|
||||
} else {
|
||||
} else if (utils.isGTK4()) {
|
||||
window.get_titlebar().pack_start(menu);
|
||||
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'));
|
||||
}
|
||||
|
||||
const addURIAction = (name, uri) => {
|
||||
@@ -508,7 +524,10 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
});
|
||||
}
|
||||
|
||||
deleteProfileDialog.set_hide_on_close(true);
|
||||
if (utils.isGTK4()) {
|
||||
deleteProfileDialog.set_hide_on_close(true);
|
||||
}
|
||||
|
||||
deleteProfileDialog.set_transient_for(window);
|
||||
|
||||
deleteProfileDialog.connect('response', (dialog, response) => {
|
||||
|
||||
Reference in New Issue
Block a user