Compare commits

...

3 Commits
0.4.4 ... 0.4.7

Author SHA1 Message Date
58e94e6cbd Setting -> Deutsch / Englisch 2021-04-17 18:43:24 +02:00
63e736152b Map/Report automatisch öffnen einstellung 2021-04-17 18:17:51 +02:00
ad5d7d98c4 Progressbar Icon 2021-04-17 18:00:55 +02:00
9 changed files with 155 additions and 32 deletions

62
langen.ini Normal file
View File

@ -0,0 +1,62 @@
[langen]
achtung = ATTENTION
openbrowsererror = TourplanerController -> Browser:
browserexception = Browser Exception
browserexceptionmsg = Error at opening Browser
suchfeldleer = Search field is empty!
suchtextzuerst = Please enter search term first!
keinetourselected = No Tour selected
tournametitle = Tour name
tournameheader = Please enter a Tourname!
tournamemsg = Name:
namevergebenheader = Name is already occupied!
namevergebenmsg1 = The name '
namevergebenmsg2 = ' is already in use!
startpunkttitle = Tour start
startpunktheader = Please enter the start of the Tour
startpunktmsg = Start:
zielpunkttitle = Tour destination:
zielpunktheader = Please enter the tour destination!
zielpunktmsg = Destination:
deltournoselect = ViewModel -> DelTour
deltournoselectmsg = Please select a tour first!
exceptionstackheader = Exception stacktrace:
keinelogsvorhanden = First add a Log!
datum = Date
dauer = Duration
strecke = Distance
streckemsg = Distance of the log entry
dauermsg = Duration of the log entry
doppelpunkt = :
fktnichtimplementiert = Not implementet jet
vergessenodernochnichtsoweit = Not implementet jet
logtournotselectedmsg = Please select a tour first!
keintextimfeld = Please enter a text!
nurzahlen = Only numbers!
nurpositivezahlen = Only positiv numbers!
pause = Break
pausemsg = Duration of the break
hightmeter = Vertical meters
hightmetermsg = Vertical meters of the etape
bemerkung = Comment
bemerkungheader = Please enter a Comment, can also be empty!
tourreportvon = Tour Report from ->
tourplanervon = Tourplaner by DerGeorg
reportkeywords = Tourplaner, Tour, Report
tourplaner = Tourplaner
tour = Tour
reportvon = Report created by:
reportstart = Start of the tour:
reportziel = Destination of the tour:
reportdauercal = Calculated duration of the tour:
reportstreckecal = Calculated distance of the tour:
logs = Logs
countlog = Number of log entries:
logvom = Log from:
logdauer = Duration:
logpause = Break from that:
loggegangen = Gone away:
logavg = Calculated averrage speed:
logstrecke = Distance:
loghight = Vertical meters:
logbemerkung = Comment:

View File

@ -43,7 +43,7 @@ public class ConfigHelper {
try { try {
ini = new Wini(new File(filename)); ini = new Wini(new File(filename));
} catch (IOException e) { } catch (IOException e) {
LogHelper.error(e.getMessage(), e.getClass().getName()); LogHelper.error(e);
} }
assert ini != null; assert ini != null;
return ini.get(sectionName, optionName, String.class); return ini.get(sectionName, optionName, String.class);
@ -56,7 +56,7 @@ public class ConfigHelper {
* @return Den angeforderten String * @return Den angeforderten String
*/ */
public static String getLangIniString(String optionName){ public static String getLangIniString(String optionName){
return ConfigHelper.getIniString(ConfigHelper.getStandartLangde(), ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "lang", "lang"),optionName); return ConfigHelper.getIniString(getIniString(getStandartConfig(), "lang", "lang") + ".ini", ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "lang", "lang"),optionName);
} }
/** /**
@ -92,7 +92,7 @@ public class ConfigHelper {
ini.put(sectionName, optionName, value); ini.put(sectionName, optionName, value);
ini.store(); ini.store();
} catch (IOException e) { } catch (IOException e) {
LogHelper.error(e.getMessage(), e.getClass().getName()); LogHelper.error(e);
} }
} }

View File

@ -31,8 +31,10 @@ public class DirectionMap {
FileHelper.saveImage(this.map, "jpg", new File(this.file)); FileHelper.saveImage(this.map, "jpg", new File(this.file));
FileHelper.saveImage(this.mappdf, "jpg", new File(this.filepdf)); FileHelper.saveImage(this.mappdf, "jpg", new File(this.filepdf));
getDirections(start, ende); getDirections(start, ende);
if(ConfigHelper.getIniInt(ConfigHelper.getStandartConfig(), "settings", "openmap") == 1) {
FileHelper.openDefault(file); FileHelper.openDefault(file);
} }
}
/** /**
* Get berechnete Dauer in Minuten * Get berechnete Dauer in Minuten

View File

@ -53,8 +53,10 @@ public class Reporter {
} catch (DocumentException | FileNotFoundException e) { } catch (DocumentException | FileNotFoundException e) {
LogHelper.error(e.getMessage(), e.getClass().getName()); LogHelper.error(e.getMessage(), e.getClass().getName());
} }
if(ConfigHelper.getIniInt(ConfigHelper.getStandartConfig(), "settings", "openpdf") == 1) {
FileHelper.openDefault(file); FileHelper.openDefault(file);
} }
}
/** /**
* Content des Sumary reports * Content des Sumary reports
@ -109,8 +111,10 @@ public class Reporter {
} catch (DocumentException | FileNotFoundException e) { } catch (DocumentException | FileNotFoundException e) {
LogHelper.error(e.getMessage(), e.getClass().getName()); LogHelper.error(e.getMessage(), e.getClass().getName());
} }
if(ConfigHelper.getIniInt(ConfigHelper.getStandartConfig(), "settings", "openpdf") == 1) {
FileHelper.openDefault(file); FileHelper.openDefault(file);
} }
}
// iText allows to add metadata to the PDF which can be viewed in your Adobe // iText allows to add metadata to the PDF which can be viewed in your Adobe
// Reader // Reader

View File

@ -119,8 +119,10 @@ public class TourPlaner{
* @param tourname Tourname * @param tourname Tourname
*/ */
public static void openImage(String tourname){ public static void openImage(String tourname){
if(ConfigHelper.getIniInt(ConfigHelper.getStandartConfig(), "settings", "openmap") == 1) {
FileHelper.openDefault(getImagePath(tourname)); FileHelper.openDefault(getImagePath(tourname));
} }
}
/** /**
@ -181,17 +183,6 @@ public class TourPlaner{
return new DbConnect().editLog(tourname, log); return new DbConnect().editLog(tourname, log);
} }
/**
* Exportiert die Daten
* @param path Path zu den Daten
* @throws IOException Fehler beim schreiben der Daten
*/
public static void exportData(String path) throws IOException {
Exporter exporter = new Exporter(path);
exporter.doExport();
FileHelper.openDefault(path);
}
/** /**
* Sucht alle touren die den gegebenen tournamen enthalten * Sucht alle touren die den gegebenen tournamen enthalten
* @param tourname Name der zu suchen ist * @param tourname Name der zu suchen ist

View File

@ -58,12 +58,12 @@
</Menu> </Menu>
<Menu mnemonicParsing="false" text="Optionen"> <Menu mnemonicParsing="false" text="Optionen">
<items> <items>
<CheckMenuItem mnemonicParsing="false" text="Map automatisch öffnen" /> <CheckMenuItem fx:id="openmap" mnemonicParsing="false" onAction="#openmapaction" text="Map automatisch öffnen" />
<CheckMenuItem mnemonicParsing="false" text="Report automatisch öffnen" /> <CheckMenuItem fx:id="openpdf" mnemonicParsing="false" onAction="#openpdfaction" text="Report automatisch öffnen" />
<Menu mnemonicParsing="false" text="Sprache"> <Menu mnemonicParsing="false" text="Sprache">
<items> <items>
<RadioMenuItem mnemonicParsing="false" text="Deutsch" /> <RadioMenuItem fx:id="langdeutsch" mnemonicParsing="false" onAction="#onlangdeutsch" text="Deutsch" />
<RadioMenuItem mnemonicParsing="false" text="Englisch" /> <RadioMenuItem fx:id="langenglisch" mnemonicParsing="false" onAction="#onlangenglisch" text="Englisch" />
</items> </items>
</Menu> </Menu>
</items> </items>

View File

@ -1,8 +1,15 @@
package tourplaner.ui; package tourplaner.ui;
import javafx.scene.image.Image;
import tourplaner.business.ConfigHelper;
import javax.imageio.ImageIO;
import javax.swing.*; import javax.swing.*;
import javax.swing.border.TitledBorder; import javax.swing.border.TitledBorder;
import java.awt.*; import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class ProgressBar { public class ProgressBar {
private int status; private int status;
@ -11,6 +18,13 @@ public class ProgressBar {
public ProgressBar(String title){ public ProgressBar(String title){
this.frame = new JFrame(title); this.frame = new JFrame(title);
File pathToFile = new File(ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "start", "logo"));
try {
BufferedImage image = ImageIO.read(pathToFile);
this.frame.setIconImage(image);
} catch (IOException e) {
e.printStackTrace();
}
this.frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); this.frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
Container content = this.frame.getContentPane(); Container content = this.frame.getContentPane();
this.progressBar = new JProgressBar(); this.progressBar = new JProgressBar();

View File

@ -1,6 +1,8 @@
package tourplaner.ui; package tourplaner.ui;
import javafx.collections.ObservableList; import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.fxml.Initializable; import javafx.fxml.Initializable;
import javafx.geometry.Orientation; import javafx.geometry.Orientation;
@ -43,6 +45,20 @@ public class TourplanerController implements Initializable {
//Log -> rechts unten //Log -> rechts unten
public TableView<Log> logTableView; public TableView<Log> logTableView;
public TableColumn<Log, String> logDauerCol, logStreckeCol, logDatumCol, logAvgCol, logHightCol, logPauseCol, logGegangenCol, logBemerkungCol; public TableColumn<Log, String> logDauerCol, logStreckeCol, logDatumCol, logAvgCol, logHightCol, logPauseCol, logGegangenCol, logBemerkungCol;
//Menue
public CheckMenuItem openmap, openpdf;
public RadioMenuItem langenglisch, langdeutsch;
public ToggleGroup langgroup;
@FXML
private void onlangenglisch(){
ConfigHelper.setIniString(ConfigHelper.getStandartConfig(), "lang", "lang", "langen");
}
@FXML
private void onlangdeutsch(){
ConfigHelper.setIniString(ConfigHelper.getStandartConfig(), "lang", "lang", "langde");
}
@FXML @FXML
private void tourReport(){ private void tourReport(){
@ -234,7 +250,40 @@ public class TourplanerController implements Initializable {
TourListView.setOrientation(Orientation.VERTICAL); TourListView.setOrientation(Orientation.VERTICAL);
syncTourNamen(); syncTourNamen();
deselectAll(); deselectAll();
if(ConfigHelper.getIniInt(ConfigHelper.getStandartConfig(), "settings", "openpdf") == 1){
this.openpdf.setSelected(true);
}else {
this.openpdf.setSelected(false);
}
if(ConfigHelper.getIniInt(ConfigHelper.getStandartConfig(), "settings", "openmap") == 1){
this.openmap.setSelected(true);
}else {
this.openmap.setSelected(false);
}
this.langgroup = new ToggleGroup();
this.langdeutsch.setToggleGroup(this.langgroup);
this.langenglisch.setToggleGroup(this.langgroup);
if(ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "lang", "lang").equals("langde")){
this.langdeutsch.setSelected(true);
this.langenglisch.setSelected(false);
}else if(ConfigHelper.getIniString(ConfigHelper.getStandartConfig(), "lang", "lang").equals("langen")){
this.langdeutsch.setSelected(false);
this.langenglisch.setSelected(true);
}
}
@FXML
private void openpdfaction(){
int selected = 0;
if(this.openpdf.isSelected()) selected = 1;
ConfigHelper.setIniInt(ConfigHelper.getStandartConfig(), "settings", "openpdf", selected);
}
@FXML
private void openmapaction(){
int selected = 0;
if(this.openmap.isSelected()) selected = 1;
ConfigHelper.setIniInt(ConfigHelper.getStandartConfig(), "settings", "openmap", selected);
} }
private void deselectAll(){ private void deselectAll(){

View File

@ -500,16 +500,18 @@ public class ViewModel {
* Entfernt eine Tour anhand der ausgewählten Tour * Entfernt eine Tour anhand der ausgewählten Tour
*/ */
public void delTour(){ public void delTour(){
try { if (this.selectedTour != null) {
String tourname = this.selectedTour.getName(); String tourname = this.selectedTour.getName();
try {
tourData.removeIf(s -> s.getName().equals(tourname)); tourData.removeIf(s -> s.getName().equals(tourname));
tourNamen.removeIf(s -> s.equals(tourname)); tourNamen.removeIf(s -> s.equals(tourname));
logData.removeIf(s -> true); logData.removeIf(s -> true);
setSelectedTour(null);
TourPlaner.delTour(tourname); TourPlaner.delTour(tourname);
}catch (NullPointerException e){ setSelectedTour(null);
LogHelper.error(ConfigHelper.getLangIniString("keinetourselected"), } catch (NullPointerException e) {
ConfigHelper.getLangIniString("deltournoselect")); LogHelper.error(e);
}
}else {
AlertHelper.warn(ConfigHelper.getLangIniString("achtung"), AlertHelper.warn(ConfigHelper.getLangIniString("achtung"),
ConfigHelper.getLangIniString("keinetourselected"), ConfigHelper.getLangIniString("keinetourselected"),
ConfigHelper.getLangIniString("deltournoselectmsg")); ConfigHelper.getLangIniString("deltournoselectmsg"));
@ -612,7 +614,6 @@ public class ViewModel {
*/ */
public void exportData(){ public void exportData(){
String file = AlertHelper.fileChooser("Exportiere"); String file = AlertHelper.fileChooser("Exportiere");
System.out.println("EXPORT: " + file);
if(file != null){ if(file != null){
try { try {
new Exporter(file).doExport(); new Exporter(file).doExport();