diff --git a/src/fonteditor/controller/actions.js b/src/fonteditor/controller/actions.js index 6547896..24dde34 100644 --- a/src/fonteditor/controller/actions.js +++ b/src/fonteditor/controller/actions.js @@ -127,18 +127,24 @@ define( } }, + 'sync': function (projectId, ttf, syncConfig) { + syncConfig = syncConfig || program.project.getConfig(projectId).sync; + if (syncConfig) { + fontDelaySync(program.data.projectId, ttf, syncConfig); + } + }, + 'save': function () { if (program.ttfManager.get()) { - if (program.data.projectId) { - - program.project.update(program.data.projectId, program.ttfManager.get()) + var projectId = program.data.projectId; + if (projectId) { + program.project.update(projectId, program.ttfManager.get()) .then(function () { program.ttfManager.setState('saved'); program.loading.show('保存成功...', 400); - - var syncConfig = program.project.getConfig(program.data.projectId).sync; - if (syncConfig && !syncConfig.pause) { - fontDelaySync(program.data.projectId, program.ttfManager.get(), syncConfig); + var syncConfig = program.project.getConfig(projectId).sync; + if (syncConfig && syncConfig.autoSync) { + actions.sync(projectId, program.ttfManager.get(), syncConfig); } }, function () { program.loading.show('保存失败...', 1000); @@ -150,7 +156,6 @@ define( if ((name = window.prompt('请输入项目名称:', name))) { name = string.encodeHTML(name); - program.project.add(name, program.ttfManager.get()) .then(function (id) { program.data.projectId = id; diff --git a/src/fonteditor/controller/default.js b/src/fonteditor/controller/default.js index 1d746b5..df46e5e 100644 --- a/src/fonteditor/controller/default.js +++ b/src/fonteditor/controller/default.js @@ -363,6 +363,7 @@ define( program.project.updateConfig(program.data.projectId, { sync: setting }); + program.projectViewer.show(program.project.items(), program.data.projectId); } }).show(syncConfig); } @@ -447,6 +448,9 @@ define( actions.save(); program.viewer.focus(); }) + .on('sync', function (e) { + actions.sync(e.projectId); + }) .on('del', function (e) { program.project.remove(e.projectId).then(function () { if (e.projectId === program.data.projectId) { diff --git a/src/fonteditor/template/dialog/setting-sync.tpl b/src/fonteditor/template/dialog/setting-sync.tpl index 6d75a49..a04284e 100644 --- a/src/fonteditor/template/dialog/setting-sync.tpl +++ b/src/fonteditor/template/dialog/setting-sync.tpl @@ -18,9 +18,9 @@