Mercurial > hg > touchkeys
comparison Source/GUI/MainWindow.cpp @ 33:e8965409903e
First (incomplete) start on save/load presets.
author | Andrew McPherson <andrewm@eecs.qmul.ac.uk> |
---|---|
date | Thu, 20 Mar 2014 23:18:41 +0000 |
parents | 88287c1c2c92 |
children | 239b039d3000 |
comparison
equal
deleted
inserted
replaced
32:5f25a9b0139e | 33:e8965409903e |
---|---|
95 | 95 |
96 PopupMenu MainWindow::getMenuForIndex(int menuIndex, const String& menuName) { | 96 PopupMenu MainWindow::getMenuForIndex(int menuIndex, const String& menuName) { |
97 PopupMenu menu; | 97 PopupMenu menu; |
98 | 98 |
99 if(menuIndex == 0) { // File | 99 if(menuIndex == 0) { // File |
100 menu.addCommandItem(&commandManager_, kCommandNewPreset); | 100 menu.addCommandItem(&commandManager_, kCommandClearPreset); |
101 menu.addSeparator(); | 101 menu.addSeparator(); |
102 menu.addCommandItem(&commandManager_, kCommandOpenPreset); | 102 menu.addCommandItem(&commandManager_, kCommandOpenPreset); |
103 menu.addSeparator(); | |
104 menu.addCommandItem(&commandManager_, kCommandSavePreset); | 103 menu.addCommandItem(&commandManager_, kCommandSavePreset); |
105 menu.addCommandItem(&commandManager_, kCommandSavePresetAs); | |
106 #ifndef JUCE_MAC | 104 #ifndef JUCE_MAC |
107 menu.addSeparator(); | 105 menu.addSeparator(); |
108 menu.addCommandItem(&commandManager_, StandardApplicationCommandIDs::quit); | 106 menu.addCommandItem(&commandManager_, StandardApplicationCommandIDs::quit); |
109 #endif | 107 #endif |
110 } | 108 } |
151 // this returns the set of all commands that this target can perform.. | 149 // this returns the set of all commands that this target can perform.. |
152 void MainWindow::getAllCommands(Array <CommandID>& commands) { | 150 void MainWindow::getAllCommands(Array <CommandID>& commands) { |
153 // this returns the set of all commands that this target can perform.. | 151 // this returns the set of all commands that this target can perform.. |
154 const CommandID ids[] = { | 152 const CommandID ids[] = { |
155 // File | 153 // File |
156 kCommandNewPreset, kCommandOpenPreset, kCommandSavePreset, | 154 kCommandClearPreset, |
157 kCommandSavePresetAs, | 155 kCommandOpenPreset, |
156 kCommandSavePreset, | |
158 // Edit | 157 // Edit |
159 StandardApplicationCommandIDs::undo, | 158 StandardApplicationCommandIDs::undo, |
160 StandardApplicationCommandIDs::redo, | 159 StandardApplicationCommandIDs::redo, |
161 StandardApplicationCommandIDs::cut, | 160 StandardApplicationCommandIDs::cut, |
162 StandardApplicationCommandIDs::copy, | 161 StandardApplicationCommandIDs::copy, |
188 const String windowCategory("Window"); | 187 const String windowCategory("Window"); |
189 | 188 |
190 switch (commandID) { | 189 switch (commandID) { |
191 | 190 |
192 // *** File Menu *** | 191 // *** File Menu *** |
193 case kCommandNewPreset: | 192 case kCommandClearPreset: |
194 result.setInfo("New Preset", "Clears the current settings", presetsCategory, 0); | 193 result.setInfo("Clear Settings", "Clears the current settings", presetsCategory, 0); |
195 result.setTicked(false); | 194 result.setTicked(false); |
196 result.setActive(false); | 195 result.setActive(false); |
197 result.addDefaultKeypress ('N', ModifierKeys::commandModifier); | |
198 break; | 196 break; |
199 case kCommandOpenPreset: | 197 case kCommandOpenPreset: |
200 result.setInfo("Open Preset...", "Opens an existing preset", presetsCategory, 0); | 198 result.setInfo("Open Preset...", "Opens an existing preset", presetsCategory, 0); |
201 result.setTicked(false); | 199 result.setTicked(false); |
202 result.setActive(false); | 200 result.setActive(true); |
203 result.addDefaultKeypress ('O', ModifierKeys::commandModifier); | 201 result.addDefaultKeypress ('O', ModifierKeys::commandModifier); |
204 break; | 202 break; |
205 case kCommandSavePreset: | 203 case kCommandSavePreset: |
206 result.setInfo("Save Preset", "Saves the current preset", presetsCategory, 0); | 204 result.setInfo("Save Preset...", "Saves the current preset", presetsCategory, 0); |
207 result.setTicked(false); | 205 result.setTicked(false); |
208 result.setActive(false); | 206 result.setActive(true); |
209 result.addDefaultKeypress ('S', ModifierKeys::commandModifier); | 207 result.addDefaultKeypress ('S', ModifierKeys::commandModifier); |
210 break; | |
211 case kCommandSavePresetAs: | |
212 result.setInfo("Save Preset As...", "Saves the current preset with a new name", presetsCategory, 0); | |
213 result.setTicked (false); | |
214 result.setActive(false); | |
215 break; | 208 break; |
216 // Quit command is handled by JuceApplication | 209 // Quit command is handled by JuceApplication |
217 | 210 |
218 // *** Edit Menu *** | 211 // *** Edit Menu *** |
219 case StandardApplicationCommandIDs::undo: | 212 case StandardApplicationCommandIDs::undo: |
305 } | 298 } |
306 | 299 |
307 bool MainWindow::perform(const InvocationInfo& info) { | 300 bool MainWindow::perform(const InvocationInfo& info) { |
308 switch (info.commandID) | 301 switch (info.commandID) |
309 { | 302 { |
310 case kCommandNewPreset: | 303 case kCommandClearPreset: |
304 break; | |
305 case kCommandOpenPreset: | |
306 controller_.loadPresetWithDialog(); | |
307 break; | |
308 case kCommandSavePreset: | |
309 controller_.savePresetWithDialog(); | |
311 break; | 310 break; |
312 case kCommandRescanDevices: | 311 case kCommandRescanDevices: |
313 controller_.tellDevicesToUpdate(); | 312 controller_.tellDevicesToUpdate(); |
314 break; | 313 break; |
315 case kCommandLoggingStartStop: | 314 case kCommandLoggingStartStop: |