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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: ui/file_manager/file_manager/foreground/js/file_manager_commands.js
diff --git a/ui/file_manager/file_manager/foreground/js/file_manager_commands.js b/ui/file_manager/file_manager/foreground/js/file_manager_commands.js
index 0440716654d090acab39e235d61d5a327794513f..78ba36123992a00233646583447b706c14950987 100644
--- a/ui/file_manager/file_manager/foreground/js/file_manager_commands.js
+++ b/ui/file_manager/file_manager/foreground/js/file_manager_commands.js
@@ -1488,3 +1488,57 @@ CommandHandler.COMMANDS_['refresh'] = /** @type {Command} */ ({
fileManager.directoryModel.getFileListSelection().getCheckSelectMode());
}
});
+
+/**
+ * Refreshes the currently selected directory.
+ */
+CommandHandler.COMMANDS_['set-wallpaper'] = /** @type {Command} */ ({
+ /**
+ * @param {!Event} event Command event.
+ * @param {!FileManager} fileManager FileManager to use.
+ */
+ execute: function(event, fileManager) {
+ var entry = fileManager.getSelection().entries[0];
+ new Promise(function(resolve, reject) {
+ entry.file(resolve, reject);
+ }).then(function(blob) {
+ var fileReader = new FileReader();
+ return new Promise(function(resolve, reject) {
+ fileReader.onload = function() {
+ resolve(this.result);
+ };
+ fileReader.onError = function(err) {
mtomasz 2016/02/12 04:30:51 nit: should it be onerror?
ryoh 2016/02/12 07:37:25 Done.
+ reject(err);
+ };
+ fileReader.readAsArrayBuffer(blob);
+ })
+ }).then(function(arrayBuffer) {
+ chrome.wallpaper.setWallpaper(
+ {
+ '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.
+ 'layout': 'CENTER_CROPPED',
+ 'filename': 'wallpaper'
+ }, function() {});
+ }).catch(function() {
+ fileManager.ui.alertDialog.showHtml(
+ '', str('ERROR_INVALID_WALLPAPER'), null, null, null);
+ });
+ },
+ canExecute: function(event, fileManager) {
+ var entries = CommandUtil.getCommandEntries(event.target);
+ if (entries.length === 0 ) {
+ event.canExecute = false;
+ event.command.setHidden(true);
+ return;
+ }
+ var type = FileType.getType(entries[0]);
+ if (entries.length !== 1 || type.type !== 'image') {
+ event.canExecute = false;
+ event.command.setHidden(true);
+ return;
+ }
+
+ event.canExecute = type.subtype === 'JPEG' || type.subtype === 'PNG';
+ event.command.setHidden(false);
+ }
+});
« 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