Fix tab double-click rename functionality
This commit is contained in:
@@ -52,6 +52,8 @@ class MainWindowController: NSWindowController {
|
||||
var settingsWindow: SettingsWindowController!
|
||||
var zoomedPane: TerminalSession?
|
||||
var preZoomSplitView: NSSplitView?
|
||||
var lastTabClickTime: Date?
|
||||
var lastTabClickIndex: Int = -1
|
||||
|
||||
convenience init() {
|
||||
let window = NSWindow(
|
||||
@@ -317,11 +319,6 @@ class MainWindowController: NSWindowController {
|
||||
tabButton.font = NSFont.systemFont(ofSize: 11)
|
||||
tabButton.translatesAutoresizingMaskIntoConstraints = false
|
||||
|
||||
// Add double-click for rename
|
||||
let doubleClickGesture = NSClickGestureRecognizer(target: self, action: #selector(tabDoubleClicked(_:)))
|
||||
doubleClickGesture.numberOfClicksRequired = 2
|
||||
tabButton.addGestureRecognizer(doubleClickGesture)
|
||||
|
||||
// Highlight current tab
|
||||
if index == tabManager.currentIndex {
|
||||
tabButton.contentTintColor = .systemBlue
|
||||
@@ -421,12 +418,27 @@ class MainWindowController: NSWindowController {
|
||||
}
|
||||
|
||||
@objc func tabClicked(_ sender: NSButton) {
|
||||
switchToTab(index: sender.tag)
|
||||
let index = sender.tag
|
||||
let now = Date()
|
||||
|
||||
// Check for double-click (within 0.3 seconds)
|
||||
if let lastClick = lastTabClickTime,
|
||||
lastTabClickIndex == index,
|
||||
now.timeIntervalSince(lastClick) < 0.3 {
|
||||
// Double-click detected
|
||||
tabDoubleClicked(sender)
|
||||
lastTabClickTime = nil
|
||||
lastTabClickIndex = -1
|
||||
} else {
|
||||
// Single click
|
||||
lastTabClickTime = now
|
||||
lastTabClickIndex = index
|
||||
switchToTab(index: index)
|
||||
}
|
||||
}
|
||||
|
||||
@objc func tabDoubleClicked(_ sender: NSClickGestureRecognizer) {
|
||||
guard let button = sender.view as? NSButton else { return }
|
||||
let index = button.tag
|
||||
@objc func tabDoubleClicked(_ sender: NSButton) {
|
||||
let index = sender.tag
|
||||
|
||||
let alert = NSAlert()
|
||||
alert.messageText = "Rename Tab"
|
||||
|
||||
Reference in New Issue
Block a user