mirror of
https://github.com/RipMeApp/ripme.git
synced 2025-08-24 06:23:52 +02:00
Added confirmation when click in remove all
This commit is contained in:
@@ -4,25 +4,33 @@ import java.awt.event.ActionEvent;
|
|||||||
import java.awt.event.InputEvent;
|
import java.awt.event.InputEvent;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.util.Enumeration;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
import javax.swing.AbstractAction;
|
import javax.swing.AbstractAction;
|
||||||
import javax.swing.Action;
|
import javax.swing.Action;
|
||||||
import javax.swing.DefaultListModel;
|
import javax.swing.DefaultListModel;
|
||||||
import javax.swing.JList;
|
import javax.swing.JList;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
import javax.swing.JPopupMenu;
|
import javax.swing.JPopupMenu;
|
||||||
|
|
||||||
import com.rarchives.ripme.utils.Utils;
|
import com.rarchives.ripme.utils.Utils;
|
||||||
|
|
||||||
class QueueMenuMouseListener extends MouseAdapter {
|
class QueueMenuMouseListener extends MouseAdapter {
|
||||||
private JPopupMenu popup = new JPopupMenu();
|
private JPopupMenu popup = new JPopupMenu();
|
||||||
private JList queueList;
|
private JList<Object> queueList;
|
||||||
private DefaultListModel queueListModel;
|
private DefaultListModel<Object> queueListModel;
|
||||||
|
private Consumer<DefaultListModel<Object>> updateQueue;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
public QueueMenuMouseListener(Consumer<DefaultListModel<Object>> updateQueue) {
|
||||||
public QueueMenuMouseListener() {
|
this.updateQueue = updateQueue;
|
||||||
|
updateUI();
|
||||||
|
}
|
||||||
|
|
||||||
Action removeSelected = new AbstractAction("Remove Selected") {
|
@SuppressWarnings("serial")
|
||||||
|
public void updateUI() {
|
||||||
|
popup.removeAll();
|
||||||
|
|
||||||
|
Action removeSelected = new AbstractAction(Utils.getLocalizedString("queue.remove.selected")) {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent ae) {
|
public void actionPerformed(ActionEvent ae) {
|
||||||
Object o = queueList.getSelectedValue();
|
Object o = queueList.getSelectedValue();
|
||||||
@@ -35,27 +43,22 @@ class QueueMenuMouseListener extends MouseAdapter {
|
|||||||
};
|
};
|
||||||
popup.add(removeSelected);
|
popup.add(removeSelected);
|
||||||
|
|
||||||
Action clearQueue = new AbstractAction("Remove All") {
|
Action clearQueue = new AbstractAction(Utils.getLocalizedString("queue.remove.all")) {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent ae) {
|
public void actionPerformed(ActionEvent ae) {
|
||||||
queueListModel.removeAllElements();
|
if (JOptionPane.showConfirmDialog(null, Utils.getLocalizedString("queue.validation"), "RipMe",
|
||||||
updateUI();
|
JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
|
||||||
|
queueListModel.removeAllElements();
|
||||||
|
updateUI();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
popup.add(clearQueue);
|
popup.add(clearQueue);
|
||||||
|
|
||||||
|
updateQueue.accept(queueListModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateUI() {
|
@SuppressWarnings("unchecked")
|
||||||
Utils.setConfigList("queue", (Enumeration<Object>) queueListModel.elements());
|
|
||||||
|
|
||||||
if (queueListModel.size() == 0) {
|
|
||||||
MainWindow.optionQueue.setText("Queue");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
MainWindow.optionQueue.setText("Queue (" + queueListModel.size() + ")");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent e) {
|
public void mouseClicked(MouseEvent e) {
|
||||||
if (e.getModifiers() == InputEvent.BUTTON3_MASK) {
|
if (e.getModifiers() == InputEvent.BUTTON3_MASK) {
|
||||||
@@ -63,8 +66,8 @@ class QueueMenuMouseListener extends MouseAdapter {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
queueList = (JList) e.getSource();
|
queueList = (JList<Object>) e.getSource();
|
||||||
queueListModel = (DefaultListModel) queueList.getModel();
|
queueListModel = (DefaultListModel<Object>) queueList.getModel();
|
||||||
queueList.requestFocus();
|
queueList.requestFocus();
|
||||||
|
|
||||||
int nx = e.getX();
|
int nx = e.getX();
|
||||||
|
Reference in New Issue
Block a user