diff --git a/prefs.js b/prefs.js index e9c15cf..846c0db 100644 --- a/prefs.js +++ b/prefs.js @@ -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) => {