ちょっとだけ改善。
前回はオレオレElectronアプリを作りました
Google Photosにアップした写真を秒で、Markdown記法などでブログに埋め込める形に変換する俺得アプリを作りました。今回の改善ポイントは大きく2点です。
- macOSで何故か出来ていなかったコピーアンドペーストに対応
- 前回使った画像サイズ・代替テキスト・タイトルを永続化するように変更
地味に使いやすくなりました。
macOSで何故か出来ていなかったコピーアンドペーストに対応
なぜか出来てなかった。
上記のワークアラウンドを鵜呑みにして、コードに追加しています。app
のreadyで、以下のようにメニューを追加して、コピペに対応しています。
app.on('ready', function () { mainWindow = new BrowserWindow({ width: 800, height: 600 }); mainWindow.loadURL('file://' + __dirname + '/index.html'); // mainWindow.toggleDevTools(); mainWindow.on('closed', function () { mainWindow = null; }); var template = [{ label: "Application", submenu: [ { label: "About Application", selector: "orderFrontStandardAboutPanel:" }, { type: "separator" }, { label: "Quit", accelerator: "Command+Q", click: function () { app.quit(); } } ] }, { label: "Edit", submenu: [ { label: "Undo", accelerator: "CmdOrCtrl+Z", selector: "undo:" }, { label: "Redo", accelerator: "Shift+CmdOrCtrl+Z", selector: "redo:" }, { type: "separator" }, { label: "Cut", accelerator: "CmdOrCtrl+X", selector: "cut:" }, { label: "Copy", accelerator: "CmdOrCtrl+C", selector: "copy:" }, { label: "Paste", accelerator: "CmdOrCtrl+V", selector: "paste:" }, { label: "Select All", accelerator: "CmdOrCtrl+A", selector: "selectAll:" } ] } ]; Menu.setApplicationMenu(Menu.buildFromTemplate(template)); });
前回使った画像サイズ・代替テキスト・タイトルを永続化するように変更
electron-json-storage
でJSONデータを永続化するようにしています。
npm install electron-json-storage --save
いつもどおり、こんな感じでインストールします。
var storage = require('electron-json-storage'); var data = {}; data.photoSize = "hogehoge"; data.photoAlt = "fugafuga"; data.photoTitle = "piyopiyo"; storage.set('config', data, function (error) { if (error) throw error; // 保存完了 });
保存はこんな感じで、JSONオブジェクトを作って保存します。
var storage = require('electron-json-storage'); storage.get('config', function (error, data) { if (error) throw error; if (Object.keys(data).length === 0) return; // dataを読み込む });
読み込みはこんな感じで簡単に出来ます。
というわけで
オレオレElectron、最高ですね。
改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
- 作者:山田 祥寛
- 発売日: 2016/09/30
- メディア: 大型本