clean up settings size calculation

This commit is contained in:
jderose9
2017-05-12 17:16:57 -04:00
parent 4586e15819
commit 8d0205aa43
2 changed files with 1801 additions and 1811 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -139,9 +139,12 @@ const Settings = new Lang.Class({
this._builder.set_translation_domain(Me.metadata['gettext-domain']);
this._builder.add_from_file(Me.path + '/Settings.ui');
this.widget = this._builder.get_object('settings_scrolled_window');
this.viewport = this._builder.get_object('settings_viewport');
this.notebook = this._builder.get_object('settings_notebook');
this.viewport = new Gtk.Viewport();
this.viewport.add(this.notebook);
this.widget = new Gtk.ScrolledWindow();
this.widget.add(this.viewport);
// Timeout to delay the update of the settings
this._panel_size_timeout = 0;
@@ -890,12 +893,12 @@ function buildPrefsWidget() {
// I'd like the scrolled window to default to a size large enough to show all without scrolling, if it fits on the screen
// But, it doesn't seem possible, so I'm setting a minimum size if there seems to be enough screen real estate
widget.show_all();
let viewport = settings.viewport;
let viewportSize = viewport.size_request();
let screenHeight = widget.has_screen() ? widget.get_screen().get_height() : 0;
let screenHeight = widget.get_screen().get_height();
if(viewportSize.height < (screenHeight - (screenHeight * .2)))
widget.set_size_request(viewportSize.width, viewportSize.height + (viewportSize.height * .05));
widget.show_all();
widget.set_size_request(viewportSize.width, viewportSize.height + (viewportSize.height * .05));
return widget;
}