Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(360)

Side by Side Diff: chrome/browser/resources/options/chromeos/display_options.js

Issue 21629002: Supports changing resolutions from options UI page. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/ui/webui/options/chromeos/display_options_handler.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 cr.define('options', function() { 5 cr.define('options', function() {
6 var OptionsPage = options.OptionsPage; 6 var OptionsPage = options.OptionsPage;
7 7
8 // The scale ratio of the display rectangle to its original size. 8 // The scale ratio of the display rectangle to its original size.
9 /** @const */ var VISUAL_SCALE = 1 / 10; 9 /** @const */ var VISUAL_SCALE = 1 / 10;
10 10
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 var container = $('display-options-displays-view-host'); 163 var container = $('display-options-displays-view-host');
164 container.onmousemove = this.onMouseMove_.bind(this); 164 container.onmousemove = this.onMouseMove_.bind(this);
165 window.addEventListener('mouseup', this.endDragging_.bind(this), true); 165 window.addEventListener('mouseup', this.endDragging_.bind(this), true);
166 container.ontouchmove = this.onTouchMove_.bind(this); 166 container.ontouchmove = this.onTouchMove_.bind(this);
167 container.ontouchend = this.endDragging_.bind(this); 167 container.ontouchend = this.endDragging_.bind(this);
168 168
169 $('display-options-set-primary').onclick = function() { 169 $('display-options-set-primary').onclick = function() {
170 chrome.send('setPrimary', [this.displays_[this.focusedIndex_].id]); 170 chrome.send('setPrimary', [this.displays_[this.focusedIndex_].id]);
171 }.bind(this); 171 }.bind(this);
172 $('display-options-resolution-selection').onchange = function(ev) { 172 $('display-options-resolution-selection').onchange = function(ev) {
173 chrome.send('setUIScale', [this.displays_[this.focusedIndex_].id, 173 var display = this.displays_[this.focusedIndex_];
174 ev.target.value]); 174 var resolution = display.resolutions[ev.target.value];
175 if (resolution.scale) {
176 chrome.send('setUIScale', [display.id, resolution.scale]);
177 } else {
178 chrome.send('setResolution',
179 [display.id, resolution.width, resolution.height]);
180 }
175 }.bind(this); 181 }.bind(this);
176 $('display-options-orientation-selection').onchange = function(ev) { 182 $('display-options-orientation-selection').onchange = function(ev) {
177 chrome.send('setOrientation', [this.displays_[this.focusedIndex_].id, 183 chrome.send('setOrientation', [this.displays_[this.focusedIndex_].id,
178 ev.target.value]); 184 ev.target.value]);
179 }.bind(this); 185 }.bind(this);
180 $('selected-display-start-calibrating-overscan').onclick = function() { 186 $('selected-display-start-calibrating-overscan').onclick = function() {
181 // Passes the target display ID. Do not specify it through URL hash, 187 // Passes the target display ID. Do not specify it through URL hash,
182 // we do not care back/forward. 188 // we do not care back/forward.
183 var displayOverscan = options.DisplayOverscan.getInstance(); 189 var displayOverscan = options.DisplayOverscan.getInstance();
184 displayOverscan.setDisplayId(this.displays_[this.focusedIndex_].id); 190 displayOverscan.setDisplayId(this.displays_[this.focusedIndex_].id);
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
599 display.isInternal; 605 display.isInternal;
600 606
601 var orientation = $('display-options-orientation-selection'); 607 var orientation = $('display-options-orientation-selection');
602 orientation.disabled = false; 608 orientation.disabled = false;
603 var orientationOptions = orientation.getElementsByTagName('option'); 609 var orientationOptions = orientation.getElementsByTagName('option');
604 orientationOptions[display.orientation].selected = true; 610 orientationOptions[display.orientation].selected = true;
605 611
606 $('selected-display-name').textContent = display.name; 612 $('selected-display-name').textContent = display.name;
607 613
608 var resolution = $('display-options-resolution-selection'); 614 var resolution = $('display-options-resolution-selection');
609 if (display.uiScales.length <= 1) { 615 if (display.resolutions.length <= 1) {
610 var option = document.createElement('option'); 616 var option = document.createElement('option');
611 option.value = 'default'; 617 option.value = 'default';
612 option.textContent = display.width + 'x' + display.height; 618 option.textContent = display.width + 'x' + display.height;
613 option.selected = true; 619 option.selected = true;
614 resolution.appendChild(option); 620 resolution.appendChild(option);
615 resolution.disabled = true; 621 resolution.disabled = true;
616 } else { 622 } else {
617 for (var i = 0; i < display.uiScales.length; i++) { 623 for (var i = 0; i < display.resolutions.length; i++) {
618 var option = document.createElement('option'); 624 var option = document.createElement('option');
619 option.value = display.uiScales[i].scale; 625 option.value = i;
620 option.textContent = 626 option.textContent = display.resolutions[i].width + 'x' +
621 display.uiScales[i].width + 'x' + display.uiScales[i].height; 627 display.resolutions[i].height;
622 if (display.uiScales[i].scale == 1.0) { 628 if (display.resolutions[i].isBest) {
623 option.textContent += ' ' + 629 option.textContent += ' ' +
624 loadTimeData.getString('annotateBest'); 630 loadTimeData.getString('annotateBest');
625 } 631 }
626 option.selected = display.uiScales[i].selected; 632 option.selected = display.resolutions[i].selected;
627 resolution.appendChild(option); 633 resolution.appendChild(option);
628 } 634 }
629 resolution.disabled = !display.isInternal; 635 resolution.disabled = (display.resolutions.length <= 1);
630 } 636 }
631 }, 637 },
632 638
633 /** 639 /**
634 * Updates the description of the selected display section. 640 * Updates the description of the selected display section.
635 * @private 641 * @private
636 */ 642 */
637 updateSelectedDisplayDescription_: function() { 643 updateSelectedDisplayDescription_: function() {
638 var resolution = $('display-options-resolution-selection'); 644 var resolution = $('display-options-resolution-selection');
639 resolution.textContent = ''; 645 resolution.textContent = '';
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
862 mirroring, displays, layout, offset) { 868 mirroring, displays, layout, offset) {
863 DisplayOptions.getInstance().onDisplayChanged_( 869 DisplayOptions.getInstance().onDisplayChanged_(
864 mirroring, displays, layout, offset); 870 mirroring, displays, layout, offset);
865 }; 871 };
866 872
867 // Export 873 // Export
868 return { 874 return {
869 DisplayOptions: DisplayOptions 875 DisplayOptions: DisplayOptions
870 }; 876 };
871 }); 877 });
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/webui/options/chromeos/display_options_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698