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: