Skip to content

Commit

Permalink
Restore 3f menu
Browse files Browse the repository at this point in the history
yury committed Dec 10, 2019
1 parent 3de7894 commit cdc3680
Showing 5 changed files with 37 additions and 9 deletions.
1 change: 1 addition & 0 deletions Blink/Blink-bridge.h
Original file line number Diff line number Diff line change
@@ -44,5 +44,6 @@
#import "MCPSession.h"
#import "TermDevice.h"
#import "KBWebViewBase.h"
#import "openurl.h"

#endif /* Blink_bridge_h */
32 changes: 32 additions & 0 deletions Blink/SmarterKeys/SmarterTermInput.swift
Original file line number Diff line number Diff line change
@@ -278,6 +278,38 @@ class SmarterTermInput: KBWebView {
// }
}

@objc func copyLink(_ sender: Any) {
guard let url = device?.view?.detectedLink else {
return
}
UIPasteboard.general.url = url
device?.view?.cleanSelection()
}

@objc func openLink(_ sender: Any) {
guard let url = device?.view?.detectedLink else {
return
}
device?.view?.cleanSelection()

blink_openurl(url)
}

override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
switch action {
case #selector(UIResponder.paste(_:)):
return true
case #selector(UIResponder.copy(_:)),
#selector(TermView.pasteSelection(_:)):
return device?.view?.hasSelection == true
case #selector(Self.copyLink(_:)),
#selector(Self.openLink(_:)):
return device?.view?.detectedLink != nil
default:
return super.canPerformAction(action, withSender: sender)
}
}

override func onIME(_ event: String, data: String) {
if event == "compositionstart" && data.isEmpty {
} else if event == "compositionend" {
5 changes: 2 additions & 3 deletions Blink/TermView.m
Original file line number Diff line number Diff line change
@@ -485,8 +485,7 @@ - (void)_handleSelectionChange:(NSDictionary *)data

CGRect rect = CGRectFromString(data[@"rect"]);
[menu setMenuItems:items];
[menu setTargetRect:rect inView:self];
[menu setMenuVisible:YES animated:NO];
[menu showMenuFromView:self rect:rect];
}

- (void)modifySideOfSelection
@@ -558,7 +557,7 @@ - (void)copy:(id)sender
{
[_webView copy:sender];
UIMenuController * menu = [UIMenuController sharedMenuController];
[menu setMenuVisible:NO animated:YES];
[menu hideMenuFromView:self];
}

- (void)paste:(id)sender
4 changes: 0 additions & 4 deletions KB/Native/Views/KBWebView.swift
Original file line number Diff line number Diff line change
@@ -97,10 +97,6 @@ class KBWebView: KBWebViewBase {
loadFileURL(url, allowingReadAccessTo: url.deletingLastPathComponent())
}

public override var editingInteractionConfiguration: UIEditingInteractionConfiguration {
UIEditingInteractionConfiguration.default
}

override func didMoveToSuperview() {
super.didMoveToSuperview()
if window != nil && !_loaded {
4 changes: 2 additions & 2 deletions KB/Native/Views/KBWebViewBase.m
Original file line number Diff line number Diff line change
@@ -213,8 +213,8 @@ - (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
@selector(toggleItalics:) == action ||
@selector(cut:) == action ||
@selector(toggleFontPanel:) == action ||
// @selector(paste:) == action ||
// @selector(copy:) == action ||
@selector(select:) == action ||
@selector(selectAll:) == action ||
@selector(toggleUnderline:) == action) {
return NO;
}

0 comments on commit cdc3680

Please sign in to comment.