summaryrefslogtreecommitdiff
path: root/gedit/osx/gedit-osx-delegate.m
diff options
context:
space:
mode:
Diffstat (limited to 'gedit/osx/gedit-osx-delegate.m')
-rwxr-xr-xgedit/osx/gedit-osx-delegate.m84
1 files changed, 0 insertions, 84 deletions
diff --git a/gedit/osx/gedit-osx-delegate.m b/gedit/osx/gedit-osx-delegate.m
deleted file mode 100755
index 41b0b262..00000000
--- a/gedit/osx/gedit-osx-delegate.m
+++ /dev/null
@@ -1,84 +0,0 @@
-#import "gedit-osx-delegate.h"
-#import <Foundation/NSAppleEventManager.h>
-#import <Foundation/NSAppleEventDescriptor.h>
-#import <Foundation/NSData.h>
-#include <glib.h>
-#include <gedit/gedit-app.h>
-#include <gedit/gedit-commands.h>
-
-@implementation GeditOSXDelegate
--(id)init
-{
- if ((self = [super init]))
- {
- NSAppleEventManager* em = [NSAppleEventManager sharedAppleEventManager];
-
- [em setEventHandler:self
- andSelector:@selector(openFiles:withReply:)
- forEventClass:kCoreEventClass
- andEventID:kAEOpenDocuments];
- }
-
- return self;
-}
-
-static GeditWindow *
-get_window(NSAppleEventDescriptor *event)
-{
- GeditApp *app = gedit_app_get_default ();
- return gedit_app_get_active_window (app);
-}
-
-- (void)openFiles:(NSAppleEventDescriptor*)event
- withReply:(NSAppleEventDescriptor*)reply
-{
- NSAppleEventDescriptor *fileList = [event paramDescriptorForKeyword:keyDirectObject];
- NSInteger i;
- GSList *uris = NULL;
-
- if (!fileList)
- {
- return;
- }
-
- for (i = 1; i <= [fileList numberOfItems]; ++i)
- {
- NSAppleEventDescriptor *fileAliasDesc = [fileList descriptorAtIndex:i];
- NSAppleEventDescriptor *fileURLDesc;
- NSData *fileURLData;
- gchar *url;
-
- if (!fileAliasDesc)
- {
- continue;
- }
-
- fileURLDesc = [fileAliasDesc coerceToDescriptorType:typeFileURL];
-
- if (!fileURLDesc)
- {
- continue;
- }
-
- fileURLData = [fileURLDesc data];
-
- if (!fileURLData)
- {
- continue;
- }
-
- url = g_strndup([fileURLData bytes], [fileURLData length]);
- uris = g_slist_prepend (uris, url);
- }
-
- if (uris != NULL)
- {
- GeditWindow *window = get_window (event);
- gedit_commands_load_uris (window, uris, NULL, 0);
-
- g_slist_foreach (uris, (GFunc)g_free, NULL);
- g_slist_free (uris);
- }
-}
-
-@end \ No newline at end of file