reworking of getting the path to the file when saving/opening files

This commit is contained in:
vladimir.kuznetsov 2023-09-07 22:45:01 +05:00
parent e1fa24c251
commit b5dd48ad7b
21 changed files with 167 additions and 243 deletions

View file

@ -4,15 +4,16 @@
#include <QObject>
#include <QStringList>
class MobileUtils : public QObject {
class MobileUtils : public QObject
{
Q_OBJECT
public:
MobileUtils() = delete;
public slots:
static void shareText(const QStringList& filesToSend);
static void shareText(const QStringList &filesToSend);
static void openFile();
};
#endif // MOBILEUTILS_H

View file

@ -35,3 +35,31 @@ void MobileUtils::shareText(const QStringList& filesToSend) {
}
}
@interface MyFilePickerDelegate : NSObject <UIDocumentPickerDelegate>
@end
@implementation MyFilePickerDelegate
- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentsAtURLs:(NSArray<NSURL *> *)urls {
for (NSURL *url in urls) {
NSString *filePath = [url path];
NSData *fileData = [NSData dataWithContentsOfFile:filePath];
NSString *fileContent = [[NSString alloc] initWithData:fileData encoding:NSUTF8StringEncoding];
NSLog(@"Содержимое файла: %@", fileContent);
}
}
@end
void MobileUtils::openFile() {
UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[@"public.item"] inMode:UIDocumentPickerModeOpen];
MyFilePickerDelegate *filePickerDelegate = [[MyFilePickerDelegate alloc] init];
documentPicker.delegate = filePickerDelegate;
UIViewController *qtController = getViewController();
if (!qtController) return;
[qtController presentViewController:documentPicker animated:YES completion:nil];
}