improved doc table:
buttons now disabled while scanning Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2
pom.xml
2
pom.xml
@@ -4,7 +4,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>BelegScanner</groupId>
|
||||
<artifactId>BelegScanner</artifactId>
|
||||
<version>1.1.3</version>
|
||||
<version>1.1.4</version>
|
||||
|
||||
<name>BelegScanner</name>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
@@ -233,9 +233,9 @@ public class Worker {
|
||||
if (overwriteAbort(jpeg)) return;
|
||||
var type = getType();
|
||||
var page = project.addPage(jpeg);
|
||||
docTable.enableButtons(project,false);
|
||||
scanJpeg(targetFile,project);
|
||||
improveJpeg(targetFile,project,rotation);
|
||||
|
||||
preview(page);
|
||||
|
||||
if (JPG.equals(type)) {
|
||||
@@ -255,6 +255,7 @@ public class Worker {
|
||||
performTextRecognition(targetFile,project);
|
||||
|
||||
page.updateFile(new File(targetFile+".pdf"));
|
||||
docTable.enableButtons(project,true);
|
||||
preview(page);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ import org.slf4j.LoggerFactory;
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.swing.*;
|
||||
import javax.swing.border.Border;
|
||||
import javax.swing.border.MatteBorder;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.image.BufferedImage;
|
||||
@@ -60,7 +59,7 @@ public class DocTable extends JPanel{
|
||||
private JLabel pathLabel;
|
||||
private JPanel buttons;
|
||||
private Project project;
|
||||
private JButton joinButton;
|
||||
private JButton dropButton,finishButton,joinButton,previewButton;
|
||||
|
||||
public Row(Project project) {
|
||||
this.project = project;
|
||||
@@ -76,11 +75,12 @@ public class DocTable extends JPanel{
|
||||
|
||||
buttons.add(button(openDir,t("open folder"),ev -> project.openDir()));
|
||||
buttons.add(joinButton = button(joinFiles,t("join PDFs"),ev -> worker.join(project)));
|
||||
buttons.add(button(preview,t("display preview"),ev -> worker.preview(project.lastPage())));
|
||||
buttons.add(button(trash,t("drop last page"),ev -> worker.preview(project.dropLastPage().lastPage())));
|
||||
buttons.add(button(finish,t("done"),ev -> drop(this)));
|
||||
buttons.add(previewButton = button(preview,t("display preview"),ev -> worker.preview(project.lastPage())));
|
||||
buttons.add(dropButton = button(trash,t("drop last page"),ev -> worker.preview(project.dropLastPage().lastPage())));
|
||||
buttons.add(finishButton = button(finish,t("done"),ev -> drop(this)));
|
||||
|
||||
constraints.gridx = 2;
|
||||
enableButtons(false);
|
||||
add(buttons,constraints);
|
||||
}
|
||||
|
||||
@@ -99,6 +99,13 @@ public class DocTable extends JPanel{
|
||||
projects.remove(project);
|
||||
}
|
||||
|
||||
protected void enableButtons(boolean enable){
|
||||
dropButton.setEnabled(enable);
|
||||
joinButton.setEnabled(enable);
|
||||
previewButton.setEnabled(enable);
|
||||
finishButton.setEnabled(enable);
|
||||
}
|
||||
|
||||
/**
|
||||
* update status for selected document
|
||||
* @param status
|
||||
@@ -182,8 +189,14 @@ public class DocTable extends JPanel{
|
||||
}
|
||||
|
||||
public void setState(Project project, String status) {
|
||||
var row = rows.get(project.pattern());
|
||||
if (row != null) row.status.setText(status);
|
||||
getRow(project).ifPresent(row -> row.status.setText(status));
|
||||
}
|
||||
|
||||
public void enableButtons(Project project, boolean enable) {
|
||||
getRow(project).ifPresent(row -> row.enableButtons(enable));
|
||||
}
|
||||
|
||||
private Optional<Row> getRow(Project project) {
|
||||
return Optional.ofNullable(rows.get(project.pattern()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -220,7 +220,9 @@ public class MainFrame extends JFrame {
|
||||
*/
|
||||
public void preview(File file) {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
LOG.debug("preview({})",file);
|
||||
if (file == null){
|
||||
LOG.debug("Dropping preview…");
|
||||
if (previewComponent != null) remove(previewComponent);
|
||||
previewComponent = null;
|
||||
pack();
|
||||
|
||||
Reference in New Issue
Block a user