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

Side by Side Diff: ui/file_manager/file_manager/foreground/js/file_manager_commands.js

Issue 1679983003: Set wallpaper from right click menu in Files app. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove unused var Created 4 years, 10 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
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 /** 5 /**
6 * Sets 'hidden' property of a cr.ui.Command instance and dispatches 6 * Sets 'hidden' property of a cr.ui.Command instance and dispatches
7 * 'hiddenChange' event manually so that associated cr.ui.MenuItem can handle 7 * 'hiddenChange' event manually so that associated cr.ui.MenuItem can handle
8 * the event. 8 * the event.
9 * TODO(fukino): Remove this workaround when crbug.com/481941 is fixed. 9 * TODO(fukino): Remove this workaround when crbug.com/481941 is fixed.
10 * 10 *
(...skipping 1470 matching lines...) Expand 10 before | Expand all | Expand 10 after
1481 }, 1481 },
1482 canExecute: function(event, fileManager) { 1482 canExecute: function(event, fileManager) {
1483 var currentDirEntry = fileManager.directoryModel.getCurrentDirEntry(); 1483 var currentDirEntry = fileManager.directoryModel.getCurrentDirEntry();
1484 var volumeInfo = currentDirEntry && 1484 var volumeInfo = currentDirEntry &&
1485 fileManager.volumeManager.getVolumeInfo(currentDirEntry); 1485 fileManager.volumeManager.getVolumeInfo(currentDirEntry);
1486 event.canExecute = volumeInfo && !volumeInfo.watchable; 1486 event.canExecute = volumeInfo && !volumeInfo.watchable;
1487 event.command.setHidden(!event.canExecute || 1487 event.command.setHidden(!event.canExecute ||
1488 fileManager.directoryModel.getFileListSelection().getCheckSelectMode()); 1488 fileManager.directoryModel.getFileListSelection().getCheckSelectMode());
1489 } 1489 }
1490 }); 1490 });
1491
1492 /**
1493 * Refreshes the currently selected directory.
1494 */
1495 CommandHandler.COMMANDS_['set-wallpaper'] = /** @type {Command} */ ({
1496 /**
1497 * @param {!Event} event Command event.
1498 * @param {!FileManager} fileManager FileManager to use.
1499 */
1500 execute: function(event, fileManager) {
1501 var entry = fileManager.getSelection().entries[0];
1502 new Promise(function(resolve, reject) {
1503 entry.file(resolve, reject);
1504 }).then(function(blob) {
1505 var fileReader = new FileReader();
1506 return new Promise(function(resolve, reject) {
1507 fileReader.onload = function() {
1508 resolve(this.result);
1509 };
1510 fileReader.onError = function(err) {
mtomasz 2016/02/12 04:30:51 nit: should it be onerror?
ryoh 2016/02/12 07:37:25 Done.
1511 reject(err);
1512 };
1513 fileReader.readAsArrayBuffer(blob);
1514 })
1515 }).then(function(arrayBuffer) {
1516 chrome.wallpaper.setWallpaper(
1517 {
1518 'data': arrayBuffer,
mtomasz 2016/02/12 04:30:51 nit: no need for '' for keys. { data: ..., la
ryoh 2016/02/12 07:37:25 Done.
1519 'layout': 'CENTER_CROPPED',
1520 'filename': 'wallpaper'
1521 }, function() {});
1522 }).catch(function() {
1523 fileManager.ui.alertDialog.showHtml(
1524 '', str('ERROR_INVALID_WALLPAPER'), null, null, null);
1525 });
1526 },
1527 canExecute: function(event, fileManager) {
1528 var entries = CommandUtil.getCommandEntries(event.target);
1529 if (entries.length === 0 ) {
1530 event.canExecute = false;
1531 event.command.setHidden(true);
1532 return;
1533 }
1534 var type = FileType.getType(entries[0]);
1535 if (entries.length !== 1 || type.type !== 'image') {
1536 event.canExecute = false;
1537 event.command.setHidden(true);
1538 return;
1539 }
1540
1541 event.canExecute = type.subtype === 'JPEG' || type.subtype === 'PNG';
1542 event.command.setHidden(false);
1543 }
1544 });
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/extensions/file_manager/private_api_strings.cc ('k') | ui/file_manager/file_manager/main.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698