This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hop.git
The following commit(s) were added to refs/heads/master by this push:
new f02054abf5 Fix #2081 : Close tab with middle button
new 11657440b2 Merge pull request #2103 from nadment/2081
f02054abf5 is described below
commit f02054abf5b9d9b74abd12fcd6d62059fd88cf75
Author: Nicolas Adment <[email protected]>
AuthorDate: Thu Dec 22 20:50:39 2022 +0100
Fix #2081 : Close tab with middle button
---
.../apache/hop/ui/hopgui/perspective/TabCloseHandler.java | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/TabCloseHandler.java
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/TabCloseHandler.java
index 7671723e1a..7e1c97e513 100644
--- a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/TabCloseHandler.java
+++ b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/TabCloseHandler.java
@@ -40,6 +40,7 @@ public class TabCloseHandler {
Menu menu = new Menu(tabFolder);
tabFolder.setMenu(menu);
tabFolder.addListener(SWT.MenuDetect, event ->
handleTabMenuDetectEvent(event));
+ tabFolder.addListener(SWT.MouseUp, event -> handleMouseUp(event,
tabClosablePerspective));
// Create menu item
MenuItem miClose = new MenuItem(menu, SWT.NONE);
@@ -84,6 +85,20 @@ public class TabCloseHandler {
tabClosablePerspective.closeTab(null, tabItem)));
}
+ private void handleMouseUp(Event event, TabClosable
tabClosablePerspective) {
+
+ // Middle button close tab
+ if (event.button == 2) {
+ Point point = new Point(event.x, event.y);
+ CTabItem item = tabFolder.getItem(point);
+ if (item != null) {
+ tabClosablePerspective.closeTab(null, item);
+ }
+ }
+
+ event.doit = false;
+ }
+
private void handleTabMenuDetectEvent(Event event) {
Point point =
tabFolder.toControl(tabFolder.getDisplay().getCursorLocation());
selectedItem = tabFolder.getItem(new Point(point.x, point.y));