-respondsToSelector is an instance method, not a class method, so I have
[ITKit.git] / ITCategory-NSMenu.m
index fd048e1..7eeacc5 100755 (executable)
@@ -18,11 +18,11 @@ extern MenuRef _NSGetCarbonMenu( NSMenu *menu);
 @implementation NSMenu (ITCategory)
 
 - (void)indentItem:(NSMenuItem *)item {
 @implementation NSMenu (ITCategory)
 
 - (void)indentItem:(NSMenuItem *)item {
-    [self indentItem:item toLevel:2];
+    [self indentItem:item toLevel:1];
 }
 
 - (void)indentItemAtIndex:(int)index {
 }
 
 - (void)indentItemAtIndex:(int)index {
-    [self indentItemAtIndex:index toLevel:2];
+    [self indentItemAtIndex:index toLevel:1];
 }
 
 - (void)indentItem:(NSMenuItem *)item toLevel:(int)indentLevel {
 }
 
 - (void)indentItem:(NSMenuItem *)item toLevel:(int)indentLevel {
@@ -30,9 +30,13 @@ extern MenuRef _NSGetCarbonMenu( NSMenu *menu);
 }
 
 - (void)indentItemAtIndex:(int)index toLevel:(int)indentLevel {
 }
 
 - (void)indentItemAtIndex:(int)index toLevel:(int)indentLevel {
-    MenuRef carbonMenu = [self menuRef];
-    if (carbonMenu) {
-        SetMenuItemIndent(carbonMenu, index + 1, indentLevel);
+    if ([[self itemAtIndex:index] respondsToSelector:@selector(setIndentationLevel:)]) {
+        [[self itemAtIndex:index] setIndentationLevel:indentLevel];
+    } else {
+        MenuRef carbonMenu = [self menuRef];
+        if (carbonMenu) {
+            SetMenuItemIndent(carbonMenu, index + 1, indentLevel);
+        }
     }
 }
 
     }
 }