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>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>BelegScanner</groupId>
|
<groupId>BelegScanner</groupId>
|
||||||
<artifactId>BelegScanner</artifactId>
|
<artifactId>BelegScanner</artifactId>
|
||||||
<version>1.1.3</version>
|
<version>1.1.4</version>
|
||||||
|
|
||||||
<name>BelegScanner</name>
|
<name>BelegScanner</name>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|||||||
@@ -233,9 +233,9 @@ public class Worker {
|
|||||||
if (overwriteAbort(jpeg)) return;
|
if (overwriteAbort(jpeg)) return;
|
||||||
var type = getType();
|
var type = getType();
|
||||||
var page = project.addPage(jpeg);
|
var page = project.addPage(jpeg);
|
||||||
|
docTable.enableButtons(project,false);
|
||||||
scanJpeg(targetFile,project);
|
scanJpeg(targetFile,project);
|
||||||
improveJpeg(targetFile,project,rotation);
|
improveJpeg(targetFile,project,rotation);
|
||||||
|
|
||||||
preview(page);
|
preview(page);
|
||||||
|
|
||||||
if (JPG.equals(type)) {
|
if (JPG.equals(type)) {
|
||||||
@@ -255,6 +255,7 @@ public class Worker {
|
|||||||
performTextRecognition(targetFile,project);
|
performTextRecognition(targetFile,project);
|
||||||
|
|
||||||
page.updateFile(new File(targetFile+".pdf"));
|
page.updateFile(new File(targetFile+".pdf"));
|
||||||
|
docTable.enableButtons(project,true);
|
||||||
preview(page);
|
preview(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ import org.slf4j.LoggerFactory;
|
|||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import javax.swing.border.Border;
|
import javax.swing.border.Border;
|
||||||
import javax.swing.border.MatteBorder;
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
@@ -60,7 +59,7 @@ public class DocTable extends JPanel{
|
|||||||
private JLabel pathLabel;
|
private JLabel pathLabel;
|
||||||
private JPanel buttons;
|
private JPanel buttons;
|
||||||
private Project project;
|
private Project project;
|
||||||
private JButton joinButton;
|
private JButton dropButton,finishButton,joinButton,previewButton;
|
||||||
|
|
||||||
public Row(Project project) {
|
public Row(Project project) {
|
||||||
this.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(button(openDir,t("open folder"),ev -> project.openDir()));
|
||||||
buttons.add(joinButton = button(joinFiles,t("join PDFs"),ev -> worker.join(project)));
|
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(previewButton = 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(dropButton = button(trash,t("drop last page"),ev -> worker.preview(project.dropLastPage().lastPage())));
|
||||||
buttons.add(button(finish,t("done"),ev -> drop(this)));
|
buttons.add(finishButton = button(finish,t("done"),ev -> drop(this)));
|
||||||
|
|
||||||
constraints.gridx = 2;
|
constraints.gridx = 2;
|
||||||
|
enableButtons(false);
|
||||||
add(buttons,constraints);
|
add(buttons,constraints);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,6 +99,13 @@ public class DocTable extends JPanel{
|
|||||||
projects.remove(project);
|
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
|
* update status for selected document
|
||||||
* @param status
|
* @param status
|
||||||
@@ -182,8 +189,14 @@ public class DocTable extends JPanel{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setState(Project project, String status) {
|
public void setState(Project project, String status) {
|
||||||
var row = rows.get(project.pattern());
|
getRow(project).ifPresent(row -> row.status.setText(status));
|
||||||
if (row != null) 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) {
|
public void preview(File file) {
|
||||||
SwingUtilities.invokeLater(() -> {
|
SwingUtilities.invokeLater(() -> {
|
||||||
|
LOG.debug("preview({})",file);
|
||||||
if (file == null){
|
if (file == null){
|
||||||
|
LOG.debug("Dropping preview…");
|
||||||
if (previewComponent != null) remove(previewComponent);
|
if (previewComponent != null) remove(previewComponent);
|
||||||
previewComponent = null;
|
previewComponent = null;
|
||||||
pack();
|
pack();
|
||||||
|
|||||||
Reference in New Issue
Block a user