PDFViewer/appdelegate/AppDelegate.m
author Markus Bröker<broeker.markus@googlemail.com>
Thu, 04 May 2017 18:18:57 +0200
changeset 8 c9cf6f811b86
parent 4 499c41b85afd
permissions -rw-r--r--
Automatisches Öffnen des letzten Dokuments
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
     1
//
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
     2
//  AppDelegate.m
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
     3
//  PDFViewer
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
     4
//
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
     5
//  Created by Markus Bröker on 27.03.17.
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
     6
//  Copyright © 2017 Markus Bröker. All rights reserved.
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
     7
//
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
     8
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
     9
#import "AppDelegate.h"
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
    10
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
    11
@implementation AppDelegate
8
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    12
@synthesize controller = _controller;
0
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
    13
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
    14
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
8
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    15
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(newDocumentLoaded:) name:@"newDocumentLoaded" object:nil];
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    16
}
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    17
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    18
- (void)newDocumentLoaded:(NSNotification*) notification {
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    19
    NSString *lastUrl = [notification object];
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    20
    
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    21
    NSLog(@"Setze die letzte URL auf %@", lastUrl);
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    22
    
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    23
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    24
    [defaults setObject:lastUrl forKey:@"lastURL"];
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    25
    [defaults synchronize];
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    26
}
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    27
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    28
- (void)applicationWillFinishLaunching:(NSNotification *)notification {
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    29
    _window = [[[NSApplication sharedApplication] windows] objectAtIndex:0];
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    30
    _controller = (ViewController*) [_window contentViewController];
0
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
    31
}
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
    32
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
    33
- (void)applicationWillTerminate:(NSNotification *)aNotification {
3
523bf90e16b7 Weitere Menüpunkte aktiviert
Markus Bröker<broeker.markus@googlemail.com>
parents: 1
diff changeset
    34
    // Insert code here to tear down your application
0
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
    35
}
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
    36
3
523bf90e16b7 Weitere Menüpunkte aktiviert
Markus Bröker<broeker.markus@googlemail.com>
parents: 1
diff changeset
    37
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender {
523bf90e16b7 Weitere Menüpunkte aktiviert
Markus Bröker<broeker.markus@googlemail.com>
parents: 1
diff changeset
    38
    return TRUE;
0
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
    39
}
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
    40
4
499c41b85afd Öffnen von PDF-Dokumenten optimiert
Markus Bröker<broeker.markus@googlemail.com>
parents: 3
diff changeset
    41
- (BOOL) application:(NSApplication *)sender openFile:(NSString *)filename {
499c41b85afd Öffnen von PDF-Dokumenten optimiert
Markus Bröker<broeker.markus@googlemail.com>
parents: 3
diff changeset
    42
    NSURL *url = [[NSURL alloc] initFileURLWithPath:filename];
8
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    43
    BOOL status = [[_controller pdfViewer] loadUrl: url];
4
499c41b85afd Öffnen von PDF-Dokumenten optimiert
Markus Bröker<broeker.markus@googlemail.com>
parents: 3
diff changeset
    44
    
499c41b85afd Öffnen von PDF-Dokumenten optimiert
Markus Bröker<broeker.markus@googlemail.com>
parents: 3
diff changeset
    45
    if (!status) {
8
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    46
        [[_controller pdfViewer] speak:(NSMutableString*)@"Das Dokument konnte nicht geladen werden"];
4
499c41b85afd Öffnen von PDF-Dokumenten optimiert
Markus Bröker<broeker.markus@googlemail.com>
parents: 3
diff changeset
    47
    } else {
8
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    48
        [[_controller pdfViewer] startSpeaking:nil];
4
499c41b85afd Öffnen von PDF-Dokumenten optimiert
Markus Bröker<broeker.markus@googlemail.com>
parents: 3
diff changeset
    49
    }
499c41b85afd Öffnen von PDF-Dokumenten optimiert
Markus Bröker<broeker.markus@googlemail.com>
parents: 3
diff changeset
    50
    
499c41b85afd Öffnen von PDF-Dokumenten optimiert
Markus Bröker<broeker.markus@googlemail.com>
parents: 3
diff changeset
    51
    return status;
499c41b85afd Öffnen von PDF-Dokumenten optimiert
Markus Bröker<broeker.markus@googlemail.com>
parents: 3
diff changeset
    52
}
499c41b85afd Öffnen von PDF-Dokumenten optimiert
Markus Bröker<broeker.markus@googlemail.com>
parents: 3
diff changeset
    53
499c41b85afd Öffnen von PDF-Dokumenten optimiert
Markus Bröker<broeker.markus@googlemail.com>
parents: 3
diff changeset
    54
- (void) application:(NSApplication *)sender openFiles:(NSArray<NSString *> *)filenames {
8
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    55
    for (id filename in filenames) {
c9cf6f811b86 Automatisches Öffnen des letzten Dokuments
Markus Bröker<broeker.markus@googlemail.com>
parents: 4
diff changeset
    56
        [self application:sender openFile:filename];
4
499c41b85afd Öffnen von PDF-Dokumenten optimiert
Markus Bröker<broeker.markus@googlemail.com>
parents: 3
diff changeset
    57
    }
499c41b85afd Öffnen von PDF-Dokumenten optimiert
Markus Bröker<broeker.markus@googlemail.com>
parents: 3
diff changeset
    58
}
499c41b85afd Öffnen von PDF-Dokumenten optimiert
Markus Bröker<broeker.markus@googlemail.com>
parents: 3
diff changeset
    59
0
c344b61ddaf6 Initialer Commit des sprechenden PDFViewers
Markus Bröker<broeker.markus@googlemail.com>
parents:
diff changeset
    60
@end