move preferences dialog create into _createPreferencesDialog

This commit is contained in:
Philipp Unger
2022-04-07 00:35:37 +02:00
parent 721cd3218d
commit 7c1c1b306b

708
prefs.js
View File

@@ -481,18 +481,51 @@ const Preferences = class {
});
}
_showShowAppsButtonOptions() {
let dialog = new Gtk.Dialog({ title: _('Show Applications options'),
_createPreferencesDialog(title, content, reset_function = null) {
let dialog;
if (true) { // Config.PACKAGE_VERSION < '42') {
dialog = new Gtk.Dialog({ title: title,
transient_for: this.notebook.get_root(),
use_header_bar: true,
modal: true });
// GTK+ leaves positive values for application-defined response ids.
// Use +1 for the reset action
dialog.add_button(_('Reset to defaults'), 1);
// GTK+ leaves positive values for application-defined response ids.
// Use +1 for the reset action
if (reset_function != null)
dialog.add_button(_('Reset to defaults'), 1);
dialog.get_content_area().append(content);
dialog.connect('response', (dialog, id) => {
if (id == 1) {
// restore default settings
if (reset_function)
reset_function();
} else {
// remove the settings content so it doesn't get destroyed;
dialog.get_content_area().remove(content);
dialog.destroy();
}
return;
});
} else {
dialog = new Adw.PreferencesWindow({ title: title });
}
return dialog;
}
_showShowAppsButtonOptions() {
let box = this._builder.get_object('show_applications_options');
dialog.get_content_area().append(box);
let dialog = this._createPreferencesDialog(_('Show Applications options'), box, () =>
{
// restore default settings
this._settings.set_value('show-apps-icon-side-padding', this._settings.get_default_value('show-apps-icon-side-padding'));
this._builder.get_object('show_applications_side_padding_spinbutton').set_value(this._settings.get_int('show-apps-icon-side-padding'));
this._settings.set_value('show-apps-override-escape', this._settings.get_default_value('show-apps-override-escape'));
handleIconChange.call(this, null);
});
let fileChooserButton = this._builder.get_object('show_applications_icon_file_filebutton');
let fileChooser = new Gtk.FileChooserNative({ title: _('Open icon'), transient_for: dialog });
@@ -527,17 +560,9 @@ const Preferences = class {
fileChooser.connect('response', widget => handleIconChange.call(this, widget.get_file().get_path()));
handleIconChange.call(this, this._settings.get_string('show-apps-icon-file'));
// we have to destroy the fileChooser as well
dialog.connect('response', (dialog, id) => {
if (id == 1) {
// restore default settings
this._settings.set_value('show-apps-icon-side-padding', this._settings.get_default_value('show-apps-icon-side-padding'));
this._builder.get_object('show_applications_side_padding_spinbutton').set_value(this._settings.get_int('show-apps-icon-side-padding'));
this._settings.set_value('show-apps-override-escape', this._settings.get_default_value('show-apps-override-escape'));
handleIconChange.call(this, null);
} else {
// remove the settings box so it doesn't get destroyed;
dialog.get_content_area().remove(box);
dialog.destroy();
if (id != 1) {
fileChooser.destroy();
}
return;
@@ -548,17 +573,24 @@ const Preferences = class {
}
_showDesktopButtonOptions() {
let dialog = new Gtk.Dialog({ title: _('Show Desktop options'),
transient_for: this.notebook.get_root(),
use_header_bar: true,
modal: true });
// GTK+ leaves positive values for application-defined response ids.
// Use +1 for the reset action
dialog.add_button(_('Reset to defaults'), 1);
let box = this._builder.get_object('box_show_showdesktop_options');
dialog.get_content_area().append(box);
let dialog = this._createPreferencesDialog(_('Show Desktop options'), box, () =>
{
// restore default settings
this._settings.set_value('showdesktop-button-width', this._settings.get_default_value('showdesktop-button-width'));
this._builder.get_object('show_showdesktop_width_spinbutton').set_value(this._settings.get_int('showdesktop-button-width'));
this._settings.set_value('desktop-line-use-custom-color', this._settings.get_default_value('desktop-line-use-custom-color'));
this._settings.set_value('show-showdesktop-hover', this._settings.get_default_value('show-showdesktop-hover'));
this._settings.set_value('show-showdesktop-delay', this._settings.get_default_value('show-showdesktop-delay'));
this._builder.get_object('show_showdesktop_delay_spinbutton').set_value(this._settings.get_int('show-showdesktop-delay'));
this._settings.set_value('show-showdesktop-time', this._settings.get_default_value('show-showdesktop-time'));
this._builder.get_object('show_showdesktop_time_spinbutton').set_value(this._settings.get_int('show-showdesktop-time'));
});
this._builder.get_object('show_showdesktop_width_spinbutton').set_value(this._settings.get_int('showdesktop-button-width'));
this._builder.get_object('show_showdesktop_width_spinbutton').connect('value-changed', (widget) => {
@@ -575,27 +607,6 @@ const Preferences = class {
this._settings.set_int('show-showdesktop-time', widget.get_value());
});
dialog.connect('response', (dialog, id) => {
if (id == 1) {
// restore default settings
this._settings.set_value('showdesktop-button-width', this._settings.get_default_value('showdesktop-button-width'));
this._builder.get_object('show_showdesktop_width_spinbutton').set_value(this._settings.get_int('showdesktop-button-width'));
this._settings.set_value('show-showdesktop-hover', this._settings.get_default_value('show-showdesktop-hover'));
this._settings.set_value('show-showdesktop-delay', this._settings.get_default_value('show-showdesktop-delay'));
this._builder.get_object('show_showdesktop_delay_spinbutton').set_value(this._settings.get_int('show-showdesktop-delay'));
this._settings.set_value('show-showdesktop-time', this._settings.get_default_value('show-showdesktop-time'));
this._builder.get_object('show_showdesktop_time_spinbutton').set_value(this._settings.get_int('show-showdesktop-time'));
} else {
// remove the settings box so it doesn't get destroyed;
dialog.get_content_area().remove(box);
dialog.destroy();
}
return;
});
dialog.show();
dialog.set_default_size(1, 1);
}
@@ -767,18 +778,41 @@ const Preferences = class {
});
this._builder.get_object('dot_style_options_button').connect('clicked', () => {
let dialog = new Gtk.Dialog({ title: _('Running Indicator Options'),
transient_for: this.notebook.get_root(),
use_header_bar: true,
modal: true });
// GTK+ leaves positive values for application-defined response ids.
// Use +1 for the reset action
dialog.add_button(_('Reset to defaults'), 1);
let box = this._builder.get_object('box_dots_options');
dialog.get_content_area().append(box);
let dialog = this._createPreferencesDialog(_('Running Indicator Options'), box, () =>
{
// restore default settings
this._settings.set_value('dot-color-dominant', this._settings.get_default_value('dot-color-dominant'));
this._settings.set_value('dot-color-override', this._settings.get_default_value('dot-color-override'));
this._settings.set_value('dot-color-unfocused-different', this._settings.get_default_value('dot-color-unfocused-different'));
this._settings.set_value('focus-highlight-color', this._settings.get_default_value('focus-highlight-color'));
let rgba = new Gdk.RGBA();
rgba.parse(this._settings.get_string('focus-highlight-color'));
this._builder.get_object('focus_highlight_color_colorbutton').set_rgba(rgba);
this._settings.set_value('focus-highlight-opacity', this._settings.get_default_value('focus-highlight-opacity'));
this._builder.get_object('focus_highlight_opacity_spinbutton').set_value(this._settings.get_int('focus-highlight-opacity'));
for (let i = 1; i <= MAX_WINDOW_INDICATOR; i++) {
this._settings.set_value('dot-color-' + i, this._settings.get_default_value('dot-color-' + i));
rgba = new Gdk.RGBA();
rgba.parse(this._settings.get_string('dot-color-' + i));
this._builder.get_object('dot_color_' + i + '_colorbutton').set_rgba(rgba);
this._settings.set_value('dot-color-unfocused-' + i, this._settings.get_default_value('dot-color-unfocused-' + i));
rgba = new Gdk.RGBA();
rgba.parse(this._settings.get_string('dot-color-unfocused-' + i));
this._builder.get_object('dot_color_unfocused_' + i + '_colorbutton').set_rgba(rgba);
}
this._settings.set_value('dot-size', this._settings.get_default_value('dot-size'));
this._builder.get_object('dot_size_spinbutton').set_value(this._settings.get_int('dot-size'));
this._settings.set_value('focus-highlight', this._settings.get_default_value('focus-highlight'));
this._settings.set_value('focus-highlight-dominant', this._settings.get_default_value('focus-highlight-dominant'));
});
this._settings.bind('dot-color-dominant',
this._builder.get_object('dot_color_dominant_switch'),
@@ -870,47 +904,6 @@ const Preferences = class {
this._settings.set_int('dot-size', widget.get_value());
});
dialog.connect('response', (dialog, id) => {
if (id == 1) {
// restore default settings
this._settings.set_value('dot-color-dominant', this._settings.get_default_value('dot-color-dominant'));
this._settings.set_value('dot-color-override', this._settings.get_default_value('dot-color-override'));
this._settings.set_value('dot-color-unfocused-different', this._settings.get_default_value('dot-color-unfocused-different'));
this._settings.set_value('focus-highlight-color', this._settings.get_default_value('focus-highlight-color'));
let rgba = new Gdk.RGBA();
rgba.parse(this._settings.get_string('focus-highlight-color'));
this._builder.get_object('focus_highlight_color_colorbutton').set_rgba(rgba);
this._settings.set_value('focus-highlight-opacity', this._settings.get_default_value('focus-highlight-opacity'));
this._builder.get_object('focus_highlight_opacity_spinbutton').set_value(this._settings.get_int('focus-highlight-opacity'));
for (let i = 1; i <= MAX_WINDOW_INDICATOR; i++) {
this._settings.set_value('dot-color-' + i, this._settings.get_default_value('dot-color-' + i));
rgba = new Gdk.RGBA();
rgba.parse(this._settings.get_string('dot-color-' + i));
this._builder.get_object('dot_color_' + i + '_colorbutton').set_rgba(rgba);
this._settings.set_value('dot-color-unfocused-' + i, this._settings.get_default_value('dot-color-unfocused-' + i));
rgba = new Gdk.RGBA();
rgba.parse(this._settings.get_string('dot-color-unfocused-' + i));
this._builder.get_object('dot_color_unfocused_' + i + '_colorbutton').set_rgba(rgba);
}
this._settings.set_value('dot-size', this._settings.get_default_value('dot-size'));
this._builder.get_object('dot_size_spinbutton').set_value(this._settings.get_int('dot-size'));
this._settings.set_value('focus-highlight', this._settings.get_default_value('focus-highlight'));
this._settings.set_value('focus-highlight-dominant', this._settings.get_default_value('focus-highlight-dominant'));
} else {
// remove the settings box so it doesn't get destroyed;
dialog.get_content_area().remove(box);
dialog.destroy();
}
return;
});
dialog.show();
dialog.set_default_size(1, 1);
@@ -1114,20 +1107,10 @@ const Preferences = class {
});
this._builder.get_object('trans_dyn_options_button').connect('clicked', () => {
let dialog = new Gtk.Dialog({ title: _('Dynamic opacity options'),
transient_for: this.notebook.get_root(),
use_header_bar: true,
modal: true });
// GTK+ leaves positive values for application-defined response ids.
// Use +1 for the reset action
dialog.add_button(_('Reset to defaults'), 1);
let box = this._builder.get_object('box_dynamic_opacity_options');
dialog.get_content_area().append(box);
dialog.connect('response', (dialog, id) => {
if (id == 1) {
let dialog = this._createPreferencesDialog(_('Dynamic opacity options'), box, () =>
{
// restore default settings
this._settings.set_value('trans-dynamic-behavior', this._settings.get_default_value('trans-dynamic-behavior'));
@@ -1139,12 +1122,6 @@ const Preferences = class {
this._settings.set_value('trans-dynamic-anim-time', this._settings.get_default_value('trans-dynamic-anim-time'));
this._builder.get_object('trans_options_anim_time_spinbutton').set_value(this._settings.get_int('trans-dynamic-anim-time'));
} else {
// remove the settings box so it doesn't get destroyed;
dialog.get_content_area().remove(box);
dialog.destroy();
}
return;
});
dialog.show();
@@ -1258,49 +1235,33 @@ const Preferences = class {
});
this._builder.get_object('intellihide_options_button').connect('clicked', () => {
let dialog = new Gtk.Dialog({ title: _('Intellihide options'),
transient_for: this.notebook.get_root(),
use_header_bar: true,
modal: true });
// GTK+ leaves positive values for application-defined response ids.
// Use +1 for the reset action
dialog.add_button(_('Reset to defaults'), 1);
let box = this._builder.get_object('box_intellihide_options');
dialog.get_content_area().append(box);
dialog.connect('response', (dialog, id) => {
if (id == 1) {
// restore default settings
this._settings.set_value('intellihide-hide-from-windows', this._settings.get_default_value('intellihide-hide-from-windows'));
this._settings.set_value('intellihide-behaviour', this._settings.get_default_value('intellihide-behaviour'));
this._settings.set_value('intellihide-use-pressure', this._settings.get_default_value('intellihide-use-pressure'));
this._settings.set_value('intellihide-show-in-fullscreen', this._settings.get_default_value('intellihide-show-in-fullscreen'));
this._settings.set_value('intellihide-only-secondary', this._settings.get_default_value('intellihide-only-secondary'));
let dialog = this._createPreferencesDialog(_('Intellihide options'), box, () =>
{
// restore default settings
this._settings.set_value('intellihide-hide-from-windows', this._settings.get_default_value('intellihide-hide-from-windows'));
this._settings.set_value('intellihide-behaviour', this._settings.get_default_value('intellihide-behaviour'));
this._settings.set_value('intellihide-use-pressure', this._settings.get_default_value('intellihide-use-pressure'));
this._settings.set_value('intellihide-show-in-fullscreen', this._settings.get_default_value('intellihide-show-in-fullscreen'));
this._settings.set_value('intellihide-only-secondary', this._settings.get_default_value('intellihide-only-secondary'));
this._settings.set_value('intellihide-pressure-threshold', this._settings.get_default_value('intellihide-pressure-threshold'));
this._builder.get_object('intellihide_pressure_threshold_spinbutton').set_value(this._settings.get_int('intellihide-pressure-threshold'));
this._settings.set_value('intellihide-pressure-time', this._settings.get_default_value('intellihide-pressure-time'));
this._builder.get_object('intellihide_pressure_time_spinbutton').set_value(this._settings.get_int('intellihide-pressure-time'));
this._settings.set_value('intellihide-pressure-threshold', this._settings.get_default_value('intellihide-pressure-threshold'));
this._builder.get_object('intellihide_pressure_threshold_spinbutton').set_value(this._settings.get_int('intellihide-pressure-threshold'));
this._settings.set_value('intellihide-pressure-time', this._settings.get_default_value('intellihide-pressure-time'));
this._builder.get_object('intellihide_pressure_time_spinbutton').set_value(this._settings.get_int('intellihide-pressure-time'));
this._settings.set_value('intellihide-key-toggle-text', this._settings.get_default_value('intellihide-key-toggle-text'));
this._settings.set_value('intellihide-key-toggle-text', this._settings.get_default_value('intellihide-key-toggle-text'));
this._settings.set_value('intellihide-animation-time', this._settings.get_default_value('intellihide-animation-time'));
this._builder.get_object('intellihide_animation_time_spinbutton').set_value(this._settings.get_int('intellihide-animation-time'));
this._settings.set_value('intellihide-animation-time', this._settings.get_default_value('intellihide-animation-time'));
this._builder.get_object('intellihide_animation_time_spinbutton').set_value(this._settings.get_int('intellihide-animation-time'));
this._settings.set_value('intellihide-close-delay', this._settings.get_default_value('intellihide-close-delay'));
this._builder.get_object('intellihide_close_delay_spinbutton').set_value(this._settings.get_int('intellihide-close-delay'));
this._settings.set_value('intellihide-close-delay', this._settings.get_default_value('intellihide-close-delay'));
this._builder.get_object('intellihide_close_delay_spinbutton').set_value(this._settings.get_int('intellihide-close-delay'));
this._settings.set_value('intellihide-enable-start-delay', this._settings.get_default_value('intellihide-enable-start-delay'));
this._builder.get_object('intellihide_enable_start_delay_spinbutton').set_value(this._settings.get_int('intellihide-enable-start-delay'));
} else {
// remove the settings box so it doesn't get destroyed;
dialog.get_content_area().remove(box);
dialog.destroy();
}
return;
this._settings.set_value('intellihide-enable-start-delay', this._settings.get_default_value('intellihide-enable-start-delay'));
this._builder.get_object('intellihide_enable_start_delay_spinbutton').set_value(this._settings.get_int('intellihide-enable-start-delay'));
});
dialog.show();
@@ -1380,19 +1341,70 @@ const Preferences = class {
});
this._builder.get_object('show_window_previews_button').connect('clicked', () => {
let dialog = new Gtk.Dialog({ title: _('Window preview options'),
transient_for: this.notebook.get_root(),
use_header_bar: true,
modal: true });
// GTK+ leaves positive values for application-defined response ids.
// Use +1 for the reset action
dialog.add_button(_('Reset to defaults'), 1);
let scrolledWindow = this._builder.get_object('box_window_preview_options');
dialog.get_content_area().append(scrolledWindow);
let dialog = this._createPreferencesDialog(_('Window preview options'), scrolledWindow, () =>
{
// restore default settings
this._settings.set_value('show-window-previews-timeout', this._settings.get_default_value('show-window-previews-timeout'));
this._builder.get_object('preview_timeout_spinbutton').set_value(this._settings.get_int('show-window-previews-timeout'));
this._settings.set_value('leave-timeout', this._settings.get_default_value('leave-timeout'));
this._builder.get_object('leave_timeout_spinbutton').set_value(this._settings.get_int('leave-timeout'));
this._settings.set_value('window-preview-hide-immediate-click', this._settings.get_default_value('window-preview-hide-immediate-click'));
this._settings.set_value('window-preview-animation-time', this._settings.get_default_value('window-preview-animation-time'));
this._builder.get_object('animation_time_spinbutton').set_value(this._settings.get_int('window-preview-animation-time'));
this._settings.set_value('preview-use-custom-opacity', this._settings.get_default_value('preview-use-custom-opacity'));
this._settings.set_value('window-preview-use-custom-icon-size', this._settings.get_default_value('window-preview-use-custom-icon-size'));
this._settings.set_value('preview-custom-opacity', this._settings.get_default_value('preview-custom-opacity'));
this._builder.get_object('preview_custom_opacity_spinbutton').set_value(this._settings.get_int('preview-custom-opacity'));
this._settings.set_value('window-preview-title-position', this._settings.get_default_value('window-preview-title-position'));
this._setPreviewTitlePosition();
this._settings.set_value('peek-mode', this._settings.get_default_value('peek-mode'));
this._settings.set_value('window-preview-show-title', this._settings.get_default_value('window-preview-show-title'));
this._settings.set_value('enter-peek-mode-timeout', this._settings.get_default_value('enter-peek-mode-timeout'));
this._builder.get_object('enter_peek_mode_timeout_spinbutton').set_value(this._settings.get_int('enter-peek-mode-timeout'));
this._settings.set_value('peek-mode-opacity', this._settings.get_default_value('peek-mode-opacity'));
this._builder.get_object('peek_mode_opacity_spinbutton').set_value(this._settings.get_int('peek-mode-opacity'));
this._settings.set_value('window-preview-size', this._settings.get_default_value('window-preview-size'));
this._builder.get_object('preview_size_spinbutton').set_value(this._settings.get_int('window-preview-size'));
this._settings.set_value('window-preview-fixed-x', this._settings.get_default_value('window-preview-fixed-x'));
this._settings.set_value('window-preview-fixed-y', this._settings.get_default_value('window-preview-fixed-y'));
this._settings.set_value('window-preview-aspect-ratio-x', this._settings.get_default_value('window-preview-aspect-ratio-x'));
this._builder.get_object('preview_aspect_ratio_x_combo').set_active_id(this._settings.get_int('window-preview-aspect-ratio-x').toString());
this._settings.set_value('window-preview-aspect-ratio-y', this._settings.get_default_value('window-preview-aspect-ratio-y'));
this._builder.get_object('preview_aspect_ratio_y_combo').set_active_id(this._settings.get_int('window-preview-aspect-ratio-y').toString());
this._settings.set_value('window-preview-padding', this._settings.get_default_value('window-preview-padding'));
this._builder.get_object('preview_padding_spinbutton').set_value(this._settings.get_int('window-preview-padding'));
this._settings.set_value('preview-middle-click-close', this._settings.get_default_value('preview-middle-click-close'));
this._settings.set_value('window-preview-title-font-size', this._settings.get_default_value('window-preview-title-font-size'));
this._builder.get_object('preview_title_size_spinbutton').set_value(this._settings.get_int('window-preview-title-font-size'));
this._settings.set_value('window-preview-custom-icon-size', this._settings.get_default_value('window-preview-custom-icon-size'));
this._builder.get_object('preview_custom_icon_size_spinbutton').set_value(this._settings.get_int('window-preview-custom-icon-size'));
this._settings.set_value('window-preview-title-font-weight', this._settings.get_default_value('window-preview-title-font-weight'));
this._builder.get_object('grid_preview_title_weight_combo').set_active_id(this._settings.get_string('window-preview-title-font-weight'));
this._settings.set_value('window-preview-title-font-color', this._settings.get_default_value('window-preview-title-font-color'));
let rgba = new Gdk.RGBA();
rgba.parse(this._settings.get_string('window-preview-title-font-color'));
this._builder.get_object('grid_preview_title_font_color_colorbutton').set_rgba(rgba);
});
this._builder.get_object('preview_timeout_spinbutton').set_value(this._settings.get_int('show-window-previews-timeout'));
this._builder.get_object('preview_timeout_spinbutton').connect('value-changed', (widget) => {
@@ -1536,76 +1548,6 @@ const Preferences = class {
this._builder.get_object('grid_preview_title_font_color_colorbutton').set_rgba(rgba);
}).apply(this);
dialog.connect('response', (dialog, id) => {
if (id == 1) {
// restore default settings
this._settings.set_value('show-window-previews-timeout', this._settings.get_default_value('show-window-previews-timeout'));
this._builder.get_object('preview_timeout_spinbutton').set_value(this._settings.get_int('show-window-previews-timeout'));
this._settings.set_value('leave-timeout', this._settings.get_default_value('leave-timeout'));
this._builder.get_object('leave_timeout_spinbutton').set_value(this._settings.get_int('leave-timeout'));
this._settings.set_value('window-preview-hide-immediate-click', this._settings.get_default_value('window-preview-hide-immediate-click'));
this._settings.set_value('window-preview-animation-time', this._settings.get_default_value('window-preview-animation-time'));
this._builder.get_object('animation_time_spinbutton').set_value(this._settings.get_int('window-preview-animation-time'));
this._settings.set_value('preview-use-custom-opacity', this._settings.get_default_value('preview-use-custom-opacity'));
this._settings.set_value('window-preview-use-custom-icon-size', this._settings.get_default_value('window-preview-use-custom-icon-size'));
this._settings.set_value('preview-custom-opacity', this._settings.get_default_value('preview-custom-opacity'));
this._builder.get_object('preview_custom_opacity_spinbutton').set_value(this._settings.get_int('preview-custom-opacity'));
this._settings.set_value('window-preview-title-position', this._settings.get_default_value('window-preview-title-position'));
this._setPreviewTitlePosition();
this._settings.set_value('peek-mode', this._settings.get_default_value('peek-mode'));
this._settings.set_value('window-preview-show-title', this._settings.get_default_value('window-preview-show-title'));
this._settings.set_value('enter-peek-mode-timeout', this._settings.get_default_value('enter-peek-mode-timeout'));
this._builder.get_object('enter_peek_mode_timeout_spinbutton').set_value(this._settings.get_int('enter-peek-mode-timeout'));
this._settings.set_value('peek-mode-opacity', this._settings.get_default_value('peek-mode-opacity'));
this._builder.get_object('peek_mode_opacity_spinbutton').set_value(this._settings.get_int('peek-mode-opacity'));
this._settings.set_value('window-preview-size', this._settings.get_default_value('window-preview-size'));
this._builder.get_object('preview_size_spinbutton').set_value(this._settings.get_int('window-preview-size'));
this._settings.set_value('window-preview-fixed-x', this._settings.get_default_value('window-preview-fixed-x'));
this._settings.set_value('window-preview-fixed-y', this._settings.get_default_value('window-preview-fixed-y'));
this._settings.set_value('window-preview-aspect-ratio-x', this._settings.get_default_value('window-preview-aspect-ratio-x'));
this._builder.get_object('preview_aspect_ratio_x_combo').set_active_id(this._settings.get_int('window-preview-aspect-ratio-x').toString());
this._settings.set_value('window-preview-aspect-ratio-y', this._settings.get_default_value('window-preview-aspect-ratio-y'));
this._builder.get_object('preview_aspect_ratio_y_combo').set_active_id(this._settings.get_int('window-preview-aspect-ratio-y').toString());
this._settings.set_value('window-preview-padding', this._settings.get_default_value('window-preview-padding'));
this._builder.get_object('preview_padding_spinbutton').set_value(this._settings.get_int('window-preview-padding'));
this._settings.set_value('preview-middle-click-close', this._settings.get_default_value('preview-middle-click-close'));
this._settings.set_value('window-preview-title-font-size', this._settings.get_default_value('window-preview-title-font-size'));
this._builder.get_object('preview_title_size_spinbutton').set_value(this._settings.get_int('window-preview-title-font-size'));
this._settings.set_value('window-preview-custom-icon-size', this._settings.get_default_value('window-preview-custom-icon-size'));
this._builder.get_object('preview_custom_icon_size_spinbutton').set_value(this._settings.get_int('window-preview-custom-icon-size'));
this._settings.set_value('window-preview-title-font-weight', this._settings.get_default_value('window-preview-title-font-weight'));
this._builder.get_object('grid_preview_title_weight_combo').set_active_id(this._settings.get_string('window-preview-title-font-weight'));
this._settings.set_value('window-preview-title-font-color', this._settings.get_default_value('window-preview-title-font-color'));
let rgba = new Gdk.RGBA();
rgba.parse(this._settings.get_string('window-preview-title-font-color'));
this._builder.get_object('grid_preview_title_font_color_colorbutton').set_rgba(rgba);
} else {
// remove the settings box so it doesn't get destroyed;
dialog.get_content_area().remove(scrolledWindow);
dialog.destroy();
}
return;
});
dialog.show();
});
@@ -1675,17 +1617,34 @@ const Preferences = class {
Gio.SettingsBindFlags.DEFAULT);
this._builder.get_object('show_group_apps_options_button').connect('clicked', () => {
let dialog = new Gtk.Dialog({ title: _('Ungrouped application options'),
transient_for: this.notebook.get_root(),
use_header_bar: true,
modal: true });
// GTK+ leaves positive values for application-defined response ids.
// Use +1 for the reset action
dialog.add_button(_('Reset to defaults'), 1);
let box = this._builder.get_object('box_group_apps_options');
dialog.get_content_area().append(box);
let dialog = this._createPreferencesDialog(_('Ungrouped application options'), box, () =>
{
// restore default settings
this._settings.set_value('group-apps-label-font-size', this._settings.get_default_value('group-apps-label-font-size'));
this._builder.get_object('group_apps_label_font_size_spinbutton').set_value(this._settings.get_int('group-apps-label-font-size'));
this._settings.set_value('group-apps-label-font-weight', this._settings.get_default_value('group-apps-label-font-weight'));
this._builder.get_object('group_apps_label_font_weight_combo').set_active_id(this._settings.get_string('group-apps-label-font-weight'));
this._settings.set_value('group-apps-label-font-color', this._settings.get_default_value('group-apps-label-font-color'));
let rgba = new Gdk.RGBA();
rgba.parse(this._settings.get_string('group-apps-label-font-color'));
this._builder.get_object('group_apps_label_font_color_colorbutton').set_rgba(rgba);
this._settings.set_value('group-apps-label-font-color-minimized', this._settings.get_default_value('group-apps-label-font-color-minimized'));
let minimizedFontColor = new Gdk.RGBA();
minimizedFontColor.parse(this._settings.get_string('group-apps-label-font-color-minimized'));
this._builder.get_object('group_apps_label_font_color_minimized_colorbutton').set_rgba(minimizedFontColor);
this._settings.set_value('group-apps-label-max-width', this._settings.get_default_value('group-apps-label-max-width'));
this._builder.get_object('group_apps_label_max_width_spinbutton').set_value(this._settings.get_int('group-apps-label-max-width'));
this._settings.set_value('group-apps-use-fixed-width', this._settings.get_default_value('group-apps-use-fixed-width'));
this._settings.set_value('group-apps-underline-unfocused', this._settings.get_default_value('group-apps-underline-unfocused'));
this._settings.set_value('group-apps-use-launchers', this._settings.get_default_value('group-apps-use-launchers'));
});
this._builder.get_object('group_apps_label_font_size_spinbutton').set_value(this._settings.get_int('group-apps-label-font-size'));
this._builder.get_object('group_apps_label_font_size_spinbutton').connect('value-changed', (widget) => {
@@ -1714,39 +1673,6 @@ const Preferences = class {
this._settings.set_int('group-apps-label-max-width', widget.get_value());
});
dialog.connect('response', (dialog, id) => {
if (id == 1) {
// restore default settings
this._settings.set_value('group-apps-label-font-size', this._settings.get_default_value('group-apps-label-font-size'));
this._builder.get_object('group_apps_label_font_size_spinbutton').set_value(this._settings.get_int('group-apps-label-font-size'));
this._settings.set_value('group-apps-label-font-weight', this._settings.get_default_value('group-apps-label-font-weight'));
this._builder.get_object('group_apps_label_font_weight_combo').set_active_id(this._settings.get_string('group-apps-label-font-weight'));
this._settings.set_value('group-apps-label-font-color', this._settings.get_default_value('group-apps-label-font-color'));
let rgba = new Gdk.RGBA();
rgba.parse(this._settings.get_string('group-apps-label-font-color'));
this._builder.get_object('group_apps_label_font_color_colorbutton').set_rgba(rgba);
this._settings.set_value('group-apps-label-font-color-minimized', this._settings.get_default_value('group-apps-label-font-color-minimized'));
let minimizedFontColor = new Gdk.RGBA();
minimizedFontColor.parse(this._settings.get_string('group-apps-label-font-color-minimized'));
this._builder.get_object('group_apps_label_font_color_minimized_colorbutton').set_rgba(minimizedFontColor);
this._settings.set_value('group-apps-label-max-width', this._settings.get_default_value('group-apps-label-max-width'));
this._builder.get_object('group_apps_label_max_width_spinbutton').set_value(this._settings.get_int('group-apps-label-max-width'));
this._settings.set_value('group-apps-use-fixed-width', this._settings.get_default_value('group-apps-use-fixed-width'));
this._settings.set_value('group-apps-underline-unfocused', this._settings.get_default_value('group-apps-underline-unfocused'));
this._settings.set_value('group-apps-use-launchers', this._settings.get_default_value('group-apps-use-launchers'));
} else {
// remove the settings box so it doesn't get destroyed;
dialog.get_content_area().remove(box);
dialog.destroy();
}
return;
});
dialog.show();
dialog.set_default_size(600, 1);
@@ -1770,18 +1696,19 @@ const Preferences = class {
// Create dialog for middle-click options
this._builder.get_object('middle_click_options_button').connect('clicked', () => {
let dialog = new Gtk.Dialog({ title: _('Customize middle-click behavior'),
transient_for: this.notebook.get_root(),
use_header_bar: true,
modal: true });
// GTK+ leaves positive values for application-defined response ids.
// Use +1 for the reset action
dialog.add_button(_('Reset to defaults'), 1);
let box = this._builder.get_object('box_middle_click_options');
dialog.get_content_area().append(box);
let dialog = this._createPreferencesDialog(_('Customize middle-click behavior'), box, () =>
{
// restore default settings for the relevant keys
let keys = ['shift-click-action', 'middle-click-action', 'shift-middle-click-action'];
keys.forEach(function(val) {
this._settings.set_value(val, this._settings.get_default_value(val));
}, this);
this._builder.get_object('shift_click_action_combo').set_active_id(this._settings.get_string('shift-click-action'));
this._builder.get_object('middle_click_action_combo').set_active_id(this._settings.get_string('middle-click-action'));
this._builder.get_object('shift_middle_click_action_combo').set_active_id(this._settings.get_string('shift-middle-click-action'));
});
this._builder.get_object('shift_click_action_combo').set_active_id(this._settings.get_string('shift-click-action'));
@@ -1802,24 +1729,6 @@ const Preferences = class {
'active-id',
Gio.SettingsBindFlags.DEFAULT);
dialog.connect('response', (dialog, id) => {
if (id == 1) {
// restore default settings for the relevant keys
let keys = ['shift-click-action', 'middle-click-action', 'shift-middle-click-action'];
keys.forEach(function(val) {
this._settings.set_value(val, this._settings.get_default_value(val));
}, this);
this._builder.get_object('shift_click_action_combo').set_active_id(this._settings.get_string('shift-click-action'));
this._builder.get_object('middle_click_action_combo').set_active_id(this._settings.get_string('middle-click-action'));
this._builder.get_object('shift_middle_click_action_combo').set_active_id(this._settings.get_string('shift-middle-click-action'));
} else {
// remove the settings box so it doesn't get destroyed;
dialog.get_content_area().remove(box);
dialog.destroy();
}
return;
});
dialog.show();
dialog.set_default_size(700, 1);
@@ -1837,17 +1746,16 @@ const Preferences = class {
// Create dialog for panel scroll options
this._builder.get_object('scroll_panel_options_button').connect('clicked', () => {
let dialog = new Gtk.Dialog({ title: _('Customize panel scroll behavior'),
transient_for: this.notebook.get_root(),
use_header_bar: true,
modal: true });
// GTK+ leaves positive values for application-defined response ids.
// Use +1 for the reset action
dialog.add_button(_('Reset to defaults'), 1);
let box = this._builder.get_object('scroll_panel_options_box');
dialog.get_content_area().append(box);
let dialog = this._createPreferencesDialog(_('Customize panel scroll behavior'), box, () =>
{
// restore default settings
this._settings.set_value('scroll-panel-delay', this._settings.get_default_value('scroll-panel-delay'));
this._builder.get_object('scroll_panel_options_delay_spinbutton').set_value(this._settings.get_int('scroll-panel-delay'));
this._settings.set_value('scroll-panel-show-ws-popup', this._settings.get_default_value('scroll-panel-show-ws-popup'));
});
this._builder.get_object('scroll_panel_options_delay_spinbutton').set_value(this._settings.get_int('scroll-panel-delay'));
this._builder.get_object('scroll_panel_options_delay_spinbutton').connect('value-changed', (widget) => {
@@ -1859,21 +1767,6 @@ const Preferences = class {
'active',
Gio.SettingsBindFlags.DEFAULT);
dialog.connect('response', (dialog, id) => {
if (id == 1) {
// restore default settings
this._settings.set_value('scroll-panel-delay', this._settings.get_default_value('scroll-panel-delay'));
this._builder.get_object('scroll_panel_options_delay_spinbutton').set_value(this._settings.get_int('scroll-panel-delay'));
this._settings.set_value('scroll-panel-show-ws-popup', this._settings.get_default_value('scroll-panel-show-ws-popup'));
} else {
// remove the settings box so it doesn't get destroyed;
dialog.get_content_area().remove(box);
dialog.destroy();
}
return;
});
dialog.show();
dialog.set_default_size(640, 1);
@@ -1881,36 +1774,20 @@ const Preferences = class {
// Create dialog for icon scroll options
this._builder.get_object('scroll_icon_options_button').connect('clicked', () => {
let dialog = new Gtk.Dialog({ title: _('Customize icon scroll behavior'),
transient_for: this.notebook.get_root(),
use_header_bar: true,
modal: true });
// GTK+ leaves positive values for application-defined response ids.
// Use +1 for the reset action
dialog.add_button(_('Reset to defaults'), 1);
let box = this._builder.get_object('scroll_icon_options_box');
dialog.get_content_area().append(box);
let dialog = this._createPreferencesDialog(_('Customize icon scroll behavior'), box, () =>
{
// restore default settings
this._settings.set_value('scroll-icon-delay', this._settings.get_default_value('scroll-icon-delay'));
this._builder.get_object('scroll_icon_options_delay_spinbutton').set_value(this._settings.get_int('scroll-icon-delay'));
});
this._builder.get_object('scroll_icon_options_delay_spinbutton').set_value(this._settings.get_int('scroll-icon-delay'));
this._builder.get_object('scroll_icon_options_delay_spinbutton').connect('value-changed', (widget) => {
this._settings.set_int('scroll-icon-delay', widget.get_value());
});
dialog.connect('response', (dialog, id) => {
if (id == 1) {
// restore default settings
this._settings.set_value('scroll-icon-delay', this._settings.get_default_value('scroll-icon-delay'));
this._builder.get_object('scroll_icon_options_delay_spinbutton').set_value(this._settings.get_int('scroll-icon-delay'));
} else {
// remove the settings box so it doesn't get destroyed;
dialog.get_content_area().remove(box);
dialog.destroy();
}
return;
});
dialog.show();
dialog.set_default_size(640, 1);
@@ -1978,32 +1855,15 @@ const Preferences = class {
// Create dialog for number overlay options
this._builder.get_object('overlay_button').connect('clicked', () => {
let dialog = new Gtk.Dialog({ title: _('Advanced hotkeys options'),
transient_for: this.notebook.get_root(),
use_header_bar: true,
modal: true });
// GTK+ leaves positive values for application-defined response ids.
// Use +1 for the reset action
dialog.add_button(_('Reset to defaults'), 1);
let box = this._builder.get_object('box_overlay_shortcut');
dialog.get_content_area().append(box);
dialog.connect('response', (dialog, id) => {
if (id == 1) {
// restore default settings for the relevant keys
let keys = ['hotkey-prefix-text', 'shortcut-text', 'hotkeys-overlay-combo', 'overlay-timeout', 'shortcut-previews'];
keys.forEach(function(val) {
this._settings.set_value(val, this._settings.get_default_value(val));
}, this);
} else {
// remove the settings box so it doesn't get destroyed;
dialog.get_content_area().remove(box);
dialog.destroy();
}
return;
let dialog = this._createPreferencesDialog(_('Advanced hotkeys options'), box, () =>
{
// restore default settings for the relevant keys
let keys = ['hotkey-prefix-text', 'shortcut-text', 'hotkeys-overlay-combo', 'overlay-timeout', 'shortcut-previews'];
keys.forEach(function(val) {
this._settings.set_value(val, this._settings.get_default_value(val));
}, this);
});
dialog.show();
@@ -2013,18 +1873,14 @@ const Preferences = class {
// setup dialog for secondary menu options
this._builder.get_object('secondarymenu_options_button').connect('clicked', () => {
let dialog = new Gtk.Dialog({ title: _('Secondary Menu Options'),
transient_for: this.notebook.get_root(),
use_header_bar: true,
modal: true });
// GTK+ leaves positive values for application-defined response ids.
// Use +1 for the reset action
dialog.add_button(_('Reset to defaults'), 1);
let box = this._builder.get_object('box_secondarymenu_options');
dialog.get_content_area().append(box);
let dialog = this._createPreferencesDialog(_('Secondary Menu Options'), box, () =>
{
// restore default settings
this._settings.set_value('secondarymenu-contains-appmenu', this._settings.get_default_value('secondarymenu-contains-appmenu'));
this._settings.set_value('secondarymenu-contains-showdetails', this._settings.get_default_value('secondarymenu-contains-showdetails'));
});
this._settings.bind('secondarymenu-contains-appmenu',
this._builder.get_object('secondarymenu_appmenu_switch'),
@@ -2036,19 +1892,6 @@ const Preferences = class {
'active',
Gio.SettingsBindFlags.DEFAULT);
dialog.connect('response', (dialog, id) => {
if (id == 1) {
// restore default settings
this._settings.set_value('secondarymenu-contains-appmenu', this._settings.get_default_value('secondarymenu-contains-appmenu'));
this._settings.set_value('secondarymenu-contains-showdetails', this._settings.get_default_value('secondarymenu-contains-showdetails'));
} else {
// remove the settings box so it doesn't get destroyed;
dialog.get_content_area().remove(box);
dialog.destroy();
}
return;
});
dialog.show();
dialog.set_default_size(480, 1);
@@ -2056,30 +1899,10 @@ const Preferences = class {
// setup dialog for advanced options
this._builder.get_object('button_advanced_options').connect('clicked', () => {
let dialog = new Gtk.Dialog({ title: _('Advanced Options'),
transient_for: this.notebook.get_root(),
use_header_bar: true,
modal: true });
// GTK+ leaves positive values for application-defined response ids.
// Use +1 for the reset action
dialog.add_button(_('Reset to defaults'), 1);
print("nj");
let box = this._builder.get_object('box_advanced_options');
dialog.get_content_area().append(box);
dialog.connect('response', (dialog, id) => {
if (id == 1) {
// restore default settings
} else {
// remove the settings box so it doesn't get destroyed;
dialog.get_content_area().remove(box);
dialog.destroy();
}
return;
});
let dialog = this._createPreferencesDialog(_('Advanced Options'), box);
dialog.show();
dialog.set_default_size(480, 1);
@@ -2193,34 +2016,19 @@ const Preferences = class {
}
this._builder.get_object('animate_appicon_hover_button').connect('clicked', () => {
let dialog = new Gtk.Dialog({ title: _('App icon animation options'),
transient_for: this.notebook.get_root(),
use_header_bar: true,
modal: true });
// GTK+ leaves positive values for application-defined response ids.
// Use +1 for the reset action
dialog.add_button(_('Reset to defaults'), 1);
print("BB");
let box = this._builder.get_object('animate_appicon_hover_options');
dialog.get_content_area().append(box);
dialog.connect('response', (dialog, id) => {
if (id == 1) {
// restore default settings
this._settings.set_value('animate-appicon-hover-animation-type', this._settings.get_default_value('animate-appicon-hover-animation-type'));
this._settings.set_value('animate-appicon-hover-animation-duration', this._settings.get_default_value('animate-appicon-hover-animation-duration'));
this._settings.set_value('animate-appicon-hover-animation-rotation', this._settings.get_default_value('animate-appicon-hover-animation-rotation'));
this._settings.set_value('animate-appicon-hover-animation-travel', this._settings.get_default_value('animate-appicon-hover-animation-travel'));
this._settings.set_value('animate-appicon-hover-animation-zoom', this._settings.get_default_value('animate-appicon-hover-animation-zoom'));
this._settings.set_value('animate-appicon-hover-animation-convexity', this._settings.get_default_value('animate-appicon-hover-animation-convexity'));
this._settings.set_value('animate-appicon-hover-animation-extent', this._settings.get_default_value('animate-appicon-hover-animation-extent'));
} else {
// remove the settings box so it doesn't get destroyed;
dialog.get_content_area().remove(box);
dialog.destroy();
}
return;
let dialog = this._createPreferencesDialog(_('App icon animation options'), box, () =>
{
// restore default settings
this._settings.set_value('animate-appicon-hover-animation-type', this._settings.get_default_value('animate-appicon-hover-animation-type'));
this._settings.set_value('animate-appicon-hover-animation-duration', this._settings.get_default_value('animate-appicon-hover-animation-duration'));
this._settings.set_value('animate-appicon-hover-animation-rotation', this._settings.get_default_value('animate-appicon-hover-animation-rotation'));
this._settings.set_value('animate-appicon-hover-animation-travel', this._settings.get_default_value('animate-appicon-hover-animation-travel'));
this._settings.set_value('animate-appicon-hover-animation-zoom', this._settings.get_default_value('animate-appicon-hover-animation-zoom'));
this._settings.set_value('animate-appicon-hover-animation-convexity', this._settings.get_default_value('animate-appicon-hover-animation-convexity'));
this._settings.set_value('animate-appicon-hover-animation-extent', this._settings.get_default_value('animate-appicon-hover-animation-extent'));
});
dialog.show();