-- (void)refreshConfigsPreservingSelection:(BOOL)preserve {
- int initialIndex = [configPopup indexOfSelectedItem];
- [configPopup removeAllItems];
- for (Config *config in configsController.configs)
- [configPopup addItemWithTitle:config.name];
- [configPopup selectItemAtIndex:preserve ? initialIndex : -1];
+- (void)refreshConfigs {
+ NSInteger initialIndex = configPopup.indexOfSelectedItem;
+ [configPopup.menu removeAllItems];
+ for (Config *config in configsController.configs) {
+ NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:config.name
+ action:@selector(configChosen:)
+ keyEquivalent:@""];
+ item.target = self;
+ [configPopup.menu addItem:item];
+ }
+ [configPopup selectItemAtIndex:initialIndex];