49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
|
import Adw from 'gi://Adw';
|
||
|
import GLib from 'gi://GLib';
|
||
|
import GObject from 'gi://GObject';
|
||
|
import Gio from 'gi://Gio';
|
||
|
|
||
|
import { CustomizeRow } from './customize_row.js';
|
||
|
|
||
|
|
||
|
export const General = GObject.registerClass({
|
||
|
GTypeName: 'General',
|
||
|
Template: GLib.uri_resolve_relative(import.meta.url, '../ui/general.ui', GLib.UriFlags.NONE),
|
||
|
InternalChildren: [
|
||
|
'sigma',
|
||
|
'brightness',
|
||
|
'color',
|
||
|
'color_row',
|
||
|
'noise_amount',
|
||
|
'noise_amount_row',
|
||
|
'noise_lightness',
|
||
|
'noise_lightness_row',
|
||
|
'color_and_noise',
|
||
|
'hack_level',
|
||
|
'debug',
|
||
|
'reset'
|
||
|
],
|
||
|
}, class General extends Adw.PreferencesPage {
|
||
|
constructor(preferences) {
|
||
|
super({});
|
||
|
|
||
|
this.preferences = preferences;
|
||
|
|
||
|
CustomizeRow.prototype.connect_to.call(this, preferences, preferences);
|
||
|
|
||
|
this.preferences.settings.bind(
|
||
|
'color-and-noise', this._color_and_noise, 'active',
|
||
|
Gio.SettingsBindFlags.DEFAULT
|
||
|
);
|
||
|
this.preferences.settings.bind(
|
||
|
'hacks-level', this._hack_level, 'selected',
|
||
|
Gio.SettingsBindFlags.DEFAULT
|
||
|
);
|
||
|
this.preferences.settings.bind(
|
||
|
'debug', this._debug, 'active',
|
||
|
Gio.SettingsBindFlags.DEFAULT
|
||
|
);
|
||
|
|
||
|
this._reset.connect('clicked', _ => this.preferences.reset());
|
||
|
}
|
||
|
});
|