mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-22 16:10:48 +00:00
Add (very crude) netscape open url.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3350 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
5820a5250f
commit
583ba54365
2 changed files with 52 additions and 0 deletions
|
@ -36,12 +36,16 @@
|
|||
#include <Foundation/NSRunLoop.h>
|
||||
#include <Foundation/NSString.h>
|
||||
#include <Foundation/NSException.h>
|
||||
#include <Foundation/NSTask.h>
|
||||
#include <AppKit/NSApplication.h>
|
||||
#include <AppKit/NSPasteboard.h>
|
||||
|
||||
#include <signal.h>
|
||||
|
||||
@interface ExampleServices : NSObject
|
||||
- (void) openURL: (NSPasteboard*)bp
|
||||
userData: (NSString*)ud
|
||||
error: (NSString**)err;
|
||||
- (void) tolower: (NSPasteboard*)bp
|
||||
userData: (NSString*)ud
|
||||
error: (NSString**)err;
|
||||
|
@ -51,6 +55,39 @@
|
|||
@end
|
||||
|
||||
@implementation ExampleServices
|
||||
- (void) openURL: (NSPasteboard*)pb
|
||||
userData: (NSString*)ud
|
||||
error: (NSString**)err
|
||||
{
|
||||
NSString *url;
|
||||
NSArray *types;
|
||||
NSArray *args;
|
||||
NSString *path;
|
||||
NSTask *task;
|
||||
|
||||
types = [pb types];
|
||||
if (![types containsObject: NSStringPboardType])
|
||||
{
|
||||
*err = @"No string type supplied on pasteboard";
|
||||
return;
|
||||
}
|
||||
|
||||
url = [pb stringForType: NSStringPboardType];
|
||||
if (url == nil)
|
||||
{
|
||||
*err = @"No string value supplied on pasteboard";
|
||||
return;
|
||||
}
|
||||
|
||||
path = @"/bin/sh";
|
||||
args = [NSArray arrayWithObjects:
|
||||
@"-c",
|
||||
[NSString stringWithFormat: @"netscape -remote \"openURL(%@)\"",
|
||||
url],
|
||||
nil];
|
||||
task = [NSTask launchedTaskWithLaunchPath: path
|
||||
arguments: args];
|
||||
}
|
||||
- (void) tolower: (NSPasteboard*)pb
|
||||
userData: (NSString*)ud
|
||||
error: (NSString**)err
|
||||
|
|
|
@ -1,4 +1,19 @@
|
|||
NSServices = (
|
||||
{
|
||||
NSPortName = ExampleServices;
|
||||
NSMessage = openURL;
|
||||
NSSendTypes = (
|
||||
NSStringPboardType
|
||||
);
|
||||
NSMenuItem = {
|
||||
default = "Open URL";
|
||||
English = "Open URL";
|
||||
};
|
||||
NSKeyEquivalent = {
|
||||
default = O;
|
||||
English = O;
|
||||
};
|
||||
},
|
||||
{
|
||||
NSPortName = ExampleServices;
|
||||
NSMessage = tolower;
|
||||
|
|
Loading…
Reference in a new issue