* small fixes for our hack of an UI Move/Copy Dialog
This commit is contained in:
parent
c509cb5f46
commit
327ea294c1
|
@ -259,7 +259,7 @@ class RenameAction extends AbstractAction {
|
|||
final ProgressDialog dialog = new ProgressDialog(parent, job);
|
||||
|
||||
// configure dialog
|
||||
dialog.setTitle("Moving files...");
|
||||
dialog.setTitle("Processing files...");
|
||||
dialog.setIcon((Icon) getValue(SMALL_ICON));
|
||||
|
||||
// close progress dialog when worker is finished
|
||||
|
@ -271,8 +271,14 @@ class RenameAction extends AbstractAction {
|
|||
int i = job.renameLog.size();
|
||||
int n = job.renameMap.size();
|
||||
dialog.setNote(String.format("%d of %d", i + 1, n));
|
||||
|
||||
// OSX LaF progress bar may not display progress bar text in indeterminate mode
|
||||
if (isMacApp()) {
|
||||
dialog.setTitle("Processing files... " + String.format("%d of %d", i + 1, n));
|
||||
}
|
||||
|
||||
if (newValue instanceof File) {
|
||||
dialog.setWindowTitle("Moving " + ((File) oldValue).getName());
|
||||
dialog.setWindowTitle("Processing " + ((File) oldValue).getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
package net.filebot.util.ui;
|
||||
|
||||
|
||||
import java.awt.Cursor;
|
||||
import java.awt.Window;
|
||||
import java.awt.event.ActionEvent;
|
||||
|
||||
|
@ -16,97 +15,86 @@ import javax.swing.JProgressBar;
|
|||
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
|
||||
public class ProgressDialog extends JDialog {
|
||||
|
||||
|
||||
private final JProgressBar progressBar = new JProgressBar(0, 100);
|
||||
private final JLabel iconLabel = new JLabel();
|
||||
private final JLabel headerLabel = new JLabel();
|
||||
|
||||
|
||||
private final Cancellable cancellable;
|
||||
|
||||
|
||||
|
||||
public ProgressDialog(Window owner, Cancellable cancellable) {
|
||||
super(owner, ModalityType.DOCUMENT_MODAL);
|
||||
|
||||
|
||||
this.cancellable = cancellable;
|
||||
|
||||
|
||||
// disable window close button
|
||||
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
|
||||
|
||||
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||
|
||||
headerLabel.setFont(headerLabel.getFont().deriveFont(18f));
|
||||
progressBar.setIndeterminate(true);
|
||||
progressBar.setStringPainted(true);
|
||||
JPanel c = (JPanel) getContentPane();
|
||||
c.setLayout(new MigLayout("insets dialog, nogrid, fill"));
|
||||
|
||||
|
||||
c.add(iconLabel, "h pref!, w pref!");
|
||||
c.add(headerLabel, "gap 3mm, wrap paragraph");
|
||||
c.add(progressBar, "hmin 25px, grow, wrap paragraph");
|
||||
|
||||
|
||||
c.add(new JButton(cancelAction), "align center");
|
||||
|
||||
setSize(240, 155);
|
||||
|
||||
setSize(350, 155);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setIcon(Icon icon) {
|
||||
iconLabel.setIcon(icon);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setIndeterminate(boolean b) {
|
||||
progressBar.setIndeterminate(b);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setProgress(int value, int max) {
|
||||
progressBar.setIndeterminate(false);
|
||||
progressBar.setMinimum(0);
|
||||
progressBar.setValue(value);
|
||||
progressBar.setMaximum(max);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setNote(String text) {
|
||||
progressBar.setString(text);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void setTitle(String text) {
|
||||
super.setTitle(text);
|
||||
headerLabel.setText(text);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setWindowTitle(String text) {
|
||||
super.setTitle(text);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void close() {
|
||||
setVisible(false);
|
||||
dispose();
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected final Action cancelAction = new AbstractAction("Cancel") {
|
||||
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
cancelAction.setEnabled(false);
|
||||
cancellable.cancel();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
public static interface Cancellable {
|
||||
|
||||
|
||||
boolean isCancelled();
|
||||
|
||||
|
||||
|
||||
boolean cancel();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue