|
674 | 674 | this['ondrop'] = this.dragDrop.bind(this); |
675 | 675 | this['ondragleave'] = this.dragLeave.bind(this); |
676 | 676 |
|
677 | | - global.setTimeout(() => { |
678 | | - if(window.localStorage["projectFolder"]) { |
679 | | - let path = window.localStorage["projectFolder"]; |
680 | | - window["projectFolder"] = path; |
681 | | - Ipc.sendToAll("ui:project_floder_change", {folder: path}); |
682 | | - } |
683 | | - |
684 | | - |
685 | | - },1000); |
| 677 | + this._openPath = null; |
| 678 | + let node = new cc.Scene(); |
| 679 | + node.width = 800; |
| 680 | + node.height = 400; |
| 681 | + this.sceneChange(node); |
686 | 682 | }, |
687 | 683 |
|
688 | 684 | sceneChange: function(newScene) { |
|
972 | 968 | Ipc.sendToAll("ui:select_items_change", {select_items : select_items}); |
973 | 969 | }, |
974 | 970 |
|
| 971 | + _ensureExitCurRender: function() { |
| 972 | + let runScene = this.$.scene.getRunScene(); |
| 973 | + let self = this; |
| 974 | + let isModify = false; |
| 975 | + var closeCurRender = function() { |
| 976 | + Ipc.sendToAllPanel("ui:closeCurRender", {}); |
| 977 | + }; |
| 978 | + |
| 979 | + if(runScene._undo && !runScene._undo.isSaved()) { |
| 980 | + isModify = true; |
| 981 | + let dialog = Electron.remote.dialog; |
| 982 | + dialog.showMessageBox({ |
| 983 | + type:"question", |
| 984 | + buttons:["取消", "确定", "不保存"], |
| 985 | + title:"是否保存", |
| 986 | + message:"您已进行修改,尚未保存,是否保存?", |
| 987 | + }, function (buttonIndex) { |
| 988 | + if(buttonIndex == 0) { |
| 989 | + return; |
| 990 | + } |
| 991 | + if(buttonIndex == 1) { |
| 992 | + self._doSaveFunc(); |
| 993 | + } |
| 994 | + closeCurRender(); |
| 995 | + }) |
| 996 | + } |
| 997 | + |
| 998 | + if(!isModify) { |
| 999 | + closeCurRender(); |
| 1000 | + } |
| 1001 | + }, |
| 1002 | + |
975 | 1003 | messages: { |
976 | 1004 | "ui:project_floder_change"(event, message) { |
977 | | - let last_open_ui = window.localStorage["last_open_ui"]; |
978 | | - if(!startWith(last_open_ui, message.folder)) { |
979 | | - last_open_ui = null; |
980 | | - window.localStorage["last_open_ui"] = null; |
981 | | - } |
982 | | - AddLinkToScripte(message.folder + "/js/init.html", function() { |
983 | | - if(last_open_ui) { |
984 | | - Ipc.sendToAll("ui:open_file", {path: last_open_ui}); |
985 | | - } |
986 | | - }); |
987 | 1005 |
|
988 | | - this._openPath = null; |
989 | | - let node = new cc.Scene(); |
990 | | - node.width = 800; |
991 | | - node.height = 400; |
992 | | - this.sceneChange(node); |
993 | 1006 | }, |
994 | 1007 | "ui:change_item_position" (event, message) { |
995 | 1008 | this.changeItemPosition(message.sourceUUID, message.compareUUID, message.mode); |
|
1013 | 1026 | "ui:has_item_change"(event, message) { |
1014 | 1027 | this.updateForgeCanvas(); |
1015 | 1028 | }, |
1016 | | - "ui:open_file"(event, message) { |
| 1029 | + "ui:open_scene_file"(event, message) { |
1017 | 1030 | let path = message.path; |
1018 | 1031 | if(endWith(path, ".ui")) { |
1019 | | - let dialog = Electron.remote.dialog; |
1020 | 1032 | let runScene = this.$.scene.getRunScene(); |
1021 | 1033 | let self = this; |
1022 | 1034 | var openScene = function() { |
|
1027 | 1039 | self.sceneChange(scene); |
1028 | 1040 | } |
1029 | 1041 | }; |
1030 | | - let isModify = false; |
1031 | | - if(runScene._undo && !runScene._undo.isSaved()) { |
1032 | | - isModify = true; |
1033 | | - dialog.showMessageBox({ |
1034 | | - type:"question", |
1035 | | - buttons:["取消", "确定", "不保存"], |
1036 | | - title:"是否保存", |
1037 | | - message:"您已进行修改,尚未保存,是否保存?", |
1038 | | - }, function (buttonIndex) { |
1039 | | - if(buttonIndex == 0) { |
1040 | | - return; |
1041 | | - } |
1042 | | - if(buttonIndex == 1) { |
1043 | | - self._doSaveFunc(); |
1044 | | - } |
1045 | | - openScene(); |
1046 | | - }) |
1047 | | - } |
1048 | | - |
1049 | | - if(!isModify) { |
1050 | | - openScene(); |
1051 | | - } |
1052 | 1042 |
|
| 1043 | + openScene(); |
1053 | 1044 |
|
1054 | 1045 | } |
| 1046 | + |
| 1047 | + this.resize(); |
| 1048 | + }, |
| 1049 | + |
| 1050 | + "ui:cur_tab_select"(event, message) { |
| 1051 | + if(!this._isReady) { |
| 1052 | + return |
| 1053 | + } |
| 1054 | + this.$.scene.reinitRender(); |
| 1055 | + this.sceneChange(this.$.scene.getRunScene()); |
1055 | 1056 | }, |
1056 | 1057 | 'ui:scene_prop_change'(event, message) { |
1057 | 1058 | let runScene = this.$.scene.getRunScene(); |
|
1109 | 1110 | this._doPasteFunc(); |
1110 | 1111 | } else if(event.keyCode == KeyCodes('a') && event.ctrlKey) { |
1111 | 1112 | this._doSelectAll(); |
| 1113 | + } else if(event.keyCode == KeyCodes('w') && event.ctrlKey) { |
| 1114 | + this._ensureExitCurRender(); |
1112 | 1115 | } else if(event.keyCode == KeyCodes('esc')) { |
1113 | 1116 | this.$.scene.getFabricCanvas().clear(); |
1114 | 1117 | this._firstSelectItem = null; |
|
0 commit comments