Update context menu code style

This commit is contained in:
Sunnyyoung 2021-05-08 23:18:39 +08:00
parent b8df85a0b7
commit 551ac02551

View File

@ -281,29 +281,40 @@ static void __attribute__((constructor)) tweak(void) {
- (id)tweak_contextMenu { - (id)tweak_contextMenu {
NSMenu *menu = (NSMenu *)[self tweak_contextMenu]; NSMenu *menu = (NSMenu *)[self tweak_contextMenu];
MMMessageCellView *view = (MMMessageCellView *)self; switch (((MMMessageCellView *)self).messageTableItem.message.messageType) {
if (view.messageTableItem.message.messageType == MessageDataTypeAppUrl) { case MessageDataTypeAppUrl:
[menu addItem:[NSMenuItem separatorItem]]; [menu addItem:NSMenuItem.separatorItem];
[menu addItem:({ [menu addItem:({
NSMenuItem *copyUrlItem = [[NSMenuItem alloc] initWithTitle:[NSBundle.tweakBundle localizedStringForKey:@"Tweak.MessageMenuItem.CopyLink"] action:@selector(tweakCopyUrl:) keyEquivalent:@""]; NSMenuItem *copyUrlItem = [[NSMenuItem alloc] initWithTitle:[NSBundle.tweakBundle localizedStringForKey:@"Tweak.MessageMenuItem.CopyLink"]
copyUrlItem; action:@selector(tweakCopyURL:)
})]; keyEquivalent:@""];
[menu addItem:({ copyUrlItem;
NSMenuItem *openUrlItem = [[NSMenuItem alloc] initWithTitle:[NSBundle.tweakBundle localizedStringForKey:@"Tweak.MessageMenuItem.OpenInBrowser"] action:@selector(tweakOpenUrlItem:) keyEquivalent:@""]; })];
openUrlItem; [menu addItem:({
})]; NSMenuItem *openUrlItem = [[NSMenuItem alloc] initWithTitle:[NSBundle.tweakBundle localizedStringForKey:@"Tweak.MessageMenuItem.OpenInBrowser"]
} else if (view.messageTableItem.message.messageType == MessageDataTypeImage) { action:@selector(tweakOpenURL:)
[menu addItem:[NSMenuItem separatorItem]]; keyEquivalent:@""];
[menu addItem:({ openUrlItem;
NSMenuItem *qrCodeItem = [[NSMenuItem alloc] initWithTitle:[NSBundle.tweakBundle localizedStringForKey:@"Tweak.MessageMenuItem.IdentifyQRCode"] action:@selector(tweakIdentifyQRCode:) keyEquivalent:@""]; })];
qrCodeItem; break;
})]; case MessageDataTypeImage:
} else if (view.messageTableItem.message.messageType == MessageDataTypeSticker) { [menu addItem:NSMenuItem.separatorItem];
[menu addItem:[NSMenuItem separatorItem]]; [menu addItem:({
[menu addItem:({ NSMenuItem *qrCodeItem = [[NSMenuItem alloc] initWithTitle:[NSBundle.tweakBundle localizedStringForKey:@"Tweak.MessageMenuItem.IdentifyQRCode"]
NSMenuItem *exportStickerItem = [[NSMenuItem alloc] initWithTitle:[NSBundle.tweakBundle localizedStringForKey:@"Tweak.MessageMenuItem.ExportSticker"] action:@selector(tweakExportSticker:) keyEquivalent:@""]; action:@selector(tweakIdentifyQRCode:)
exportStickerItem; keyEquivalent:@""];
})]; qrCodeItem;
})];
case MessageDataTypeSticker:
[menu addItem:NSMenuItem.separatorItem];
[menu addItem:({
NSMenuItem *exportStickerItem = [[NSMenuItem alloc] initWithTitle:[NSBundle.tweakBundle localizedStringForKey:@"Tweak.MessageMenuItem.ExportSticker"]
action:@selector(tweakExportSticker:)
keyEquivalent:@""];
exportStickerItem;
})];
default:
break;
} }
return menu; return menu;
} }
@ -339,18 +350,18 @@ static void __attribute__((constructor)) tweak(void) {
}]; }];
} }
- (void)tweakCopyUrl:(id)sender { - (void)tweakCopyURL:(id)sender {
NSString *url = [self _tweakMessageContentUrl]; NSString *url = [self _tweakMessageContentUrl];
if (url.length) { if (url.length) {
[[NSPasteboard generalPasteboard] clearContents]; [NSPasteboard.generalPasteboard clearContents];
[[NSPasteboard generalPasteboard] setString:url forType:NSStringPboardType]; [NSPasteboard.generalPasteboard setString:url forType:NSStringPboardType];
} }
} }
- (void)tweakOpenUrlItem:(id)sender { - (void)tweakOpenURL:(id)sender {
NSString *url = [self _tweakMessageContentUrl]; NSString *url = [self _tweakMessageContentUrl];
if (url.length) { if (url.length) {
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:url]]; [NSWorkspace.sharedWorkspace openURL:[NSURL URLWithString:url]];
} }
} }