fix: remove share button (MESSENGER-8137)

This commit is contained in:
Jan Niklas Grabowski
2026-03-31 14:30:32 +02:00
parent 56e02e7136
commit c92ef3961e

View File

@@ -9,7 +9,10 @@ Please see LICENSE in the repository root for full details.
#import "MXKPreviewViewController.h" #import "MXKPreviewViewController.h"
@import QuickLook; @import QuickLook;
@interface MXKPreviewViewController () <QLPreviewControllerDataSource> @interface MXKPreviewViewController () <QLPreviewControllerDataSource> {
// BWI #8137 remove share button
NSTimer *removeShareButtonTimer;
}
/// A specialized view controller for previewing an item. /// A specialized view controller for previewing an item.
@property (nonatomic, weak) QLPreviewController *previewController; @property (nonatomic, weak) QLPreviewController *previewController;
@@ -63,22 +66,20 @@ Please see LICENSE in the repository root for full details.
if (!self.allowActions) if (!self.allowActions)
{ {
NSMutableArray *items = [NSMutableArray arrayWithArray: self.previewController.navigationItem.rightBarButtonItems]; // BWI #8137 remove share button
if (items.count > 0) [removeShareButtonTimer invalidate];
{ removeShareButtonTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 repeats:YES block:^(NSTimer * _Nonnull timer) {
[items removeObjectAtIndex:0]; [self removeShareButtons];
} }];
self.previewController.navigationItem.rightBarButtonItems = items;
// bwi: no toolbar items to disallow share files
self.previewController.toolbarItems = nil;
// bwi: no title to disallow sharing/printing
self.previewController.navigationItem.title = @"";
} }
} }
- (IBAction)doneAction:(id)sender - (IBAction)doneAction:(id)sender
{ {
// BWI #8137 remove share button
[removeShareButtonTimer invalidate];
removeShareButtonTimer = nil;
[self dismissViewControllerAnimated:YES completion:^{ [self dismissViewControllerAnimated:YES completion:^{
if ([self.previewDelegate respondsToSelector:@selector(previewViewControllerDidEndPreview:)]) { if ([self.previewDelegate respondsToSelector:@selector(previewViewControllerDidEndPreview:)]) {
[self.previewDelegate previewViewControllerDidEndPreview:self]; [self.previewDelegate previewViewControllerDidEndPreview:self];
@@ -86,6 +87,21 @@ Please see LICENSE in the repository root for full details.
}]; }];
} }
// BWI #8137 remove share button
- (void)removeShareButtons
{
NSMutableArray *items = [NSMutableArray arrayWithArray: self.previewController.navigationItem.rightBarButtonItems];
if (items.count > 0)
{
[items removeObjectAtIndex:0];
}
self.previewController.navigationItem.rightBarButtonItems = items;
// bwi: no toolbar items to disallow share files
self.previewController.toolbarItems = nil;
// bwi: no title to disallow sharing/printing
self.previewController.navigationItem.title = @"";
}
#pragma mark - QLPreviewControllerDataSource #pragma mark - QLPreviewControllerDataSource
- (NSInteger)numberOfPreviewItemsInPreviewController:(nonnull QLPreviewController *)controller - (NSInteger)numberOfPreviewItemsInPreviewController:(nonnull QLPreviewController *)controller