From 6150d132436082b782a8a02a63d17c8fb774f336 Mon Sep 17 00:00:00 2001 From: Mathis Dirksen-Thedens Date: Sun, 14 Jan 2024 18:43:59 +0100 Subject: [PATCH] enable the user to add multiple images at once #232 --- .../java/org/zephyrsoft/sdb2/gui/MainWindow.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/zephyrsoft/sdb2/gui/MainWindow.java b/src/main/java/org/zephyrsoft/sdb2/gui/MainWindow.java index b4ea7793..a41b58eb 100644 --- a/src/main/java/org/zephyrsoft/sdb2/gui/MainWindow.java +++ b/src/main/java/org/zephyrsoft/sdb2/gui/MainWindow.java @@ -1352,17 +1352,20 @@ private void setDefaultDividerLocation() { protected void handleAddImage() { // select target JFileChooser chooser = new JFileChooser(); - chooser.setDialogTitle("choose image file to add"); + chooser.setDialogTitle("choose image file(s) to add"); CustomFileFilter filter = new CustomFileFilter("Images", ".png", ".jpg", ".jpeg", ".gif"); chooser.addChoosableFileFilter(filter); chooser.setFileFilter(filter); - chooser.setApproveButtonText("Add Image"); + chooser.setMultiSelectionEnabled(true); + chooser.setApproveButtonText("add image(s)"); int result = chooser.showOpenDialog(MainWindow.this); if (result == JFileChooser.APPROVE_OPTION) { try { - File target = chooser.getSelectedFile(); - presentModel.addSong(new ImageSong(target)); + File[] selectedFiles = chooser.getSelectedFiles(); + for (File selectedFile : selectedFiles) { + presentModel.addSong(new ImageSong(selectedFile)); + } presentList.setSelectedIndex(presentModel.getSize() - 1); } catch (Throwable ex) { handleError(ex); @@ -2189,7 +2192,7 @@ public void keyReleased(KeyEvent e) { btnAddImage = new JButton(""); btnAddImage.addActionListener(safeAction(e -> handleAddImage())); - btnAddImage.setToolTipText("Add Image"); + btnAddImage.setToolTipText("Add image(s)"); btnAddImage.setIcon(ResourceTools.getIcon(getClass(), "/org/zephyrsoft/sdb2/plus.png")); GridBagConstraints gbc_button = new GridBagConstraints(); gbc_button.anchor = GridBagConstraints.NORTH;