Show/hide prompt for device connection.
authorJoe Wreschnig <joe.wreschnig@gmail.com>
Thu, 7 Mar 2013 16:16:34 +0000 (17:16 +0100)
committerJoe Wreschnig <joe.wreschnig@gmail.com>
Thu, 7 Mar 2013 16:16:34 +0000 (17:16 +0100)
Classes/EnjoyableApplicationDelegate.m
Classes/NJDeviceController.h
Classes/NJDeviceController.m

index c477511..5c68476 100644 (file)
 }
 
 #define OUTPUT_PANE_MIN_WIDTH 390
+#define INPUT_PANE_MIN_WIDTH 160
+
+- (CGFloat)splitView:(NSSplitView *)splitView constrainMinCoordinate:(CGFloat)proposedMinimumPosition ofSubviewAt:(NSInteger)dividerIndex {
+    return INPUT_PANE_MIN_WIDTH;
+}
 
 - (CGFloat)splitView:(NSSplitView *)sender constrainMaxCoordinate:(CGFloat)proposedMax ofSubviewAt:(NSInteger)offset {
     return proposedMax - OUTPUT_PANE_MIN_WIDTH;
index 7658c64..07695f7 100644 (file)
@@ -17,6 +17,7 @@
     IBOutlet NJMappingsController *mappingsController;
     IBOutlet NSButton *translatingEventsButton;
     IBOutlet NSMenuItem *translatingEventsMenu;
+    IBOutlet NSView *connectDevicePrompt;
 }
 
 @property (nonatomic, readonly) NJInput *selectedInput;
index d553d7d..0ed8bc6 100644 (file)
@@ -113,6 +113,7 @@ static int findAvailableIndex(NSArray *list, NJDevice *dev) {
     dev.index = findAvailableIndex(_devices, dev);
     [_devices addObject:dev];
     [outlineView reloadData];
+    [connectDevicePrompt setHidden:!!_devices.count];
 }
 
 static void add_callback(void *ctx, IOReturn inResult, void *inSender, IOHIDDeviceRef device) {
@@ -138,6 +139,7 @@ static void remove_callback(void *ctx, IOReturn inResult, void *inSender, IOHIDD
     if (match) {
         [_devices removeObject:match];
         [outlineView reloadData];
+        [connectDevicePrompt setHidden:!!_devices.count];
     }
     
 }