add ability to enable/disable the ability to prevent sleeping with active transfers

This commit is contained in:
Mitchell Livingston 2007-08-30 04:35:48 +00:00
parent 8252e12434
commit c443e88444
4 changed files with 28 additions and 21 deletions

View File

@ -1842,12 +1842,13 @@ static void sleepCallBack(void * controller, io_service_t y, natural_t messageTy
{ {
filtering = YES; filtering = YES;
#warning check multiple trackers
NSString * filterType = [fDefaults stringForKey: @"FilterSearchType"]; NSString * filterType = [fDefaults stringForKey: @"FilterSearchType"];
NSString * fullString; NSString * fullString;
Torrent * torrent; Torrent * torrent;
int i; int i;
for (i = [tempTorrents count] - 1; i >= 0; i--) for (i = [tempTorrents count]-1; i >= 0; i--)
{ {
torrent = [tempTorrents objectAtIndex: i]; torrent = [tempTorrents objectAtIndex: i];
if ([filterType isEqualToString: FILTER_TYPE_TRACKER]) if ([filterType isEqualToString: FILTER_TYPE_TRACKER])
@ -3034,7 +3035,7 @@ static void sleepCallBack(void * controller, io_service_t y, natural_t messageTy
{ {
NSEnumerator * enumerator; NSEnumerator * enumerator;
Torrent * torrent; Torrent * torrent;
BOOL active; BOOL active, canSleep;
switch (messageType) switch (messageType)
{ {
@ -3058,20 +3059,24 @@ static void sleepCallBack(void * controller, io_service_t y, natural_t messageTy
break; break;
case kIOMessageCanSystemSleep: case kIOMessageCanSystemSleep:
//pevent idle sleep unless all paused
active = NO; canSleep = YES;
enumerator = [fTorrents objectEnumerator]; if ([fDefaults boolForKey: @"SleepPrevent"])
while ((torrent = [enumerator nextObject])) {
if ([torrent isActive] && ![torrent isStalled] && ![torrent isError]) //prevent idle sleep unless all inactive
{ enumerator = [fTorrents objectEnumerator];
active = YES; while ((torrent = [enumerator nextObject]))
break; if ([torrent isActive] && ![torrent isStalled] && ![torrent isError])
} {
canSleep = NO;
break;
}
}
if (active) if (canSleep)
IOCancelPowerChange(fRootPort, (long) messageArgument);
else
IOAllowPowerChange(fRootPort, (long) messageArgument); IOAllowPowerChange(fRootPort, (long) messageArgument);
else
IOCancelPowerChange(fRootPort, (long) messageArgument);
break; break;
case kIOMessageSystemHasPoweredOn: case kIOMessageSystemHasPoweredOn:

View File

@ -84,6 +84,8 @@
<string>Submarine</string> <string>Submarine</string>
<key>ShowInspector</key> <key>ShowInspector</key>
<false/> <false/>
<key>SleepPrevent</key>
<true/>
<key>SmallStatusRegular</key> <key>SmallStatusRegular</key>
<true/> <true/>
<key>SmallView</key> <key>SmallView</key>

View File

@ -3,17 +3,17 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>IBDocumentLocation</key> <key>IBDocumentLocation</key>
<string>19 79 356 240 0 0 1152 842 </string> <string>32 103 356 240 0 0 1680 1028 </string>
<key>IBEditorPositions</key> <key>IBEditorPositions</key>
<dict> <dict>
<key>153</key> <key>153</key>
<string>294 444 563 268 0 0 1152 842 </string> <string>558 568 583 268 0 0 1680 1028 </string>
<key>28</key> <key>28</key>
<string>138 430 563 313 0 0 1152 842 </string> <string>558 511 583 348 0 0 1680 1028 </string>
<key>41</key> <key>41</key>
<string>294 426 563 305 0 0 1152 842 </string> <string>548 550 583 305 0 0 1680 1028 </string>
<key>66</key> <key>66</key>
<string>294 506 563 144 0 0 1152 842 </string> <string>334 527 583 144 0 0 1680 1028 </string>
</dict> </dict>
<key>IBFramework Version</key> <key>IBFramework Version</key>
<string>446.1</string> <string>446.1</string>
@ -23,9 +23,9 @@
</array> </array>
<key>IBOpenObjects</key> <key>IBOpenObjects</key>
<array> <array>
<integer>28</integer> <integer>153</integer>
</array> </array>
<key>IBSystem Version</key> <key>IBSystem Version</key>
<string>8R218</string> <string>8R4031</string>
</dict> </dict>
</plist> </plist>