aboutsummaryrefslogtreecommitdiff
path: root/js/mediators
diff options
context:
space:
mode:
Diffstat (limited to 'js/mediators')
-rwxr-xr-xjs/mediators/keyboard-mediator.js220
1 files changed, 115 insertions, 105 deletions
diff --git a/js/mediators/keyboard-mediator.js b/js/mediators/keyboard-mediator.js
index 40b26582..0282060f 100755
--- a/js/mediators/keyboard-mediator.js
+++ b/js/mediators/keyboard-mediator.js
@@ -85,23 +85,115 @@ exports.KeyboardMediator = Montage.create(Component, {
85 85
86 handleKeydown: { 86 handleKeydown: {
87 value: function(evt) { 87 value: function(evt) {
88 if((document.activeElement.nodeName !== "BODY") && (!!this.application.ninja.documentController.activeDocument)
89 && (this.application.ninja.documentController.activeDocument.currentView === "design")) {
90 // Don't do anything if an input or other control is focused
91 return;
92 }
93 88
94 // Disable defaults for the Arrow Keys 89 //keyboard controls for html design view
95 if((evt.keyCode == Keyboard.LEFT) || (evt.keyCode == Keyboard.RIGHT) || (evt.keyCode == Keyboard.UP) || (evt.keyCode == Keyboard.DOWN)) { 90 if((!!this.application.ninja.documentController.activeDocument) && (this.application.ninja.documentController.activeDocument.currentView === "design")){
96 evt.preventDefault(); 91
97 } 92 // Don't do anything if an input or other control is focused
93 if(document.activeElement.nodeName !== "BODY") {
94 return;
95 }
96
97 // Disable defaults for the Arrow Keys
98 if((evt.keyCode == Keyboard.LEFT) || (evt.keyCode == Keyboard.RIGHT) || (evt.keyCode == Keyboard.UP) || (evt.keyCode == Keyboard.DOWN)) {
99 evt.preventDefault();
100 }
101
102 // Check DELETE OR BACKSPACE
103 if((evt.keyCode == Keyboard.BACKSPACE) || (evt.keyCode == Keyboard.DELETE)) {
104 evt.stopImmediatePropagation();
105 evt.preventDefault();
106 NJevent("deleting");
107 return;
108 }
109
110
111 // Shortcut for Selection Tool is V
112 if(evt.keyCode === Keyboard.V) {
113 evt.preventDefault();
114 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[0]});
115 return;
116 }
117
118 // Shortcut for Tag Tool is D
119 if(evt.keyCode === Keyboard.D){
120 evt.preventDefault();
121 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[4]});
122 return;
123 }
124
125 // Shortcut for Rotate Tool is W
126 if(evt.keyCode === Keyboard.W){
127 evt.preventDefault();
128 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[2]});
129 return;
130 }
131
132 // Shortcut for Translate Tool is G
133 if(evt.keyCode === Keyboard.G){
134 evt.preventDefault();
135 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[3]});
136 return;
137 }
138
139 // Shortcut for Rectangle Tool is R
140 // unless the user is pressing the command key.
141 // If the user is pressing the command key, they want to refresh the browser.
142 if((evt.keyCode === Keyboard.R) && !evt.metaKey) {
143 evt.preventDefault();
144 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[7]});
145 this.application.ninja.handleSelectSubTool({"detail": this.application.ninja.toolsData.defaultToolsData[7].subtools[1]});
146 return;
147 }
148
149 // Shortcut for Oval Tool is O
150 if(evt.keyCode === Keyboard.O) {
151 evt.preventDefault();
152 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[7]});
153 this.application.ninja.handleSelectSubTool({"detail": this.application.ninja.toolsData.defaultToolsData[7].subtools[0]});
154 return;
155 }
156
157 // Shortcut for Line Tool is L
158 if(evt.keyCode === Keyboard.L ) {
159 evt.preventDefault();
160 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[7]});
161 this.application.ninja.handleSelectSubTool({"detail": this.application.ninja.toolsData.defaultToolsData[7].subtools[2]});
162 return;
163 }
164
165 if(evt.keyCode === Keyboard.H ) {
166 evt.preventDefault();
167 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[15]});
168 return;
169 }
170
171 if(evt.keyCode === Keyboard.Z ) {
172 evt.preventDefault();
173 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[16]});
174 return;
175 }
176
177 // Check if cmd+a/ctrl+a for Select All
178 if((evt.keyCode == Keyboard.A) && (evt.ctrlKey || evt.metaKey)) {
179 NJevent("selectAll");
180 return;
181 }
182
183 if(evt.keyCode === Keyboard.ESCAPE){//ESC key
184 //console.log("ESC key pressed");
185 if(this.application.ninja.toolsData) this.application.ninja.toolsData.selectedToolInstance.HandleEscape(evt);
186 //menuViewManagerModule.MenuViewManager.closeMenu("mainMenuBar");
187 }
188
189
190 if((evt.keyCode == Keyboard.ENTER) && (evt.ctrlKey || evt.metaKey)) {
191 this.application.ninja.executeChromePreview();
192 return;
193 }
194
195 if(this.application.ninja.toolsData) this.application.ninja.toolsData.selectedToolInstance.HandleKeyPress(evt);
98 196
99 // Check DELETE OR BACKSPACE
100 if((evt.keyCode == Keyboard.BACKSPACE) || (evt.keyCode == Keyboard.DELETE)) {
101 evt.stopImmediatePropagation();
102 evt.preventDefault();
103 NJevent("deleting");
104 return;
105 } 197 }
106 198
107 // Check if cmd+z/ctrl+z for Undo (Windows/Mac) 199 // Check if cmd+z/ctrl+z for Undo (Windows/Mac)
@@ -132,103 +224,21 @@ exports.KeyboardMediator = Montage.create(Component, {
132 return; 224 return;
133 } 225 }
134 226
135 // Shortcut for Selection Tool is V
136 if(evt.keyCode === Keyboard.V) {
137 evt.preventDefault();
138 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[0]});
139 return;
140 }
141
142 // Shortcut for Tag Tool is D
143 if(evt.keyCode === Keyboard.D){
144 evt.preventDefault();
145 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[4]});
146 return;
147 }
148
149 // Shortcut for Rotate Tool is W
150 if(evt.keyCode === Keyboard.W){
151 evt.preventDefault();
152 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[2]});
153 return;
154 }
155
156 // Shortcut for Translate Tool is G
157 if(evt.keyCode === Keyboard.G){
158 evt.preventDefault();
159 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[3]});
160 return;
161 }
162
163 // Shortcut for Rectangle Tool is R
164 // unless the user is pressing the command key.
165 // If the user is pressing the command key, they want to refresh the browser.
166 if((evt.keyCode === Keyboard.R) && !evt.metaKey) {
167 evt.preventDefault();
168 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[7]});
169 this.application.ninja.handleSelectSubTool({"detail": this.application.ninja.toolsData.defaultToolsData[7].subtools[1]});
170 return;
171 }
172
173 // Shortcut for Oval Tool is O
174 if(evt.keyCode === Keyboard.O) {
175 evt.preventDefault();
176 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[7]});
177 this.application.ninja.handleSelectSubTool({"detail": this.application.ninja.toolsData.defaultToolsData[7].subtools[0]});
178 return;
179 }
180
181 // Shortcut for Line Tool is L
182 if(evt.keyCode === Keyboard.L ) {
183 evt.preventDefault();
184 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[7]});
185 this.application.ninja.handleSelectSubTool({"detail": this.application.ninja.toolsData.defaultToolsData[7].subtools[2]});
186 return;
187 }
188
189 if(evt.keyCode === Keyboard.H ) {
190 evt.preventDefault();
191 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[15]});
192 return;
193 }
194
195 if(evt.keyCode === Keyboard.Z ) {
196 evt.preventDefault();
197 this.application.ninja.handleSelectTool({"detail": this.application.ninja.toolsData.defaultToolsData[16]});
198 return;
199 }
200
201 // Check if cmd+a/ctrl+a for Select All
202 if((evt.keyCode == Keyboard.A) && (evt.ctrlKey || evt.metaKey)) {
203 NJevent("selectAll");
204 return;
205 }
206
207 if(evt.keyCode === Keyboard.ESCAPE){//ESC key
208 //console.log("ESC key pressed");
209 if(this.application.ninja.toolsData) this.application.ninja.toolsData.selectedToolInstance.HandleEscape(evt);
210 //menuViewManagerModule.MenuViewManager.closeMenu("mainMenuBar");
211 }
212
213 // Check if cmd+a/ctrl+a for Select All
214 if((evt.keyCode == Keyboard.ENTER) && (evt.ctrlKey || evt.metaKey)) {
215 this.application.ninja.executeChromePreview();
216 return;
217 }
218
219 if(this.application.ninja.toolsData) this.application.ninja.toolsData.selectedToolInstance.HandleKeyPress(evt);
220 227
221 }