projects
/
enjoyable.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix several cases where the UI did not properly reflect model changes.
[enjoyable.git]
/
Classes
/
NJDeviceController.m
diff --git
a/Classes/NJDeviceController.m
b/Classes/NJDeviceController.m
index
000df5f
..
bdd1bbf
100644
(file)
--- a/
Classes/NJDeviceController.m
+++ b/
Classes/NJDeviceController.m
@@
-117,22
+117,27
@@
}
}
}
}
-- (void)hidManager:(NJHIDManager *)manager deviceAdded:(IOHIDDeviceRef)device {
- NJDevice *match = [[NJDevice alloc] initWithDevice:device];
- match.index = 1;
+- (void)addDevice:(NJDevice *)device {
BOOL available;
do {
available = YES;
for (NJDevice *used in _devices) {
BOOL available;
do {
available = YES;
for (NJDevice *used in _devices) {
- if ([used isEqual:
match
]) {
-
match
.index += 1;
+ if ([used isEqual:
device
]) {
+
device
.index += 1;
available = NO;
}
}
} while (!available);
available = NO;
}
}
} while (!available);
+
+ [_devices addObject:device];
+}
- [_devices addObject:match];
+- (void)hidManager:(NJHIDManager *)manager deviceAdded:(IOHIDDeviceRef)device {
+ NJDevice *match = [[NJDevice alloc] initWithDevice:device];
+ [devicesViewController beginUpdates];
+ [self addDevice:match];
[devicesViewController addedDevice:match atIndex:_devices.count - 1];
[devicesViewController addedDevice:match atIndex:_devices.count - 1];
+ [devicesViewController endUpdates];
}
- (NJDevice *)findDeviceByRef:(IOHIDDeviceRef)device {
}
- (NJDevice *)findDeviceByRef:(IOHIDDeviceRef)device {
@@
-147,8
+152,10
@@
IOHIDDeviceRegisterInputValueCallback(device, NULL, NULL);
if (match) {
NSInteger idx = [_devices indexOfObjectIdenticalTo:match];
IOHIDDeviceRegisterInputValueCallback(device, NULL, NULL);
if (match) {
NSInteger idx = [_devices indexOfObjectIdenticalTo:match];
+ [devicesViewController beginUpdates];
[_devices removeObjectAtIndex:idx];
[devicesViewController removedDevice:match atIndex:idx];
[_devices removeObjectAtIndex:idx];
[devicesViewController removedDevice:match atIndex:idx];
+ [devicesViewController endUpdates];
}
}
}
}