Move tabs by keyboard

Adds the ability to move the active wallet tab using the keyboard shortcut CTRL+Shift+LEFT / CTRL+Shift+RIGHT
This commit is contained in:
Mar Schal 2025-09-23 12:44:21 +02:00
parent 2e1bf9a497
commit 5af83adb55

View file

@ -446,39 +446,26 @@ public class AppController implements Initializable {
} else if(event.getCode() == KeyCode.RIGHT && currentIndex < tabs.getTabs().size() - 1) {
tabs.getSelectionModel().select(currentIndex + 1);
}
}
});
// MSC: move tabs by keyboard
tabs.getScene().addEventFilter(KeyEvent.KEY_PRESSED, event -> {
if (event.isControlDown() && event.isShiftDown() && (event.getCode() == KeyCode.LEFT || event.getCode() == KeyCode.RIGHT)){
} else if (event.isControlDown() && event.isShiftDown() && (event.getCode() == KeyCode.LEFT || event.getCode() == KeyCode.RIGHT)){
boolean moveLeft = event.getCode() == KeyCode.LEFT;
int currentIndex = tabs.getSelectionModel().getSelectedIndex();
if (moveLeft && currentIndex == 0)
return;
if (!moveLeft && currentIndex + 1 >= tabs.getTabs().size())
return;
Tab selectedTab = tabs.getSelectionModel().getSelectedItem();
tabs.getTabs().removeListener(tabsChangeListener);
tabs.getTabs().remove(selectedTab);
if (moveLeft)
tabs.getTabs().add(currentIndex - 1, selectedTab);
else
tabs.getTabs().add(currentIndex + 1, selectedTab);
tabs.getTabs().addListener(tabsChangeListener);
tabs.getSelectionModel().select(selectedTab);
EventManager.get().post(new RequestOpenWalletsEvent()); //Rearrange recent files list
}
});
}
}
private void setPlatformApplicationMenu() {