| Index: ui/file_manager/gallery/js/slide_mode.js
|
| diff --git a/ui/file_manager/gallery/js/slide_mode.js b/ui/file_manager/gallery/js/slide_mode.js
|
| index 1f070add6f4a83b7b60f36a1bb44263297e3f6b7..5095dfd651c5529fb14a09178746988bc832bacb 100644
|
| --- a/ui/file_manager/gallery/js/slide_mode.js
|
| +++ b/ui/file_manager/gallery/js/slide_mode.js
|
| @@ -232,9 +232,10 @@ function SlideMode(container, content, toolbar, prompt, errorBanner, dataModel,
|
|
|
| /**
|
| * @type {!HTMLElement}
|
| + * @private
|
| * @const
|
| */
|
| - var overwriteOriginalBox = util.createChild(
|
| + this.overwriteOriginalBox_ = util.createChild(
|
| this.options_, 'overwrite-original');
|
|
|
| /**
|
| @@ -243,7 +244,7 @@ function SlideMode(container, content, toolbar, prompt, errorBanner, dataModel,
|
| * @const
|
| */
|
| this.overwriteOriginal_ = util.createChild(
|
| - overwriteOriginalBox, '', 'input');
|
| + this.overwriteOriginalBox_, '', 'input');
|
| this.overwriteOriginal_.type = 'checkbox';
|
| this.overwriteOriginal_.id = 'overwrite-checkbox';
|
| chrome.storage.local.get(SlideMode.OVERWRITE_KEY, function(values) {
|
| @@ -259,7 +260,8 @@ function SlideMode(container, content, toolbar, prompt, errorBanner, dataModel,
|
| * @type {!HTMLElement}
|
| * @const
|
| */
|
| - var overwriteLabel = util.createChild(overwriteOriginalBox, '', 'label');
|
| + var overwriteLabel = util.createChild(
|
| + this.overwriteOriginalBox_, '', 'label');
|
| overwriteLabel.textContent =
|
| this.displayStringFunction_('GALLERY_OVERWRITE_ORIGINAL');
|
| overwriteLabel.setAttribute('for', 'overwrite-checkbox');
|
| @@ -1035,12 +1037,15 @@ SlideMode.prototype.itemLoaded_ = function(
|
| }
|
|
|
| // For once edited image, disallow the 'overwrite' setting change.
|
| - ImageUtil.setAttribute(this.options_, 'saved',
|
| - !this.getSelectedItem().isOriginal());
|
| + ImageUtil.setAttribute(this.overwriteOriginalBox_, 'disabled',
|
| + !this.getSelectedItem().isOriginal() || FileType.isRaw(item.getEntry()));
|
|
|
| - chrome.storage.local.get(SlideMode.OVERWRITE_BUBBLE_KEY,
|
| + var keys = {};
|
| + keys[SlideMode.OVERWRITE_BUBBLE_KEY] = 0;
|
| + keys[SlideMode.OVERWRITE_KEY] = true;
|
| + chrome.storage.local.get(keys,
|
| function(values) {
|
| - var times = values[SlideMode.OVERWRITE_BUBBLE_KEY] || 0;
|
| + var times = values[SlideMode.OVERWRITE_BUBBLE_KEY];
|
| if (times < SlideMode.OVERWRITE_BUBBLE_MAX_TIMES) {
|
| this.bubble_.hidden = false;
|
| if (this.isEditing()) {
|
| @@ -1049,6 +1054,10 @@ SlideMode.prototype.itemLoaded_ = function(
|
| chrome.storage.local.set(items);
|
| }
|
| }
|
| + if (FileType.isRaw(item.getEntry()))
|
| + this.overwriteOriginal_.checked = false;
|
| + else
|
| + this.overwriteOriginal_.checked = values[SlideMode.OVERWRITE_KEY];
|
| }.bind(this));
|
|
|
| loadCallback(loadType, delay);
|
| @@ -1273,8 +1282,10 @@ SlideMode.prototype.saveCurrentImage_ = function(item, callback) {
|
| // Allow changing the 'Overwrite original' setting only if the user
|
| // used Undo to restore the original image AND it is not a copy.
|
| // Otherwise lock the setting in its current state.
|
| - var mayChangeOverwrite = !this.editor_.canUndo() && item.isOriginal();
|
| - ImageUtil.setAttribute(this.options_, 'saved', !mayChangeOverwrite);
|
| + var mayChangeOverwrite = !this.editor_.canUndo() && item.isOriginal() &&
|
| + !FileType.isRaw(item.getEntry());
|
| + ImageUtil.setAttribute(
|
| + this.overwriteOriginalBox_, 'disabled', !mayChangeOverwrite);
|
|
|
| // Record UMA for the first edit.
|
| if (this.imageView_.getContentRevision() === 1)
|
|
|