Browse Source

Hilfe hinzugefügt

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
main
Stephan Richter 10 months ago
parent
commit
a751c48f8f
  1. 16
      doc/manual-de.md
  2. 1
      resources/translations/Application.de.translation
  3. 12
      src/main/java/de/srsoftware/belegscanner/Worker.java
  4. 25
      src/main/java/de/srsoftware/belegscanner/gui/Toolbar.java

16
doc/manual-de.md

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
# BelegScanner
## Ziel der Anwendung
Diese Anwendung soll helfen
* sich wiederholende Scan-Vorgänge zu erleichtern
* mehrseitige PDFs mit aus gescannten Einzelseiten zu erstellen
## TODOs
* diese Anleitung vervollständigen
* einfaches Löschen von Kategorien
* entfernen der Seitennummer beim Binden
* Monatsnamen als Platzhalter
* einfacheres Starten mit der richtigen Sprache

1
resources/translations/Application.de.translation

@ -18,6 +18,7 @@ Error code\: {} for {} : Fehlercode: {} für {} @@ -18,6 +18,7 @@ Error code\: {} for {} : Fehlercode: {} für {}
Finished text recognition. : Texterkennung beendet.
German language support missing! : Unterstützung für deutsche Sprache fehlt!
Height : Höhe
help : Hilfe
Improve brightness : Helligkeit verbessern
Joining PDFs… : Verbinde PDFs…
join PDFs : PDFs zusammenführen

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

@ -15,7 +15,10 @@ import org.slf4j.LoggerFactory; @@ -15,7 +15,10 @@ import org.slf4j.LoggerFactory;
import java.awt.*;
import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Locale;
import java.util.Optional;
import java.util.Vector;
@ -459,4 +462,13 @@ public class Worker { @@ -459,4 +462,13 @@ public class Worker {
docTable.setState(project,t("PDFs joined."));
preview(project.addPage(joinedPDF));
}
public void showHelp() {
String url = "https://git.srsoftware.de/StephanRichter/BelegScanner/src/branch/main/doc/manual-"+ Locale.getDefault().getLanguage().toLowerCase()+".md";
try {
Desktop.getDesktop().browse(new URI(url));
} catch (Exception e) {
LOG.error("Failed to show help",e);
}
}
}

25
src/main/java/de/srsoftware/belegscanner/gui/Toolbar.java

@ -23,6 +23,8 @@ import de.srsoftware.tools.gui.DateChooser; @@ -23,6 +23,8 @@ import de.srsoftware.tools.gui.DateChooser;
import de.srsoftware.tools.gui.SelectComboBox;
import static de.srsoftware.belegscanner.Application.*;
import static javax.swing.BoxLayout.X_AXIS;
import static javax.swing.BoxLayout.Y_AXIS;
/**
* create the application's toolbar
@ -66,7 +68,7 @@ public class Toolbar extends JPanel { @@ -66,7 +68,7 @@ public class Toolbar extends JPanel {
public Toolbar(Worker worker) {
this.worker = worker;
worker.setToolbar(this);
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
setLayout(new BoxLayout(this, Y_AXIS));
add(datePicker());
add(input(t("Category"),catPicker = categoryPicker()));
add(input(t("Path"),pathPicker = pathPicker()));
@ -75,11 +77,18 @@ public class Toolbar extends JPanel { @@ -75,11 +77,18 @@ public class Toolbar extends JPanel {
add(new ImproveSelector(worker));
add(new RotationSelector(worker));
add(new TypeSelector(worker));
add(scanButton());
var buttonBox = new JPanel();
buttonBox.setLayout(new BoxLayout(buttonBox,X_AXIS));
buttonBox.add(scanButton());
buttonBox.add(Box.createRigidArea(new Dimension(10,10)));
buttonBox.add(helpButton());
add(buttonBox);
add(Box.createGlue());
Arrays.stream(getComponents()).filter(c -> c instanceof JPanel).map(JPanel.class::cast).forEach(p -> p.setBorder(BORDER));
}
private SelectComboBox categoryPicker() {
return new SelectComboBox(worker.getCategories().keySet()).onUpdateText(worker::setCat).onDelete(worker::dropCategory);
}
@ -106,6 +115,16 @@ public class Toolbar extends JPanel { @@ -106,6 +115,16 @@ public class Toolbar extends JPanel {
.forEach(this::remove);
}
/**
* create help button
* @return
*/
private Component helpButton() {
var button = new JButton(t("help"));
button.addActionListener(ev -> worker.showHelp());
return button;
}
/**
* creates a labeled input field
* @param caption
@ -116,7 +135,7 @@ public class Toolbar extends JPanel { @@ -116,7 +135,7 @@ public class Toolbar extends JPanel {
component.setMaximumSize(new Dimension(600, 40));
component.setToolTipText(t("Press Shift + Delete to remove an entry."));
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
panel.setLayout(new BoxLayout(panel, X_AXIS));
panel.add(new JLabel(caption+": "));
panel.add(component);
return panel;

Loading…
Cancel
Save