Merge pull request #15 from ba32107/improvement/settings_panel

Improve settings panel experience
This commit is contained in:
Fmstrat
2020-01-06 10:29:22 -05:00
committed by GitHub

View File

@@ -78,21 +78,6 @@ function buildPrefsWidget() {
layout.attach(colsLabel, 0, row, 1, 1);
layout.attach(colsInput, 1, row++, 1, 1);
// Maximize setting
let doubleWidthLabel = new Gtk.Label({
label: _("Use double width previews on sides in 4 column mode"),
visible: true,
hexpand: true,
halign: Gtk.Align.START
});
let doubleWidthInput = new Gtk.Switch({
active: this.settings.get_boolean ('double-width'),
halign: Gtk.Align.END,
visible: true
});
layout.attach(doubleWidthLabel, 0, row, 1, 1);
layout.attach(doubleWidthInput, 1, row++, 1, 1);
// Maximize setting
let maximizeLabel = new Gtk.Label({
label: _("Use true maximizing of windows"),
@@ -108,21 +93,37 @@ function buildPrefsWidget() {
layout.attach(maximizeLabel, 0, row, 1, 1);
layout.attach(maximizeInput, 1, row++, 1, 1);
// Preview setting
// Preview settings
let previewEnabled = this.settings.get_boolean ('preview');
let previewLabel = new Gtk.Label({
label: _("Turn on mouse dragging support"),
label: _("Enable preview while dragging windows"),
visible: true,
hexpand: true,
halign: Gtk.Align.START
});
let previewInput = new Gtk.Switch({
active: this.settings.get_boolean ('preview'),
active: previewEnabled,
halign: Gtk.Align.END,
visible: true
});
layout.attach(previewLabel, 0, row, 1, 1);
layout.attach(previewInput, 1, row++, 1, 1);
// Double width previews
let doubleWidthLabel = new Gtk.Label({
label: _(" Use double width previews on sides in 4 column mode"),
visible: true,
hexpand: true,
halign: Gtk.Align.START
});
let doubleWidthInput = new Gtk.Switch({
active: this.settings.get_boolean ('double-width'),
halign: Gtk.Align.END,
visible: true
});
layout.attach(doubleWidthLabel, 0, row, 1, 1);
layout.attach(doubleWidthInput, 1, row++, 1, 1);
// Debug setting
let debugLabel = new Gtk.Label({
label: _("Turn on debugging"),
@@ -144,6 +145,16 @@ function buildPrefsWidget() {
this.settings.bind('preview', previewInput, 'active', Gio.SettingsBindFlags.DEFAULT);
this.settings.bind('debug', debugInput, 'active', Gio.SettingsBindFlags.DEFAULT);
let setDoubleWidthWidgetsEnabled = function(enabled) {
doubleWidthLabel.set_sensitive(enabled);
doubleWidthInput.set_sensitive(enabled);
};
setDoubleWidthWidgetsEnabled(previewEnabled);
previewInput.connect('state-set', function(widget, state) {
setDoubleWidthWidgetsEnabled(state);
});
// Return our widget which will be added to the window
return layout;
}
}