Browse Source

improved doc table:

buttons now disabled while scanning

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
main
Stephan Richter 3 months ago
parent
commit
170f84ff7f
  1. 2
      pom.xml
  2. 3
      src/main/java/de/srsoftware/belegscanner/Worker.java
  3. 27
      src/main/java/de/srsoftware/belegscanner/gui/DocTable.java
  4. 2
      src/main/java/de/srsoftware/belegscanner/gui/MainFrame.java

2
pom.xml

@ -4,7 +4,7 @@ @@ -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>

3
src/main/java/de/srsoftware/belegscanner/Worker.java

@ -233,9 +233,9 @@ public class Worker { @@ -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 { @@ -255,6 +255,7 @@ public class Worker {
performTextRecognition(targetFile,project);
page.updateFile(new File(targetFile+".pdf"));
docTable.enableButtons(project,true);
preview(page);
}

27
src/main/java/de/srsoftware/belegscanner/gui/DocTable.java

@ -10,7 +10,6 @@ import org.slf4j.LoggerFactory; @@ -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{ @@ -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{ @@ -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{ @@ -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{ @@ -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()));
}
}

2
src/main/java/de/srsoftware/belegscanner/gui/MainFrame.java

@ -220,7 +220,9 @@ public class MainFrame extends JFrame { @@ -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();

Loading…
Cancel
Save