79 lines
3.2 KiB
Text
79 lines
3.2 KiB
Text
|
// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*-
|
||
|
//
|
||
|
// This file is part of the LibreOffice project.
|
||
|
//
|
||
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
||
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
||
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||
|
|
||
|
#import "config.h"
|
||
|
|
||
|
#import "DocumentBrowserViewController.h"
|
||
|
#import "Document.h"
|
||
|
#import "DocumentViewController.h"
|
||
|
|
||
|
@interface DocumentBrowserViewController () <UIDocumentBrowserViewControllerDelegate>
|
||
|
|
||
|
@end
|
||
|
|
||
|
@implementation DocumentBrowserViewController
|
||
|
|
||
|
- (void)viewDidLoad {
|
||
|
[super viewDidLoad];
|
||
|
self.delegate = self;
|
||
|
self.allowsDocumentCreation = YES;
|
||
|
self.allowsPickingMultipleItems = NO;
|
||
|
|
||
|
// Update the style of the UIDocumentBrowserViewController
|
||
|
// self.browserUserInterfaceStyle = UIDocumentBrowserUserInterfaceStyleDark;
|
||
|
// self.view.tintColor = [UIColor whiteColor];
|
||
|
|
||
|
// Specify the allowed content types of your application via the Info.plist.
|
||
|
|
||
|
// Do any additional setup after loading the view, typically from a nib.
|
||
|
}
|
||
|
|
||
|
- (void)documentBrowser:(UIDocumentBrowserViewController *)controller didRequestDocumentCreationWithHandler:(void (^)(NSURL * _Nullable, UIDocumentBrowserImportMode))importHandler {
|
||
|
NSURL *newDocumentURL = nil;
|
||
|
|
||
|
// Set the URL for the new document here. Optionally, you can present a template chooser before calling the importHandler.
|
||
|
// Make sure the importHandler is always called, even if the user cancels the creation request.
|
||
|
if (newDocumentURL != nil) {
|
||
|
importHandler(newDocumentURL, UIDocumentBrowserImportModeMove);
|
||
|
} else {
|
||
|
importHandler(newDocumentURL, UIDocumentBrowserImportModeNone);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
-(void)documentBrowser:(UIDocumentBrowserViewController *)controller didPickDocumentURLs:(NSArray<NSURL *> *)documentURLs {
|
||
|
NSURL *sourceURL = documentURLs.firstObject;
|
||
|
if (!sourceURL) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
// Present the Document View Controller for the first document that was picked.
|
||
|
// If you support picking multiple items, make sure you handle them all.
|
||
|
[self presentDocumentAtURL:sourceURL];
|
||
|
}
|
||
|
|
||
|
- (void)documentBrowser:(UIDocumentBrowserViewController *)controller didImportDocumentAtURL:(NSURL *)sourceURL toDestinationURL:(NSURL *)destinationURL {
|
||
|
// Present the Document View Controller for the new newly created document
|
||
|
[self presentDocumentAtURL:destinationURL];
|
||
|
}
|
||
|
|
||
|
- (void)documentBrowser:(UIDocumentBrowserViewController *)controller failedToImportDocumentAtURL:(NSURL *)documentURL error:(NSError * _Nullable)error {
|
||
|
// Make sure to handle the failed import appropriately, e.g., by presenting an error message to the user.
|
||
|
}
|
||
|
|
||
|
- (void)presentDocumentAtURL:(NSURL *)documentURL {
|
||
|
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
|
||
|
DocumentViewController *documentViewController = [storyBoard instantiateViewControllerWithIdentifier:@"DocumentViewController"];
|
||
|
documentViewController.document = [[Document alloc] initWithFileURL:documentURL];
|
||
|
documentViewController.document.viewController = documentViewController;
|
||
|
[self presentViewController:documentViewController animated:YES completion:nil];
|
||
|
}
|
||
|
|
||
|
@end
|
||
|
|
||
|
// vim:set shiftwidth=4 softtabstop=4 expandtab:
|