diff --git a/docs/changelog.md b/docs/changelog.md index 50324ee..1451fc6 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -5,6 +5,14 @@ SPDX-License-Identifier: CC-BY-4.0 # Changelog of the Burn-My-Windows Extension +## [Burn My Windows 36](https://github.com/schneegans/Burn-My-Windows/releases/tag/v36) + +**Release Date:** TBD + +#### New Features + +- Two convenience buttons have been added to the preferences dialog. One allows you to select all effects, the other one allows you to deselect all effects. + ## [Burn My Windows 35](https://github.com/schneegans/Burn-My-Windows/releases/tag/v35) **Release Date:** 2023-07-03 diff --git a/prefs.js b/prefs.js index c751fc1..0e4a1ba 100644 --- a/prefs.js +++ b/prefs.js @@ -197,6 +197,19 @@ var PreferencesDialog = class PreferencesDialog { // This is our top-level widget which we will return later. this._widget = this._builder.get_object('general-prefs'); + // Add the functionality to the choose-all and choose-none buttons. + this._builder.get_object('choose-all-effects-button').connect('clicked', () => { + this._ALL_EFFECTS.forEach(effect => { + this.getProfileSettings().set_boolean(`${effect.getNick()}-enable-effect`, true); + }); + }); + + this._builder.get_object('choose-no-effects-button').connect('clicked', () => { + this._ALL_EFFECTS.forEach(effect => { + this.getProfileSettings().set_boolean(`${effect.getNick()}-enable-effect`, false); + }); + }); + // Then add a preferences group for the effect expander rows. const group = this._builder.get_object('effects-group'); @@ -297,12 +310,12 @@ var PreferencesDialog = class PreferencesDialog { } }); this._effectRows.push(row); - row.add_action(previewButton); + row.add_action(button); } else { - row.add_suffix(previewButton); + row.add_suffix(button); } - row.add_prefix(button); + row.add_prefix(previewButton); group.add(row); @@ -321,9 +334,9 @@ var PreferencesDialog = class PreferencesDialog { {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(header, label); + this.gtkBoxAppend(header, button); this.gtkBoxAppend(container, header); if (hasPrefs) { diff --git a/resources/ui/adw/prefs.ui b/resources/ui/adw/prefs.ui index 40e9858..6af6fca 100644 --- a/resources/ui/adw/prefs.ui +++ b/resources/ui/adw/prefs.ui @@ -221,10 +221,10 @@ SPDX-License-Identifier: GPL-3.0-or-later 20 20 20 - Effect Settings + Effect Selection If multiple are selected, one is chosen randomly. - + diff --git a/resources/ui/gtk3/prefs.ui b/resources/ui/gtk3/prefs.ui index badce07..d7d1654 100644 --- a/resources/ui/gtk3/prefs.ui +++ b/resources/ui/gtk3/prefs.ui @@ -120,19 +120,55 @@ SPDX-License-Identifier: GPL-3.0-or-later 5 - - Effect Settings - start - - - + - - - If multiple are selected, one is chosen randomly. - start + + + vertical + 5 + true + + + + Effect Selection + start + + + + + + + If multiple are selected, one is chosen randomly. + start + + + + + + + + + center + + + + + All + + + + + + None + + + + + diff --git a/resources/ui/gtk4/prefs.ui b/resources/ui/gtk4/prefs.ui index 9c1d507..393c8d4 100644 --- a/resources/ui/gtk4/prefs.ui +++ b/resources/ui/gtk4/prefs.ui @@ -78,19 +78,55 @@ SPDX-License-Identifier: GPL-3.0-or-later 5 - - Effect Settings - start - - - + - - - If multiple are selected, one is chosen randomly. - start + + + vertical + 5 + true + + + + Effect Selection + start + + + + + + + If multiple are selected, one is chosen randomly. + start + + + + + + + + + center + + + + + All + + + + + + None + + + + + diff --git a/tests/references/preferences-gnome-wayland-nested-32.png b/tests/references/preferences-gnome-wayland-nested-32.png index c711416..24ce7fa 100755 Binary files a/tests/references/preferences-gnome-wayland-nested-32.png and b/tests/references/preferences-gnome-wayland-nested-32.png differ diff --git a/tests/references/preferences-gnome-wayland-nested-33.png b/tests/references/preferences-gnome-wayland-nested-33.png index ff6aec1..9317a40 100755 Binary files a/tests/references/preferences-gnome-wayland-nested-33.png and b/tests/references/preferences-gnome-wayland-nested-33.png differ diff --git a/tests/references/preferences-gnome-wayland-nested-34.png b/tests/references/preferences-gnome-wayland-nested-34.png index 74aae27..bcb3a86 100755 Binary files a/tests/references/preferences-gnome-wayland-nested-34.png and b/tests/references/preferences-gnome-wayland-nested-34.png differ diff --git a/tests/references/preferences-gnome-wayland-nested-35.png b/tests/references/preferences-gnome-wayland-nested-35.png index 8060d9d..3ae0a56 100755 Binary files a/tests/references/preferences-gnome-wayland-nested-35.png and b/tests/references/preferences-gnome-wayland-nested-35.png differ diff --git a/tests/references/preferences-gnome-wayland-nested-36.png b/tests/references/preferences-gnome-wayland-nested-36.png index 17d3096..e4ba9e4 100755 Binary files a/tests/references/preferences-gnome-wayland-nested-36.png and b/tests/references/preferences-gnome-wayland-nested-36.png differ diff --git a/tests/references/preferences-gnome-wayland-nested-37.png b/tests/references/preferences-gnome-wayland-nested-37.png index 6cb7837..d3d8e22 100644 Binary files a/tests/references/preferences-gnome-wayland-nested-37.png and b/tests/references/preferences-gnome-wayland-nested-37.png differ diff --git a/tests/references/preferences-gnome-wayland-nested-38.png b/tests/references/preferences-gnome-wayland-nested-38.png index d8e1a01..b98f692 100755 Binary files a/tests/references/preferences-gnome-wayland-nested-38.png and b/tests/references/preferences-gnome-wayland-nested-38.png differ diff --git a/tests/references/preferences-gnome-wayland-nested-rawhide.png b/tests/references/preferences-gnome-wayland-nested-rawhide.png index 41fe6e4..e5d2700 100755 Binary files a/tests/references/preferences-gnome-wayland-nested-rawhide.png and b/tests/references/preferences-gnome-wayland-nested-rawhide.png differ diff --git a/tests/references/preferences-gnome-xsession-32.png b/tests/references/preferences-gnome-xsession-32.png index bb3167a..ba5844b 100755 Binary files a/tests/references/preferences-gnome-xsession-32.png and b/tests/references/preferences-gnome-xsession-32.png differ diff --git a/tests/references/preferences-gnome-xsession-33.png b/tests/references/preferences-gnome-xsession-33.png index 63cca04..e22bddb 100755 Binary files a/tests/references/preferences-gnome-xsession-33.png and b/tests/references/preferences-gnome-xsession-33.png differ diff --git a/tests/references/preferences-gnome-xsession-34.png b/tests/references/preferences-gnome-xsession-34.png index 0ea03e0..0927d22 100755 Binary files a/tests/references/preferences-gnome-xsession-34.png and b/tests/references/preferences-gnome-xsession-34.png differ diff --git a/tests/references/preferences-gnome-xsession-35.png b/tests/references/preferences-gnome-xsession-35.png index 009bf75..6941054 100755 Binary files a/tests/references/preferences-gnome-xsession-35.png and b/tests/references/preferences-gnome-xsession-35.png differ diff --git a/tests/references/preferences-gnome-xsession-36.png b/tests/references/preferences-gnome-xsession-36.png index 48cfa93..9525c00 100755 Binary files a/tests/references/preferences-gnome-xsession-36.png and b/tests/references/preferences-gnome-xsession-36.png differ diff --git a/tests/references/preferences-gnome-xsession-37.png b/tests/references/preferences-gnome-xsession-37.png index be8a2a9..feebe9d 100644 Binary files a/tests/references/preferences-gnome-xsession-37.png and b/tests/references/preferences-gnome-xsession-37.png differ diff --git a/tests/references/preferences-gnome-xsession-38.png b/tests/references/preferences-gnome-xsession-38.png index 41d0352..5650f8d 100755 Binary files a/tests/references/preferences-gnome-xsession-38.png and b/tests/references/preferences-gnome-xsession-38.png differ diff --git a/tests/references/preferences-gnome-xsession-rawhide.png b/tests/references/preferences-gnome-xsession-rawhide.png index ff5e081..88211db 100755 Binary files a/tests/references/preferences-gnome-xsession-rawhide.png and b/tests/references/preferences-gnome-xsession-rawhide.png differ