From 819dd242e3e4bde7195e2f9d963f5c089932923a Mon Sep 17 00:00:00 2001 From: Radek Davidek Date: Tue, 20 Jan 2026 17:54:47 +0100 Subject: [PATCH] better wheel scrolling --- .../java/cz/kamma/kfmanager/config/AppConfig.java | 12 ------------ .../java/cz/kamma/kfmanager/ui/FilePanelTab.java | 7 ++----- .../java/cz/kamma/kfmanager/ui/SettingsDialog.java | 14 -------------- 3 files changed, 2 insertions(+), 31 deletions(-) diff --git a/src/main/java/cz/kamma/kfmanager/config/AppConfig.java b/src/main/java/cz/kamma/kfmanager/config/AppConfig.java index 787e0cf..abddda4 100644 --- a/src/main/java/cz/kamma/kfmanager/config/AppConfig.java +++ b/src/main/java/cz/kamma/kfmanager/config/AppConfig.java @@ -101,18 +101,6 @@ public class AppConfig { public void setActivePanel(String panel) { properties.setProperty("active.panel", panel); } - - public int getBriefMouseWheelSteps() { - try { - return Integer.parseInt(properties.getProperty("brief.mousewheel.steps", "10")); - } catch (NumberFormatException e) { - return 10; - } - } - - public void setBriefMouseWheelSteps(int steps) { - properties.setProperty("brief.mousewheel.steps", String.valueOf(steps)); - } public String getLeftPanelPath() { return properties.getProperty("leftPanel.path", System.getProperty("user.home")); diff --git a/src/main/java/cz/kamma/kfmanager/ui/FilePanelTab.java b/src/main/java/cz/kamma/kfmanager/ui/FilePanelTab.java index b46f0f3..1df6fc4 100644 --- a/src/main/java/cz/kamma/kfmanager/ui/FilePanelTab.java +++ b/src/main/java/cz/kamma/kfmanager/ui/FilePanelTab.java @@ -543,11 +543,8 @@ public class FilePanelTab extends JPanel { if (viewMode == ViewMode.BRIEF) { int rotation = e.getWheelRotation(); if (rotation != 0) { - int steps = 10; - if (persistedConfig != null) { - steps = persistedConfig.getBriefMouseWheelSteps(); - } - handleBriefNavigation(rotation > 0, steps); + // Navigate by one full column per wheel step + handleBriefNavigation(rotation > 0, tableModel.briefRowsPerColumn); e.consume(); } } diff --git a/src/main/java/cz/kamma/kfmanager/ui/SettingsDialog.java b/src/main/java/cz/kamma/kfmanager/ui/SettingsDialog.java index be1b693..d19dec2 100644 --- a/src/main/java/cz/kamma/kfmanager/ui/SettingsDialog.java +++ b/src/main/java/cz/kamma/kfmanager/ui/SettingsDialog.java @@ -25,7 +25,6 @@ public class SettingsDialog extends JDialog { private final Color originalSel; private final Color originalMark; private final Color originalFolder; - private final int originalBriefMouseWheelSteps; private final Font originalGlobalFont; private final Font originalEditorFont; private final String originalExternalEditorPath; @@ -56,7 +55,6 @@ public class SettingsDialog extends JDialog { this.originalSel = config.getSelectionColor(); this.originalMark = config.getMarkedColor(); this.originalFolder = config.getFolderColor(); - this.originalBriefMouseWheelSteps = config.getBriefMouseWheelSteps(); this.originalGlobalFont = config.getGlobalFont(); this.originalEditorFont = config.getEditorFont(); this.originalExternalEditorPath = config.getExternalEditorPath(); @@ -207,8 +205,6 @@ public class SettingsDialog extends JDialog { JPanel behaviorHolder = (JPanel) panels.get("Behavior"); if (behaviorHolder != null) { try { - JSpinner mws = (JSpinner) behaviorHolder.getClientProperty("mouseWheelSteps"); - if (mws != null) config.setBriefMouseWheelSteps((Integer) mws.getValue()); JSpinner ari = (JSpinner) behaviorHolder.getClientProperty("autoRefreshInterval"); if (ari != null) config.setAutoRefreshInterval((Integer) ari.getValue()); } catch (Exception ignore) {} @@ -226,7 +222,6 @@ public class SettingsDialog extends JDialog { config.setSelectionColor(originalSel); config.setMarkedColor(originalMark); config.setFolderColor(originalFolder); - config.setBriefMouseWheelSteps(originalBriefMouseWheelSteps); config.setGlobalFont(originalGlobalFont); config.setEditorFont(originalEditorFont); config.setExternalEditorPath(originalExternalEditorPath); @@ -430,14 +425,6 @@ public class SettingsDialog extends JDialog { int row = 0; - // Mouse wheel steps in brief mode - gbc.gridx = 0; gbc.gridy = row; gbc.weightx = 0.0; - grid.add(new JLabel("Mouse wheel steps (Brief mode):"), gbc); - - JSpinner mwSteps = new JSpinner(new SpinnerNumberModel(config.getBriefMouseWheelSteps(), 1, 100, 1)); - gbc.gridx = 1; gbc.gridy = row++; gbc.weightx = 1.0; - grid.add(mwSteps, gbc); - // Auto-refresh interval gbc.gridx = 0; gbc.gridy = row; gbc.weightx = 0.0; grid.add(new JLabel("Auto-refresh interval (ms):"), gbc); @@ -447,7 +434,6 @@ public class SettingsDialog extends JDialog { grid.add(refreshInt, gbc); p.add(grid, BorderLayout.NORTH); - p.putClientProperty("mouseWheelSteps", mwSteps); p.putClientProperty("autoRefreshInterval", refreshInt); panels.put("Behavior", p); return p;