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

Unified Diff: chrome/browser/resources/options/chromeos/display_options.js

Issue 14710011: Redesign display options for ChromeOS. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/options/chromeos/display_options.js
diff --git a/chrome/browser/resources/options/chromeos/display_options.js b/chrome/browser/resources/options/chromeos/display_options.js
index 052a38c5bad22238bfbb7782cf6429ef075b41f2..17e426a9253634e6d047906c2c0bedc4f4bc4d62 100644
--- a/chrome/browser/resources/options/chromeos/display_options.js
+++ b/chrome/browser/resources/options/chromeos/display_options.js
@@ -155,10 +155,10 @@ cr.define('options', function() {
initializePage: function() {
OptionsPage.prototype.initializePage.call(this);
- $('display-options-toggle-mirroring').onclick = (function() {
+ $('display-options-toggle-mirroring').onclick = function() {
this.mirroring_ = !this.mirroring_;
chrome.send('setMirroring', [this.mirroring_]);
- }).bind(this);
+ }.bind(this);
var container = $('display-options-displays-view-host');
container.onmousemove = this.onMouseMove_.bind(this);
@@ -166,17 +166,24 @@ cr.define('options', function() {
container.ontouchmove = this.onTouchMove_.bind(this);
container.ontouchend = this.endDragging_.bind(this);
- $('display-options-set-primary').onclick = (function() {
+ $('display-options-set-primary').onclick = function() {
chrome.send('setPrimary', [this.displays_[this.focusedIndex_].id]);
- }).bind(this);
-
- $('selected-display-start-calibrating-overscan').onclick = (function() {
+ }.bind(this);
+ $('display-options-resolution-selection').onchange = function(ev) {
+ chrome.send('setUIScale', [this.displays_[this.focusedIndex_].id,
+ ev.target.value]);
+ }.bind(this);
+ $('display-options-orientation-selection').onchange = function(ev) {
+ chrome.send('setOrientation', [this.displays_[this.focusedIndex_].id,
+ ev.target.value]);
+ }.bind(this);
+ $('selected-display-start-calibrating-overscan').onclick = function() {
// Passes the target display ID. Do not specify it through URL hash,
// we do not care back/forward.
var displayOverscan = options.DisplayOverscan.getInstance();
displayOverscan.setDisplayId(this.displays_[this.focusedIndex_].id);
OptionsPage.navigateToPage('displayOverscan');
- }).bind(this);
+ }.bind(this);
chrome.send('getDisplayInfo');
},
@@ -465,13 +472,15 @@ cr.define('options', function() {
continue;
display.div.classList.add('displays-focused');
- this.dragging_ = {
- display: display,
- originalLocation: {
- x: display.div.offsetLeft, y: display.div.offsetTop
- },
- eventLocation: eventLocation
- };
+ if (this.displays_.length > 1) {
+ this.dragging_ = {
+ display: display,
+ originalLocation: {
+ x: display.div.offsetLeft, y: display.div.offsetTop
+ },
+ eventLocation: eventLocation
+ };
+ }
}
this.updateSelectedDisplayDescription_();
@@ -523,50 +532,81 @@ cr.define('options', function() {
* @private
*/
updateSelectedDisplayDescription_: function() {
+ var resolution = $('display-options-resolution-selection');
+ resolution.textContent = '';
+ var orientation = $('display-options-orientation-selection');
+ var orientationOptions = orientation.getElementsByTagName('option');
+ for (var i = 0; i < orientationOptions.length; i++) {
James Hawkins 2013/05/15 21:55:33 nit: No braces for single-line blocks.
Jun Mukai 2013/05/16 00:04:15 Done.
+ orientationOptions.selected = false;
+ }
+
if (this.mirroring_) {
James Hawkins 2013/05/15 21:55:33 Each of these blocks is quite long; please break t
Jun Mukai 2013/05/16 00:04:15 Done.
$('display-configuration-arrow').hidden = true;
- $('display-options-set-primary').hidden = true;
- $('display-options-toggle-mirroring').hidden = false;
- $('selected-display-data-container').hidden = false;
+ $('display-options-set-primary').disabled = true;
+ $('display-options-toggle-mirroring').disabled = false;
+ $('selected-display-start-calibrating-overscan').disabled = true;
+ orientation.disabled = true;
var display = this.displays_[0];
- $('selected-display-name').textContent = '';
- $('selected-display-resolution').textContent =
- display.width + 'x' + display.height;
- return;
- }
-
- if (this.focusedIndex_ == null ||
+ $('selected-display-name').textContent =
+ loadTimeData.getString('mirroringDisplay');
+ resolution.appendChild(document.createElement('option'));
+ resolution.disabled = true;
+ } else if (this.focusedIndex_ == null ||
this.displays_[this.focusedIndex_] == null) {
- $('selected-display-data-container').hidden = true;
$('display-configuration-arrow').hidden = true;
- $('display-options-set-primary').hidden = true;
- $('display-options-toggle-mirroring').hidden = true;
- return;
+ $('display-options-set-primary').disabled = true;
+ $('display-options-toggle-mirroring').disabled = true;
+ $('selected-display-start-calibrating-overscan').disabled = true;
+ orientation.disabled = true;
+ $('selected-display-name').textContent = '';
+ resolution.appendChild(document.createElement('option'));
+ resolution.disabled = true;
+ } else {
+ var display = this.displays_[this.focusedIndex_];
+
+ var arrow = $('display-configuration-arrow');
+ arrow.hidden = false;
+ // Adding 1 px to the position to fit the border line and the border in
+ // arrow precisely.
+ arrow.style.top = $('display-configurations').offsetTop -
+ arrow.offsetHeight / 2 + 'px';
+ arrow.style.left = display.div.offsetLeft +
+ display.div.offsetWidth / 2 - arrow.offsetWidth / 2 + 'px';
+
+ $('display-options-set-primary').disabled = display.isPrimary;
+ $('display-options-toggle-mirroring').disabled =
+ (this.displays_.length <= 1);
+ $('selected-display-start-calibrating-overscan').disabled =
+ display.isInternal;
+
+ orientation.disabled = false;
+ orientationOptions[display.orientation].selected = true;
+
+ $('selected-display-name').textContent = display.name;
+
+ if (display.uiScales.length <= 1) {
+ var option = document.createElement('option');
+ option.value = 'default';
+ option.textContent = display.width + 'x' + display.height;
+ option.selected = true;
+ resolution.appendChild(option);
+ resolution.disabled = true;
+ } else {
+ for (var i = 0; i < display.uiScales.length; i++) {
+ var option = document.createElement('option');
+ option.value = display.uiScales[i].scale;
+ option.textContent =
+ display.uiScales[i].width + 'x' + display.uiScales[i].height;
+ if (display.uiScales[i].scale == 1.0) {
+ option.textContent += ' ' +
+ loadTimeData.getString('annotateBest');
+ }
+ option.selected = display.uiScales[i].selected;
+ resolution.appendChild(option);
+ }
+ resolution.disabled = !display.isInternal;
+ }
}
-
- $('selected-display-data-container').hidden = false;
- var display = this.displays_[this.focusedIndex_];
- var nameElement = $('selected-display-name');
- nameElement.textContent = display.name;
-
- var resolutionElement = $('selected-display-resolution');
- resolutionElement.textContent = display.width + 'x' + display.height;
-
- $('start-calibrating-overscan-control').hidden = display.isInternal;
-
- var arrow = $('display-configuration-arrow');
- arrow.hidden = false;
- // Adding 1 px to the position to fit the border line and the border in
- // arrow precisely.
- arrow.style.top = $('display-configurations').offsetTop -
- arrow.offsetHeight / 2 + 1 + 'px';
- arrow.style.left = display.div.offsetLeft + display.div.offsetWidth / 2 -
- arrow.offsetWidth / 2 + 'px';
-
- $('display-options-set-primary').hidden =
- this.displays_[this.focusedIndex_].isPrimary;
- $('display-options-toggle-mirroring').hidden =
- (this.displays_.length <= 1 && !this.mirroring_);
},
/**
@@ -743,10 +783,6 @@ cr.define('options', function() {
break;
}
}
- if (!hasExternal && !mirroring) {
- OptionsPage.showDefaultPage();
- return;
- }
this.mirroring_ = mirroring;
this.layout_ = layout;

Powered by Google App Engine
This is Rietveld 408576698