Anonymous avatar Anonymous committed 193a6c3

Preferences: Show the icons of text editors so the apps are more recognizable and as to indicate to the user that they were found

Comments (0)

Files changed (1)

Source/MercurialApp.m

     // update popup
     [_textEditorPreferenceButton removeAllItems];
     [_textEditorPreferenceButton addItemsWithTitles:[[self supportedTextEditors] valueForKeyPath:@"@unionOfObjects.editorName"]];
-    NSString *selectedEditorID = [[NSUserDefaults standardUserDefaults] stringForKey:kPrefPreferredTextEditorID];
+
+    for (id item in [[self supportedTextEditors] valueForKeyPath:@"@unionOfObjects.editorID"]) {
+        NSString *path = [[NSWorkspace sharedWorkspace] absolutePathForAppBundleWithIdentifier:(NSString *)item];
+
+        if (path != nil) { // app was found
+            NSMenuItem *menuItem = [_textEditorPreferenceButton itemAtIndex:[[[self supportedTextEditors] valueForKeyPath:@"@unionOfObjects.editorID"] indexOfObject:item]];
+            [menuItem setImage:[[NSWorkspace sharedWorkspace] iconForFile:path]];
+            [[menuItem image] setSize:NSMakeSize(16, 16)];
+        }
+    }
+
+   NSString *selectedEditorID = [[NSUserDefaults standardUserDefaults] stringForKey:kPrefPreferredTextEditorID];
     if (!selectedEditorID)
         selectedEditorID = @"com.apple.Xcode";
     int selectedItemIndex = [[[self supportedTextEditors] valueForKeyPath:@"@unionOfObjects.editorID"] indexOfObject:selectedEditorID];
 
 
 @end
+//
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.