From 0d75fcd62f330f6ba06e45fde0840d0ca5965b88 Mon Sep 17 00:00:00 2001 From: mkwiser Date: Thu, 9 Oct 2014 00:04:56 +0800 Subject: [PATCH] add project savable --- src/fonteditor/ttf/main.js | 3 +++ src/fonteditor/widget/controller/default.js | 21 ++++++++++++++++++++- src/fonteditor/widget/glyfviewer.js | 6 ++++++ ttf.html | 6 +++--- 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/src/fonteditor/ttf/main.js b/src/fonteditor/ttf/main.js index 0f53400..9a1922a 100644 --- a/src/fonteditor/ttf/main.js +++ b/src/fonteditor/ttf/main.js @@ -38,6 +38,7 @@ define( } $.getJSON('./src/fonteditor/data/empty.json', function(imported) { program.ttfmanager.set(imported); + program.data.projectName = null; }); }, @@ -108,6 +109,7 @@ define( } else { program.ttfmanager.set(imported); + program.data.projectName = null; } } @@ -191,6 +193,7 @@ define( type: file.name.slice(file.name.lastIndexOf('.') + 1).toLowerCase(), success: function(imported) { program.ttfmanager.set(imported); + program.data.projectName = null; } }); } diff --git a/src/fonteditor/widget/controller/default.js b/src/fonteditor/widget/controller/default.js index 66fcb37..43e4fd9 100644 --- a/src/fonteditor/widget/controller/default.js +++ b/src/fonteditor/widget/controller/default.js @@ -12,7 +12,8 @@ define( var clipboard = require('../clipboard'); var lang = require('common/lang'); - + var string = require('common/string'); + return { /** @@ -41,6 +42,24 @@ define( program.ttfmanager.undo(); }).on('redo', function(e) { program.ttfmanager.redo(); + }).on('save', function(e) { + // 保存项目 + if (program.ttfmanager.get()) { + if (program.data.projectName) { + program.project.add(program.data.projectName, program.ttfmanager.get()); + program.ttfmanager.setState('new'); + } + else { + var name = ''; + if(name = window.prompt('请输入项目名称:')) { + name = string.encodeHTML(name); + var list = program.project.add(name, program.ttfmanager.get()); + program.projectViewer.show(list); + program.data.projectName = name; + program.ttfmanager.setState('new'); + } + } + } }); program.projectViewer.on('open', function(e) { diff --git a/src/fonteditor/widget/glyfviewer.js b/src/fonteditor/widget/glyfviewer.js index 53172bb..b98b345 100644 --- a/src/fonteditor/widget/glyfviewer.js +++ b/src/fonteditor/widget/glyfviewer.js @@ -112,6 +112,12 @@ define( e.stopPropagation(); me.fire('redo'); } + // 保存 + else if (83 === e.keyCode && e.ctrlKey) { + e.preventDefault(); + e.stopPropagation(); + me.fire('save'); + } // 取消选中 else if (27 === e.keyCode) { e.stopPropagation(); diff --git a/ttf.html b/ttf.html index b155df9..b672c4b 100644 --- a/ttf.html +++ b/ttf.html @@ -9,9 +9,9 @@