copy path to clipboard

This commit is contained in:
Radek Davidek 2026-02-11 17:39:47 +01:00
parent c373b1aa18
commit 4f539660c9
2 changed files with 21 additions and 0 deletions

View File

@ -21,6 +21,13 @@ public class ClipboardService {
clipboard.setContents(transferable, null);
}
public static void copyTextToClipboard(String text) {
if (text == null || text.isEmpty()) return;
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
StringSelection selection = new StringSelection(text);
clipboard.setContents(selection, null);
}
@SuppressWarnings("unchecked")
public static List<File> getFilesFromClipboard() {
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();

View File

@ -3,6 +3,7 @@ package cz.kamma.kfmanager.ui;
import cz.kamma.kfmanager.MainApp;
import cz.kamma.kfmanager.config.AppConfig;
import cz.kamma.kfmanager.model.FileItem;
import cz.kamma.kfmanager.service.ClipboardService;
import cz.kamma.kfmanager.service.FileOperations;
import cz.kamma.kfmanager.service.FileOperationQueue;
@ -294,6 +295,19 @@ public class MainWindow extends JFrame {
cmdLabel = new JLabel();
cmdLabel.setFont(new Font("Monospaced", Font.BOLD, 12));
// Add context menu to cmdLabel
JPopupMenu cmdPopupMenu = new JPopupMenu();
JMenuItem copyPathItem = new JMenuItem("Copy path");
copyPathItem.addActionListener(e -> {
String path = cmdLabel.getToolTipText();
if (path != null && !path.isEmpty()) {
ClipboardService.copyTextToClipboard(path);
}
});
cmdPopupMenu.add(copyPathItem);
cmdLabel.setComponentPopupMenu(cmdPopupMenu);
cmdPanel.add(cmdLabel, BorderLayout.WEST);
updateCommandLinePrompt();