Hilfe hinzugefügt

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2023-07-18 22:55:59 +02:00
parent c70ad5caf1
commit a751c48f8f
4 changed files with 51 additions and 3 deletions

16
doc/manual-de.md Normal file
View File

@@ -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

View File

@@ -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

View File

@@ -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 {
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);
}
}
}

View File

@@ -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 {
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 {
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 {
.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 {
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;