mirror of
https://github.com/gnustep/libs-ec.git
synced 2025-02-21 10:51:04 +00:00
add 'launch all'
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/devmodules/dev-libs/ec@35402 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
2d189c1085
commit
6a0574e2c7
1 changed files with 57 additions and 20 deletions
77
EcCommand.m
77
EcCommand.m
|
@ -610,7 +610,9 @@ static NSString* cmdWord(NSArray* a, unsigned int pos)
|
|||
else if (comp(wd, @"Launch") >= 0)
|
||||
{
|
||||
m = @"Launch <name>\nAdds the named program to the list "
|
||||
@"of programs to be launched as soon as possible.\n";
|
||||
@"of programs to be launched as soon as possible.\n"
|
||||
@"Launch all\nAdds all unlaunched programs which do "
|
||||
@"not have autolaunch disabled.\n";
|
||||
}
|
||||
else if (comp(wd, @"List") >= 0)
|
||||
{
|
||||
|
@ -651,26 +653,61 @@ static NSString* cmdWord(NSArray* a, unsigned int pos)
|
|||
BOOL found = NO;
|
||||
|
||||
enumerator = [launchInfo keyEnumerator];
|
||||
while ((key = [enumerator nextObject]) != nil)
|
||||
{
|
||||
if (comp(nam, key) >= 0)
|
||||
{
|
||||
EcClientI *r;
|
||||
if ([nam caseInsensitiveCompare: @"all"] == NSOrderedSame)
|
||||
{
|
||||
NSMutableArray *names = [NSMutableArray array];
|
||||
|
||||
found = YES;
|
||||
r = [self findIn: clients byName: key];
|
||||
if (r == nil)
|
||||
{
|
||||
[launches setObject: [NSDate distantPast] forKey: key];
|
||||
m = @"Ok - I will launch that program "
|
||||
@"when I get a chance.\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
m = @"That program is already running\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
while ((key = [enumerator nextObject]) != nil)
|
||||
{
|
||||
EcClientI *r;
|
||||
NSDictionary *inf;
|
||||
|
||||
inf = [launchInfo objectForKey: key];
|
||||
if ([[inf objectForKey: @"Auto"] boolValue]==NO)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
r = [self findIn: clients byName: key];
|
||||
if (nil != r)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
found = YES;
|
||||
[launches setObject: [NSDate distantPast]
|
||||
forKey: key];
|
||||
[names addObject: key];
|
||||
}
|
||||
if (YES == found)
|
||||
{
|
||||
[names sortUsingSelector: @selector(compare:)];
|
||||
m = [NSString stringWithFormat:
|
||||
@"Ok - I will launch %@ when I get a chance.\n",
|
||||
names];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
while ((key = [enumerator nextObject]) != nil)
|
||||
{
|
||||
if (comp(nam, key) >= 0)
|
||||
{
|
||||
EcClientI *r;
|
||||
|
||||
found = YES;
|
||||
r = [self findIn: clients byName: key];
|
||||
if (r == nil)
|
||||
{
|
||||
[launches setObject: [NSDate distantPast] forKey: key];
|
||||
m = @"Ok - I will launch that program "
|
||||
@"when I get a chance.\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
m = @"That program is already running\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (found == NO)
|
||||
{
|
||||
m = @"I don't know how to launch that program.\n";
|
||||
|
|
Loading…
Reference in a new issue