From 4dbfdcb5d9ca7aa278b045afcd3109ed9373e18b Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Tue, 4 Jan 2022 03:18:35 +0100 Subject: [PATCH] Neu-Implementierung gestartet --- .classpath | 27 ++ .gitignore | 2 + .project | 23 + .settings/org.eclipse.jdt.core.prefs | 8 + .settings/org.eclipse.m2e.core.prefs | 4 + Belegscanner.ico | Bin 137040 -> 0 bytes Belegscanner.lpi | 74 --- Belegscanner.lpr | 21 - Belegscanner.lps | 260 ---------- Belegscanner.res | Bin 139052 -> 0 bytes pom.xml | 52 ++ scanner.lfm | 226 --------- scanner.pas | 459 ------------------ .../srsoftware/belegscanner/Application.java | 14 + .../belegscanner/Configuration.java | 145 ++++++ .../de/srsoftware/belegscanner/Constants.java | 7 + .../belegscanner/gui/FilterComboBoxText.java | 112 +++++ .../belegscanner/gui/MainFrame.java | 118 +++++ .../belegscanner/gui/StatusBar.java | 27 ++ .../srsoftware/belegscanner/gui/Toolbar.java | 195 ++++++++ 20 files changed, 734 insertions(+), 1040 deletions(-) create mode 100644 .classpath create mode 100644 .project create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 .settings/org.eclipse.m2e.core.prefs delete mode 100644 Belegscanner.ico delete mode 100644 Belegscanner.lpi delete mode 100644 Belegscanner.lpr delete mode 100644 Belegscanner.lps delete mode 100644 Belegscanner.res create mode 100644 pom.xml delete mode 100644 scanner.lfm delete mode 100644 scanner.pas create mode 100644 src/main/java/de/srsoftware/belegscanner/Application.java create mode 100644 src/main/java/de/srsoftware/belegscanner/Configuration.java create mode 100644 src/main/java/de/srsoftware/belegscanner/Constants.java create mode 100644 src/main/java/de/srsoftware/belegscanner/gui/FilterComboBoxText.java create mode 100644 src/main/java/de/srsoftware/belegscanner/gui/MainFrame.java create mode 100644 src/main/java/de/srsoftware/belegscanner/gui/StatusBar.java create mode 100644 src/main/java/de/srsoftware/belegscanner/gui/Toolbar.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..899de31 --- /dev/null +++ b/.classpath @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore index bdf4b0d..9e3e952 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ /backup /Belegscanner +/bin/ +/target/ diff --git a/.project b/.project new file mode 100644 index 0000000..d57b672 --- /dev/null +++ b/.project @@ -0,0 +1,23 @@ + + + BelegScanner + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.m2e.core.maven2Nature + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..b5490a0 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 +org.eclipse.jdt.core.compiler.compliance=11 +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/Belegscanner.ico b/Belegscanner.ico deleted file mode 100644 index 0341321b5d952e1662a3d9444a73cf9f42a7db37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137040 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 G`+orYGy**U diff --git a/Belegscanner.lpi b/Belegscanner.lpi deleted file mode 100644 index 1e5ac32..0000000 --- a/Belegscanner.lpi +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - <ResourceType Value="res"/> - <UseXPManifest Value="True"/> - <Icon Value="0"/> - </General> - <BuildModes Count="1"> - <Item1 Name="Default" Default="True"/> - </BuildModes> - <PublishOptions> - <Version Value="2"/> - </PublishOptions> - <RunParams> - <FormatVersion Value="2"/> - <Modes Count="1"> - <Mode0 Name="default"/> - </Modes> - </RunParams> - <RequiredPackages Count="1"> - <Item1> - <PackageName Value="LCL"/> - </Item1> - </RequiredPackages> - <Units Count="2"> - <Unit0> - <Filename Value="Belegscanner.lpr"/> - <IsPartOfProject Value="True"/> - </Unit0> - <Unit1> - <Filename Value="scanner.pas"/> - <IsPartOfProject Value="True"/> - <ComponentName Value="ScanForm"/> - <HasResources Value="True"/> - <ResourceBaseClass Value="Form"/> - </Unit1> - </Units> - </ProjectOptions> - <CompilerOptions> - <Version Value="11"/> - <Target> - <Filename Value="Belegscanner"/> - </Target> - <SearchPaths> - <IncludeFiles Value="$(ProjOutDir)"/> - <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/> - </SearchPaths> - <Linking> - <Options> - <Win32> - <GraphicApplication Value="True"/> - </Win32> - </Options> - </Linking> - </CompilerOptions> - <Debugging> - <Exceptions Count="3"> - <Item1> - <Name Value="EAbort"/> - </Item1> - <Item2> - <Name Value="ECodetoolError"/> - </Item2> - <Item3> - <Name Value="EFOpenError"/> - </Item3> - </Exceptions> - </Debugging> -</CONFIG> diff --git a/Belegscanner.lpr b/Belegscanner.lpr deleted file mode 100644 index 530df48..0000000 --- a/Belegscanner.lpr +++ /dev/null @@ -1,21 +0,0 @@ -program Belegscanner; - -{$mode objfpc}{$H+} - -uses - {$IFDEF UNIX} - cthreads, - {$ENDIF} - Interfaces, // this includes the LCL widgetset - Forms, scanner - { you can add units after this }; - -{$R *.res} - -begin - RequireDerivedFormResource:=True; - Application.Initialize; - Application.CreateForm(TScanForm, ScanForm); - Application.Run; -end. - diff --git a/Belegscanner.lps b/Belegscanner.lps deleted file mode 100644 index bda7fa5..0000000 --- a/Belegscanner.lps +++ /dev/null @@ -1,260 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<CONFIG> - <ProjectSession> - <Version Value="11"/> - <BuildModes Active="Default"/> - <Units Count="16"> - <Unit0> - <Filename Value="Belegscanner.lpr"/> - <IsPartOfProject Value="True"/> - <EditorIndex Value="-1"/> - <CursorPos X="17" Y="10"/> - <UsageCount Value="36"/> - </Unit0> - <Unit1> - <Filename Value="scanner.pas"/> - <IsPartOfProject Value="True"/> - <ComponentName Value="ScanForm"/> - <HasResources Value="True"/> - <ResourceBaseClass Value="Form"/> - <IsVisibleTab Value="True"/> - <TopLine Value="374"/> - <CursorPos X="45" Y="377"/> - <UsageCount Value="36"/> - <Loaded Value="True"/> - <LoadedDesigner Value="True"/> - </Unit1> - <Unit2> - <Filename Value="/usr/share/fpcsrc/3.0.4/rtl/objpas/sysutils/syshelph.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="111"/> - <CursorPos X="14" Y="151"/> - <UsageCount Value="10"/> - </Unit2> - <Unit3> - <Filename Value="/usr/lib/lazarus/1.8.2/lcl/extdlgs.pas"/> - <UnitName Value="ExtDlgs"/> - <EditorIndex Value="-1"/> - <TopLine Value="175"/> - <CursorPos X="29" Y="215"/> - <UsageCount Value="9"/> - </Unit3> - <Unit4> - <Filename Value="/usr/lib/lazarus/1.8.2/lcl/stdctrls.pp"/> - <UnitName Value="StdCtrls"/> - <EditorIndex Value="-1"/> - <TopLine Value="389"/> - <CursorPos X="14" Y="437"/> - <UsageCount Value="9"/> - </Unit4> - <Unit5> - <Filename Value="/usr/share/fpcsrc/3.0.4/packages/fcl-process/src/process.pp"/> - <EditorIndex Value="-1"/> - <TopLine Value="99"/> - <CursorPos X="14" Y="131"/> - <UsageCount Value="10"/> - </Unit5> - <Unit6> - <Filename Value="/usr/lib/lazarus/1.8.2/lcl/interfaces/gtk2/gtk2int.pas"/> - <UnitName Value="Gtk2Int"/> - <EditorIndex Value="-1"/> - <TopLine Value="811"/> - <CursorPos Y="852"/> - <UsageCount Value="9"/> - </Unit6> - <Unit7> - <Filename Value="/usr/lib/lazarus/1.8.2/lcl/graphics.pp"/> - <UnitName Value="Graphics"/> - <EditorIndex Value="-1"/> - <TopLine Value="1426"/> - <CursorPos X="15" Y="1478"/> - <UsageCount Value="10"/> - </Unit7> - <Unit8> - <Filename Value="/usr/lib/lazarus/1.8.2/lcl/include/fpimagebitmap.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="100"/> - <CursorPos Y="141"/> - <UsageCount Value="10"/> - </Unit8> - <Unit9> - <Filename Value="/usr/share/fpcsrc/3.0.4/rtl/objpas/classes/classesh.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="647"/> - <CursorPos X="14" Y="681"/> - <UsageCount Value="10"/> - </Unit9> - <Unit10> - <Filename Value="/usr/lib/lazarus/1.8.2/lcl/calendar.pp"/> - <UnitName Value="Calendar"/> - <EditorIndex Value="-1"/> - <TopLine Value="64"/> - <CursorPos X="14" Y="104"/> - <UsageCount Value="10"/> - </Unit10> - <Unit11> - <Filename Value="scanner.lfm"/> - <EditorIndex Value="-1"/> - <CursorPos X="20" Y="22"/> - <UsageCount Value="10"/> - <DefaultSyntaxHighlighter Value="LFM"/> - </Unit11> - <Unit12> - <Filename Value="/usr/share/fpcsrc/3.0.4/rtl/objpas/sysutils/filutilh.inc"/> - <EditorIndex Value="-1"/> - <TopLine Value="110"/> - <CursorPos X="10" Y="155"/> - <UsageCount Value="10"/> - </Unit12> - <Unit13> - <Filename Value="/usr/share/fpcsrc/3.0.4/rtl/unix/unix.pp"/> - <UnitName Value="Unix"/> - <EditorIndex Value="-1"/> - <TopLine Value="58"/> - <CursorPos X="6" Y="98"/> - <UsageCount Value="10"/> - </Unit13> - <Unit14> - <Filename Value="/usr/lib/lazarus/1.8.2/lcl/controls.pp"/> - <UnitName Value="Controls"/> - <EditorIndex Value="-1"/> - <TopLine Value="1663"/> - <CursorPos X="14" Y="1696"/> - <UsageCount Value="10"/> - </Unit14> - <Unit15> - <Filename Value="/usr/lib/lazarus/2.0.6/components/lazutils/laztracer.pas"/> - <UnitName Value="LazTracer"/> - <EditorIndex Value="-1"/> - <CursorPos Y="50"/> - <UsageCount Value="10"/> - </Unit15> - </Units> - <JumpHistory Count="30" HistoryIndex="29"> - <Position1> - <Filename Value="scanner.pas"/> - <Caret Line="207" Column="21" TopLine="173"/> - </Position1> - <Position2> - <Filename Value="scanner.pas"/> - <Caret Line="215" Column="22" TopLine="175"/> - </Position2> - <Position3> - <Filename Value="scanner.pas"/> - <Caret Line="207" Column="82" TopLine="175"/> - </Position3> - <Position4> - <Filename Value="scanner.pas"/> - <Caret Line="62" Column="42" TopLine="29"/> - </Position4> - <Position5> - <Filename Value="scanner.pas"/> - <Caret Line="60" Column="61" TopLine="27"/> - </Position5> - <Position6> - <Filename Value="scanner.pas"/> - <Caret Line="62" Column="42" TopLine="29"/> - </Position6> - <Position7> - <Filename Value="scanner.pas"/> - <Caret Line="432" Column="5" TopLine="364"/> - </Position7> - <Position8> - <Filename Value="scanner.pas"/> - <Caret Line="62" Column="42" TopLine="29"/> - </Position8> - <Position9> - <Filename Value="scanner.pas"/> - <Caret Line="56" Column="40" TopLine="27"/> - </Position9> - <Position10> - <Filename Value="scanner.pas"/> - <Caret Line="62" Column="32" TopLine="29"/> - </Position10> - <Position11> - <Filename Value="scanner.pas"/> - <Caret Line="59" Column="37" TopLine="27"/> - </Position11> - <Position12> - <Filename Value="scanner.pas"/> - <Caret Line="203" Column="45" TopLine="187"/> - </Position12> - <Position13> - <Filename Value="scanner.pas"/> - <Caret Line="62" Column="39" TopLine="19"/> - </Position13> - <Position14> - <Filename Value="scanner.pas"/> - <Caret Line="208" Column="13" TopLine="174"/> - </Position14> - <Position15> - <Filename Value="scanner.pas"/> - <Caret Line="213" Column="13" TopLine="174"/> - </Position15> - <Position16> - <Filename Value="scanner.pas"/> - <Caret Line="206" Column="19" TopLine="176"/> - </Position16> - <Position17> - <Filename Value="scanner.pas"/> - <Caret Line="214" Column="42" TopLine="177"/> - </Position17> - <Position18> - <Filename Value="scanner.pas"/> - <Caret Line="217" Column="93" TopLine="177"/> - </Position18> - <Position19> - <Filename Value="scanner.pas"/> - <Caret Line="219" Column="65" TopLine="183"/> - </Position19> - <Position20> - <Filename Value="scanner.pas"/> - <Caret Line="204" Column="117" TopLine="186"/> - </Position20> - <Position21> - <Filename Value="scanner.pas"/> - <Caret Line="203" Column="117" TopLine="203"/> - </Position21> - <Position22> - <Filename Value="scanner.pas"/> - <Caret Line="204" Column="117" TopLine="204"/> - </Position22> - <Position23> - <Filename Value="scanner.pas"/> - <Caret Line="403" Column="63" TopLine="365"/> - </Position23> - <Position24> - <Filename Value="scanner.pas"/> - <Caret Line="376" Column="32" TopLine="320"/> - </Position24> - <Position25> - <Filename Value="scanner.pas"/> - <Caret Line="382" Column="24" TopLine="320"/> - </Position25> - <Position26> - <Filename Value="scanner.pas"/> - <Caret Line="21" Column="19"/> - </Position26> - <Position27> - <Filename Value="scanner.pas"/> - <Caret Line="100" Column="26" TopLine="34"/> - </Position27> - <Position28> - <Filename Value="scanner.pas"/> - <Caret Line="382" Column="24" TopLine="316"/> - </Position28> - <Position29> - <Filename Value="scanner.pas"/> - <Caret Line="21" Column="19"/> - </Position29> - <Position30> - <Filename Value="scanner.pas"/> - <Caret Line="116" Column="134" TopLine="67"/> - </Position30> - </JumpHistory> - <RunParams> - <FormatVersion Value="2"/> - <Modes Count="0" ActiveMode="default"/> - </RunParams> - </ProjectSession> -</CONFIG> diff --git a/Belegscanner.res b/Belegscanner.res deleted file mode 100644 index f6e8499568f21121986c715951291349244aeef3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139052 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 diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..dea8da7 --- /dev/null +++ b/pom.xml @@ -0,0 +1,52 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>BelegScanner</groupId> + <artifactId>BelegScanner</artifactId> + <version>0.0.2</version> + <name>BelegScanner</name> + + <dependencies> + <dependency> + <groupId>de.srsoftware</groupId> + <artifactId>tools</artifactId> + <version>1.1.17</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>de.srsoftware</groupId> + <artifactId>tools.translations</artifactId> + <version>1.1.3</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>de.srsoftware</groupId> + <artifactId>tools.gui.selectcombobox</artifactId> + <version>0.1.1</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.json</groupId> + <artifactId>json</artifactId> + <version>20200518</version> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + <version>1.2.3</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.8.1</version> + <configuration> + <release>11</release> + </configuration> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file diff --git a/scanner.lfm b/scanner.lfm deleted file mode 100644 index 04f4a05..0000000 --- a/scanner.lfm +++ /dev/null @@ -1,226 +0,0 @@ -object ScanForm: TScanForm - Left = 2222 - Height = 880 - Top = 198 - Width = 1188 - Caption = 'Belegscanner' - ClientHeight = 880 - ClientWidth = 1188 - OnCreate = FormCreate - LCLVersion = '2.0.6.0' - object TypeSelector: TComboBox - Left = 904 - Height = 27 - Top = 208 - Width = 276 - Anchors = [akTop, akRight] - Enabled = False - ItemHeight = 0 - OnChange = TypeSelectorChange - OnKeyDown = ComboKey - TabOrder = 1 - Text = 'Herkunft' - end - object Origin: TComboBox - Left = 904 - Height = 27 - Top = 240 - Width = 272 - Anchors = [akTop, akRight] - Enabled = False - ItemHeight = 0 - OnChange = OriginChange - OnKeyDown = ComboKey - TabOrder = 3 - Text = 'Start' - end - object Destination: TComboBox - Left = 904 - Height = 27 - Top = 304 - Width = 272 - Anchors = [akTop, akRight] - Enabled = False - ItemHeight = 0 - OnChange = DestinationChange - OnKeyDown = ComboKey - TabOrder = 5 - Text = 'Ziel' - end - object FolderName: TLabel - Left = 8 - Height = 17 - Top = 842 - Width = 101 - Anchors = [akLeft, akBottom] - Caption = 'Ordnername' - Font.Height = -16 - Font.Name = 'Sans' - ParentColor = False - ParentFont = False - end - object Product: TComboBox - Left = 904 - Height = 27 - Top = 240 - Width = 276 - Anchors = [akTop, akRight] - Enabled = False - ItemHeight = 0 - OnChange = ProductChange - OnKeyDown = ComboKey - TabOrder = 2 - Text = 'Produkt' - Visible = False - end - object ScanButton: TButton - Left = 904 - Height = 49 - Top = 400 - Width = 272 - Anchors = [akTop, akRight] - Caption = 'scannen!' - Enabled = False - OnClick = ScanButtonClick - TabOrder = 8 - end - object Resolution: TComboBox - Left = 904 - Height = 27 - Top = 368 - Width = 72 - Anchors = [akTop, akRight] - ItemHeight = 0 - ItemIndex = 0 - Items.Strings = ( - '150' - '300' - ) - TabOrder = 7 - Text = '150' - end - object DPI: TLabel - Left = 984 - Height = 14 - Top = 376 - Width = 19 - Anchors = [akTop, akRight] - Caption = 'dpi' - ParentColor = False - end - object BaseFolder: TLabel - Left = 8 - Height = 17 - Top = 818 - Width = 89 - Anchors = [akLeft, akBottom] - Caption = 'BaseFolder' - Font.Height = -16 - Font.Name = 'Sans' - ParentColor = False - ParentFont = False - OnClick = BaseFolderClick - end - object Stop: TComboBox - Left = 904 - Height = 27 - Top = 272 - Width = 272 - Anchors = [akTop, akRight] - Enabled = False - ItemHeight = 0 - OnChange = StopChange - OnKeyDown = ComboKey - TabOrder = 4 - Text = 'Zwischenhalt' - end - object Preview: TImage - Left = 8 - Height = 800 - Top = 8 - Width = 880 - Anchors = [akTop, akLeft, akRight, akBottom] - Center = True - Proportional = True - end - object Calendar: TCalendar - Left = 904 - Height = 190 - Top = 8 - Width = 276 - Anchors = [akTop, akRight] - DateTime = 0 - OnChange = CalendarChange - TabOrder = 0 - end - object PicSize: TComboBox - Left = 904 - Height = 27 - Top = 336 - Width = 272 - Anchors = [akTop, akRight] - ItemHeight = 0 - TabOrder = 6 - Text = '209 x 297 mm' - end - object DropButton: TButton - Left = 904 - Height = 32 - Top = 776 - Width = 276 - Anchors = [akRight, akBottom] - Caption = 'Löschen' - Enabled = False - OnClick = DropButtonClick - ParentShowHint = False - ShowHint = True - TabOrder = 9 - end - object Swap: TButton - Left = 1048 - Height = 30 - Top = 368 - Width = 128 - Anchors = [akTop, akRight] - Caption = 'Start/Ziel tauschen' - OnClick = SwapClick - TabOrder = 10 - end - object extButton: TButton - Left = 904 - Height = 49 - Top = 456 - Width = 272 - Anchors = [akTop, akRight] - Caption = 'extern öffnen' - Enabled = False - OnClick = extButtonClick - TabOrder = 11 - end - object dropBtn: TButton - Left = 904 - Height = 49 - Top = 512 - Width = 272 - Anchors = [akTop, akRight] - Caption = 'Datensatz löschen' - OnClick = dropBtnClick - TabOrder = 12 - end - object OpenDir: TButton - Left = 904 - Height = 32 - Top = 744 - Width = 276 - Anchors = [akRight, akBottom] - Caption = 'Ordner öffnen' - OnClick = OpenDirClick - ParentShowHint = False - ShowHint = True - TabOrder = 13 - end - object BaseFolderDialog: TSelectDirectoryDialog - left = 520 - top = 128 - end -end diff --git a/scanner.pas b/scanner.pas deleted file mode 100644 index e22b5ec..0000000 --- a/scanner.pas +++ /dev/null @@ -1,459 +0,0 @@ -unit scanner; - -{$mode objfpc}{$H+} - -interface - -uses - Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtDlgs, - StdCtrls, ExtCtrls, Calendar, Unix; - -type - - { ScanThread } - ScanThread = class(TThread) - private - dbtn, obtn, sbtn : TButton; - folder,r :String; - s:TPoint; - p:TImage; - protected - procedure Execute; override; - public - constructor Create(scanButton: TButton; dir: String; size: TPoint; resolution: String; preview: TImage; dropButton: TButton; openButton: TButton); - end; - - { TScanForm } - TScanForm = class(TForm) - dropBtn: TButton; - OpenDir: TButton; - extButton: TButton; - Swap: TButton; - DropButton: TButton; - Calendar: TCalendar; - PicSize: TComboBox; - Preview: TImage; - Stop: TComboBox; - DPI: TLabel; - BaseFolder: TLabel; - Resolution: TComboBox; - BaseFolderDialog: TSelectDirectoryDialog; - ScanButton: TButton; - Product: TComboBox; - Destination: TComboBox; - FolderName: TLabel; - Origin: TComboBox; - TypeSelector: TComboBox; - - procedure BaseFolderClick(Sender: TObject); - procedure dropBtnClick(Sender: TObject); - procedure extButtonClick(Sender: TObject); - procedure DropButtonClick(Sender: TObject); - procedure CalendarChange(Sender: TObject); - procedure FormCreate(Sender: TObject); - procedure OpenDirClick(Sender: TObject); - procedure ProductChange(Sender: TObject); - procedure DestinationChange(Sender: TObject); - procedure OriginChange(Sender: TObject); - procedure ScanButtonClick(Sender: TObject); - procedure StopChange(Sender: TObject); - procedure SwapClick(Sender: TObject); - procedure TypeSelectorChange(Sender: TObject); - function ExportConfig(): string; - function ExportOptions(dropDown: TComboBox): string; - procedure ComboKey(Sender: TObject; var Key: Word; Shift: TShiftState); - procedure UpdateFolder(); - procedure MixLocations(d1: TComboBox; d2: TComboBox; d3: TComboBox); - procedure DeleteStationFrom(combo: TComboBox; station: string; defaultName : string); - procedure DeleteStation(station : string); - private - date: TDateTime; - function getSize(): TPoint; - - public - const - SCANNING : Integer = 1; - IDLE: Integer = 0; - end; - -var - ScanForm: TScanForm; - -implementation - -{$R *.lfm} - -{ ScanThread } - -constructor ScanThread.Create(scanButton: TButton; dir: String; size: TPoint; resolution: String; preview: TImage; dropButton: TButton; openButton: TButton ); -begin - sbtn := scanButton; - obtn := openButton; - dbtn := dropButton; - folder:=dir; - s:=size; - r:=resolution; - p:=preview; - inherited Create(false); -end; - -procedure ScanThread.Execute; -var - fname: String; - num: Integer; - pic: TPicture; -begin - ForceDirectories(folder); - num := 0; - repeat - num := num +1; - fname := 'scan_'; - if (num<10) then fname:=fname+'0'; - if (num<100) then fname:=fname+'0'; - if (num<1000) then fname:=fname+'0'; - fname := fname+IntToStr(num)+'.jpg'; - until not FileExists(folder+fname); - fpSystem('scanimage -x '+IntToStr(s.x)+' -y '+IntToStr(s.y)+' --mode Color --resolution '+r+' --format jpeg > "'+folder+fname+'"'); - try - pic:=TPicture.Create; - pic.LoadFromFile(folder+fname); - p.Picture:=pic; - p.Hint:=folder+fname; - finally - end; - dbtn.Hint:=folder+fname; - dbtn.Caption:=fname+' löschen'; - dbtn.Enabled:=true; - obtn.Enabled:=true; - sbtn.Enabled:=true; - sbtn.Tag := TScanForm.IDLE; -end; - -function allowed(s: String): boolean; -begin - Result := true; - if (s = '') then Result := false; - if (s = 'Start') then Result := false; - if (s = 'Ziel') then Result := false; - if (s = 'Zwischenhalt') then Result := false; -end; - -procedure TScanForm.MixLocations(d1: TComboBox; d2: TComboBox; d3: TComboBox); -var - list: TStringList; -begin - list := TStringList.Create; - list.Sorted := True; - if (allowed(d1.Text)) then d1.Items.Add(d1.Text); - if (allowed(d2.Text)) then d2.Items.Add(d2.Text); - if (allowed(d3.Text)) then d3.Items.Add(d3.Text); - list.Assign(d1.Items); - list.AddStrings(d2.Items); - list.AddStrings(d3.Items); - d1.Items.Assign(list); - d2.Items.Assign(list); - d3.Items.Assign(list); -end; - -function TScanForm.ExportConfig(): string; -begin - Result := 'folder:'+BaseFolder.Caption+#13; - Result := Result + 'types:' + ExportOptions(TypeSelector) + #13; - Result := Result + 'items:' + ExportOptions(Product) + #13; - MixLocations(Origin, Destination, Stop); - Result := Result + 'locations:' + ExportOptions(Origin) + #13; - Result := Result + 'sizes:' + ExportOptions(PicSize) +#13; -end; - -function TScanForm.ExportOptions(dropDown: TComboBox): string; -var - list: TStringList; - item, current: string; - i: integer; - drop: Boolean; -begin - // make sure the current text appears in future lists - item := dropDown.Text; - drop := item.StartsWith(' '); - - if drop then - begin - i := 0; - while i < dropDown.Items.Count do - begin - item := Trim(item); - current := Trim(dropDown.Items[i]); - if current = item then dropDown.Items.Delete(i) else i := i+1; - end; - end else dropDown.Items.Add(item); - - // create a StringList to sort and concatenate - list := TStringList.Create; - list.StrictDelimiter := True; - list.Sorted := True; - - // put all items in the list, will sort and remove duplicates - list.Assign(dropDown.Items); - - // update dropdown - dropDown.Items.Assign(list); - - // return json array - Result := list.DelimitedText -end; - -procedure TScanForm.ComboKey(Sender: TObject; var Key: Word; Shift: TShiftState); -var - combo : TComboBox; - index : integer; - tx : string; -begin - if key = 40 then - begin - if TObject(Sender) is TComboBox then - begin - combo := TComboBox(Sender); - tx := combo.Text; - for index := 0 to combo.Items.Count-1 do - begin - if combo.Items[index].StartsWith(tx,true) then - begin - combo.ItemIndex:=index-1; - Exit; - end; - end; - end; - end; -end; - -procedure TScanForm.TypeSelectorChange(Sender: TObject); -var - state: boolean; -begin - TypeSelector.Tag := 1; - state := TypeSelector.Text = 'Ticket'; - Origin.Enabled := state; - Origin.Visible := state; - Stop.Enabled := state; - Stop.Visible := state; - Destination.Enabled := state; - Destination.Visible := state; - Swap.Enabled:=state; - Product.Enabled := not state; - Product.Visible := not state; - if (ScanButton.Tag <> TScanForm.SCANNING) then ScanButton.Enabled:=true; - UpdateFolder(); -end; - -procedure TScanForm.CalendarChange(Sender: TObject); -begin - date := Calendar.DateTime; - TypeSelector.Enabled := True; - UpdateFolder(); -end; - -procedure TScanForm.OriginChange(Sender: TObject); -begin - Origin.Tag := 1; - UpdateFolder(); -end; - -function TScanForm.getSize(): TPoint; -var - arr: TStringArray; - s: String; - w, h: Integer; -begin - s:=PicSize.Text; - arr:=s.Split(['x','m']); - w:=StrToInt(arr[0].Trim); - h:=StrToInt(arr[1].Trim); - PicSize.Caption:=IntToStr(w)+' x '+IntToStr(h)+' mm'; - Result := TPoint.Create(w,h); -end; - -procedure TScanForm.ScanButtonClick(Sender: TObject); -var - config: TFileStream; - filename: string; - json: string; - size: TPoint; -begin - ScanButton.Enabled:=false; - ScanButton.Tag:=TScanForm.SCANNING; - filename := GetEnvironmentVariable('HOME') + '/.config/belegscanner.conf'; - size := getSize(); - json := ExportConfig(); - try - config := TFilestream.Create(filename, fmCreate); - config.Write(json[1], json.Length); - finally - config.Free; - end; - ScanThread.Create(ScanButton,BaseFolder.Caption+'/'+FolderName.Caption+'/',size,Resolution.Caption,Preview,DropButton,extButton); -end; - -procedure TScanForm.StopChange(Sender: TObject); -begin - Stop.Tag := 1; - UpdateFolder(); -end; - -procedure TScanForm.SwapClick(Sender: TObject); -var - dummy: String; -begin - dummy:=Origin.Text; - Origin.Text := Destination.Text; - Destination.Text := dummy; - UpdateFolder(); -end; - -procedure TScanForm.DestinationChange(Sender: TObject); -begin - Destination.Tag := 1; - UpdateFolder(); -end; - -procedure TScanForm.ProductChange(Sender: TObject); -begin - Product.Tag := 1; - UpdateFolder(); -end; - - -procedure addItemsTo(combo: TComboBox; line: String); -var - parts: TStringArray; - fixed, part: string; -begin - parts := line.Split(','); - for part in parts do - begin - fixed := part.Replace('"',''); - if (fixed <> '') then combo.Items.Add(fixed); - end; -end; - -procedure TScanForm.FormCreate(Sender: TObject); -var - filename: String; - lines: TStringList; - line: String; - index: integer; -begin - BaseFolder.Caption:=GetEnvironmentVariable('HOME'); - filename := GetEnvironmentVariable('HOME') + '/.config/belegscanner.conf'; - lines := TStringList.Create; - Calendar.DateTime:=Now; - try - lines.LoadFromFile(filename); - for index := 0 to lines.Count-1 do - begin - line:=lines.Strings[index]; - if line.StartsWith('folder:') then - begin - line:=line.Substring(7); - BaseFolder.Caption:=line; - end; - if line.StartsWith('types:') then addItemsTo(TypeSelector,line.Substring(6)); - if line.StartsWith('items:') then addItemsTo(Product,line.Substring(6)); - if line.StartsWith('sizes:') then addItemsTo(PicSize,line.Substring(6)); - if line.StartsWith('locations:') then - begin - line := line.Substring(10); - addItemsTo(Origin,line); - addItemsTo(Destination,line); - addItemsTo(Stop,line); - end; - end - finally - end; -end; - -procedure TScanForm.OpenDirClick(Sender: TObject); -begin - WriteLn(BaseFolder.Caption); - fpSystem('gio open "'+BaseFolder.Caption+'"'); -end; - -procedure TScanForm.BaseFolderClick(Sender: TObject); -begin - BaseFolderDialog.FileName:=BaseFolder.Caption; - BaseFolderDialog.Execute; - BaseFolder.Caption := BaseFolderDialog.FileName; -end; - -procedure TScanForm.DeleteStationFrom(combo: TComboBox; station : string; defaultName : string); -var - index : integer; -begin - index := combo.Items.IndexOf(station); - if index > -1 then - begin - combo.Items.Delete(index); - combo.Text := defaultName; - end; -end; - -procedure TScanForm.DeleteStation(station : string); -begin - DeleteStationFrom(Origin,station,'Start'); - DeleteStationFrom(Stop,station,'Zwischenhalt'); - DeleteStationFrom(Destination,station,'Ziel'); -end; - -procedure TScanForm.dropBtnClick(Sender: TObject); -var - tx : string; -begin - tx := TypeSelector.Text; - if (tx <> 'Herkunft') and (tx <> 'Ticket') then - begin - TypeSelector.Items.Delete(TypeSelector.ItemIndex); - TypeSelector.Text := 'Herkunft'; - end; - - tx := Product.Text; - if Product.Enabled and (tx <> 'Produkt') then - begin - Product.Items.Delete(Product.ItemIndex); - Product.Text := 'Produkt'; - end; - - if Origin.Enabled and (Origin.Text <> 'Start') then deleteStation(Origin.Text); - if Stop.Enabled and (Stop.Text <> 'Zwischenhalt') then deleteStation(Stop.Text); - if Destination.Enabled and (Destination.Text <> 'Ziel') then deleteStation(Destination.Text); -end; - -procedure TScanForm.extButtonClick(Sender: TObject); -var - cmd: string; -begin - cmd := 'gvfs-open "'+DropButton.Hint+'"'; - fpSystem(cmd); -end; - -procedure TScanForm.DropButtonClick(Sender: TObject); -begin - DeleteFile(DropButton.Hint); - Preview.Picture:=nil; - DropButton.Enabled:=false; - extButton.Enabled:=false; -end; - - -procedure TScanForm.UpdateFolder(); -var - tx: string; -begin - tx := FormatDateTime('YYYY-MM-DD', date) + ' - '; - if (Product.Enabled and (Product.Tag > 0) and not( Product.Text = '') and not (Product.Text = 'Produkt')) then tx := tx + Trim(Product.Text) + ' von '; - if (TypeSelector.Tag > 0) then tx := tx + Trim(TypeSelector.Text); - if (Origin.Enabled and (Origin.Tag > 0)) then tx := tx + ': ' + Trim(Origin.Text); - if (Stop.Enabled and (Stop.Tag > 0) and not (Stop.Text = '')and not (Stop.Text = 'Zwischenhalt')) then tx := tx + ' - ' + Trim(Stop.Text); - if (Destination.Enabled and (Destination.Tag > 0)) then tx := tx + ' - ' + Trim(Destination.Text); - FolderName.Caption := tx; -end; - -end. diff --git a/src/main/java/de/srsoftware/belegscanner/Application.java b/src/main/java/de/srsoftware/belegscanner/Application.java new file mode 100644 index 0000000..9181664 --- /dev/null +++ b/src/main/java/de/srsoftware/belegscanner/Application.java @@ -0,0 +1,14 @@ +package de.srsoftware.belegscanner; + +import java.io.IOException; + +import de.srsoftware.belegscanner.gui.MainFrame; + +public class Application { + + public static void main(String[] args) throws IOException { + Configuration config = new Configuration(Constants.APPLICATION_NAME); + MainFrame app = new MainFrame(config); + app.setDefaultCloseOperation(MainFrame.EXIT_ON_CLOSE); + } +} diff --git a/src/main/java/de/srsoftware/belegscanner/Configuration.java b/src/main/java/de/srsoftware/belegscanner/Configuration.java new file mode 100644 index 0000000..c8a512b --- /dev/null +++ b/src/main/java/de/srsoftware/belegscanner/Configuration.java @@ -0,0 +1,145 @@ +package de.srsoftware.belegscanner; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.nio.charset.StandardCharsets; + +import org.json.JSONArray; +import org.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class Configuration { + + private static final Logger LOG = LoggerFactory.getLogger(Configuration.class); + private File file; + private JSONObject json = new JSONObject(); + + public Configuration(String appName) throws IOException { + String home = System.getProperty("user.home"); + String fileName = new StringBuilder().append(home).append(File.separator).append(".config").append(File.separator).append(appName).append(File.separator).append("config.json").toString(); + file = new File(fileName); + if (file.exists()) { + LOG.info("{} found, loading…",file); + FileReader in = new FileReader(file); + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + OutputStreamWriter writer = new OutputStreamWriter(buffer); + in.transferTo(writer); + writer.close(); + String jsonString = buffer.toString(StandardCharsets.UTF_8); + LOG.debug("Loaded json: {}",jsonString); + json = jsonString.startsWith("{") ? new JSONObject(jsonString) : new JSONObject(); + in.close(); + } else { + LOG.info("{} not found, creating new config.",file); + json = new JSONObject(); + } + } + + private void save() throws IOException { + LOG.debug("Trying to save config…"); + File dir = file.getParentFile(); + if (!dir.exists()) dir.mkdirs(); + FileWriter out = new FileWriter(file); + json.write(out, 2, 0); + out.close(); + } + + public JSONArray getOrCreateArray(String key) { + LOG.debug("requesting {} from config.",key); + String[] parts = key.split("\\."); + JSONObject localJson = json; + boolean update = false; + JSONArray result = null; + for (int i=0; i<parts.length; i++) { + String localKey = parts[i]; + LOG.debug("localKey = {}",localKey); + boolean lastPart = i == parts.length-1; + if (!localJson.has(localKey)) { + LOG.debug("{} not present in {}, creating…",localKey,localJson); + localJson.put(localKey, lastPart ? new JSONArray() : new JSONObject()); + update = true; + } + if (lastPart) { + result = localJson.getJSONArray(localKey); + } else localJson = localJson.getJSONObject(localKey); + } + if (update) try { + save(); + } catch (IOException ex) { + LOG.warn("Was not able to write config to {}!",file); + } + return result; + } + + @SuppressWarnings("unchecked") + public <T> T get(String key) { + LOG.debug("requesting {} from config.",key); + String[] parts = key.split("\\."); + JSONObject localJson = json; + for (int i=0; i<parts.length; i++) { + String localKey = parts[i]; + LOG.debug("localKey = {}",localKey); + boolean lastPart = i == parts.length-1; + if (!localJson.has(localKey)) return null; + if (lastPart) return (T) localJson.get(localKey); + localJson = localJson.getJSONObject(localKey); + } + return null; + } + + @SuppressWarnings("unchecked") + public <T> T getOrCreate(String key, T preset) { + LOG.debug("requesting {} from config.",key); + String[] parts = key.split("\\."); + JSONObject localJson = json; + boolean update = false; + Object result = preset; + for (int i=0; i<parts.length; i++) { + String localKey = parts[i]; + LOG.debug("localKey = {}",localKey); + boolean lastPart = i == parts.length-1; + if (!localJson.has(localKey)) { + LOG.debug("{} not present in {}, creating…",localKey,localJson); + localJson.put(localKey, lastPart ? preset : new JSONObject()); + update = true; + } + if (lastPart) { + result = localJson.get(localKey); + } else localJson = localJson.getJSONObject(localKey); + } + if (update) try { + save(); + } catch (IOException ex) { + LOG.warn("Was not able to write config to {}!",file); + } + return (T) result; + } + + public void set(String key, Object value) { + LOG.debug("setting {} to {}",key,value); + String[] parts = key.split("\\."); + JSONObject localJson = json; + for (int i=0; i<parts.length; i++) { + String localKey = parts[i]; + LOG.debug("localKey = {}",localKey); + boolean lastPart = i == parts.length-1; + if (!localJson.has(localKey)) { + LOG.debug("{} not present in {}, creating…",localKey,localJson); + localJson.put(localKey, lastPart ? value : new JSONObject()); + } + if (lastPart) break; + localJson = localJson.getJSONObject(localKey); + } + LOG.debug("altered json: {}",json); + try { + save(); + } catch (IOException ex) { + LOG.warn("Was not able to write config to {}!",file); + } + } +} diff --git a/src/main/java/de/srsoftware/belegscanner/Constants.java b/src/main/java/de/srsoftware/belegscanner/Constants.java new file mode 100644 index 0000000..807c1e1 --- /dev/null +++ b/src/main/java/de/srsoftware/belegscanner/Constants.java @@ -0,0 +1,7 @@ +package de.srsoftware.belegscanner; + +public class Constants { + + public static final String APPLICATION_NAME = "BelegScanner"; + +} diff --git a/src/main/java/de/srsoftware/belegscanner/gui/FilterComboBoxText.java b/src/main/java/de/srsoftware/belegscanner/gui/FilterComboBoxText.java new file mode 100644 index 0000000..3ab0ce0 --- /dev/null +++ b/src/main/java/de/srsoftware/belegscanner/gui/FilterComboBoxText.java @@ -0,0 +1,112 @@ +package de.srsoftware.belegscanner.gui; + +import java.awt.EventQueue; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.DefaultComboBoxModel; +import javax.swing.JComboBox; +import javax.swing.JFrame; +import javax.swing.JTextField; +import javax.swing.SwingUtilities; + +public class FilterComboBoxText { + + private JFrame frame; + private final JComboBox<String> comboBox = new JComboBox<>(); + private static List<String>listForComboBox= new ArrayList<String>(); + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + FilterComboBoxText window = new FilterComboBoxText(); + window.frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + + listForComboBox.add("Lion"); + listForComboBox.add("LionKing"); + listForComboBox.add("Mufasa"); + listForComboBox.add("Nala"); + listForComboBox.add("KingNala"); + listForComboBox.add("Animals"); + listForComboBox.add("Anims"); + listForComboBox.add("Fish"); + listForComboBox.add("Jelly Fish"); + listForComboBox.add("I am the boss"); + + + } + + public FilterComboBoxText() { + initialize(); + } + + private void initialize() { + frame = new JFrame(); + frame.setBounds(100, 100, 412, 165); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.getContentPane().setLayout(null); + comboBox.setEditable(true); + + comboBox.addItemListener(new ItemListener() { + public void itemStateChanged(ItemEvent arg0) { + + } + }); + + for(String detail : listForComboBox) comboBox.addItem(detail); + final JTextField textfield = (JTextField) comboBox.getEditor().getEditorComponent(); + textfield.addKeyListener(new KeyAdapter() { + public void keyReleased(KeyEvent ke) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + if(!textfield.getText().isEmpty()){ + comboBoxFilter(textfield.getText()); + } + } + }); + + } + }); + comboBox.setBounds(10, 39, 364, 29); + frame.getContentPane().add(comboBox); + } + + public void comboBoxFilter(String enteredText) { + System.out.println(comboBox.getItemCount()); + + if (!comboBox.isPopupVisible()) { + comboBox.showPopup(); + } + + List<String> filterArray= new ArrayList<String>(); + for (int i = 0; i < listForComboBox.size(); i++) { + if (listForComboBox.get(i).toLowerCase().contains(enteredText.toLowerCase())) { + filterArray.add(listForComboBox.get(i)); + } + } + if (filterArray.size() > 0) { + DefaultComboBoxModel<String> model = (DefaultComboBoxModel<String>) comboBox.getModel(); + model.removeAllElements(); + model.addElement(""); + for (String s: filterArray) + model.addElement(s); + + JTextField textfield = (JTextField) comboBox.getEditor().getEditorComponent(); + textfield.setText(enteredText); + } + } + +} \ No newline at end of file diff --git a/src/main/java/de/srsoftware/belegscanner/gui/MainFrame.java b/src/main/java/de/srsoftware/belegscanner/gui/MainFrame.java new file mode 100644 index 0000000..8151f28 --- /dev/null +++ b/src/main/java/de/srsoftware/belegscanner/gui/MainFrame.java @@ -0,0 +1,118 @@ +package de.srsoftware.belegscanner.gui; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.util.Date; +import java.util.HashMap; +import java.util.Map.Entry; +import java.util.Vector; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.swing.JFrame; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import de.srsoftware.belegscanner.Configuration; + + +public class MainFrame extends JFrame { + private static final Logger LOG = LoggerFactory.getLogger(MainFrame.class); + + private static final long serialVersionUID = 210283601541223645L; + + private static final String HOME = System.getProperty("user.home"); + private static final Pattern MARKEN = Pattern.compile("\\$([a-zA-Z]+)"); + + private StatusBar statusBar; + private Toolbar toolbar; + + private HashMap<String,String> fields = new HashMap<>(); + + private String path = ""; + + private String category =""; + + private Date date = new Date(); + + private String patchedPath = ""; + + private Configuration config; + + public MainFrame(Configuration config) { + this.config = config; + int width = config.getOrCreate("app.main.dimenstion.w",800); + int height = config.getOrCreate("app.main.dimenstion.h",600); + + BorderLayout layout = new BorderLayout(); + setLayout(layout); + + toolbar = new Toolbar(config); + statusBar = new StatusBar(); + + add(toolbar,BorderLayout.EAST); + add(statusBar,BorderLayout.SOUTH); + toolbar.addCategoryListener(this::setCategory) + .addDateListener(this::setDate) + .addFieldListener(this::setField) + .addPathListener(this::setPath) + .addScanListener(this::scan); + + setPreferredSize(new Dimension(width,height)); + pack(); + setVisible(true); + } + + private void addFieldsFor(String path) { + Vector<String> marks = new Vector<>(); + Matcher matches = MARKEN.matcher(path); + while (matches.find()) marks.add(matches.group(1)); + toolbar.addFieldsFor(marks); + }; + + private void scan(ActionEvent ev) { + LOG.debug("Scanning into '{}'",patchedPath); + config.set("app.categories."+category+".path",path); + } + + private void setCategory(String category) { + this.category = category; + updatePath(); + + } + + private void setDate(Date date) { + this.date = date; + updatePath(); + } + + private void setField(String key, String val) { + fields.put(key, val); + updatePath(); + } + + + private void setPath(String path) { + this.path = path; + updatePath(); + } + + @SuppressWarnings("deprecation") + private void updatePath() { + LOG.debug("updatePath() [path = {}]",path); + int year = 1900+date.getYear(); + int month = date.getMonth()+1; + int day = date.getDate(); + patchedPath = path.replace("$HOME",HOME) + .replace("$KATEGORIE", category) + .replace("$JAHR", year+"") + .replace("$MONAT", month<10 ? "0"+month : ""+month) + .replace("$TAG", day < 10 ? "0"+day : ""+day); + + addFieldsFor(patchedPath); + for (Entry<String, String> entry : fields.entrySet()) patchedPath = patchedPath.replace("$"+entry.getKey(), entry.getValue()); + statusBar.setPath(patchedPath); + } +} diff --git a/src/main/java/de/srsoftware/belegscanner/gui/StatusBar.java b/src/main/java/de/srsoftware/belegscanner/gui/StatusBar.java new file mode 100644 index 0000000..abee5a0 --- /dev/null +++ b/src/main/java/de/srsoftware/belegscanner/gui/StatusBar.java @@ -0,0 +1,27 @@ +package de.srsoftware.belegscanner.gui; + +import javax.swing.BoxLayout; +import javax.swing.JLabel; +import javax.swing.JPanel; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class StatusBar extends JPanel { + + private static final Logger LOG = LoggerFactory.getLogger(StatusBar.class); + + private static final long serialVersionUID = 8102800846089594705L; + private JLabel path; + + public StatusBar() { + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + add(path = new JLabel()); + } + + public StatusBar setPath(String path) { + LOG.debug("setPath({})",path); + this.path.setText(path); + return this; + } +} diff --git a/src/main/java/de/srsoftware/belegscanner/gui/Toolbar.java b/src/main/java/de/srsoftware/belegscanner/gui/Toolbar.java new file mode 100644 index 0000000..388a283 --- /dev/null +++ b/src/main/java/de/srsoftware/belegscanner/gui/Toolbar.java @@ -0,0 +1,195 @@ +package de.srsoftware.belegscanner.gui; + +import java.awt.Component; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Vector; +import java.util.stream.Collectors; + +import javax.swing.BoxLayout; +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JPanel; + +import org.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import de.srsoftware.belegscanner.Configuration; +import de.srsoftware.tools.gui.DateChooser; +import de.srsoftware.tools.gui.SelectComboBox; + +public class Toolbar extends JPanel { + + private static final Logger LOG = LoggerFactory.getLogger(Toolbar.class); + + public interface CategoryListener{ + public void setCategory(String category); + } + + public interface DateListener{ + public void setDate(Date date); + } + + public interface FieldListener{ + public void setField(String name, String value); + } + + public interface PathListener{ + public void setPath(String path); + } + + + private static final long serialVersionUID = -5834326573752788233L; + + private Vector<Object> categories = new Vector<>(); + private Vector<Object> paths = new Vector<>(); + + private HashSet<CategoryListener> categoryListeners = new HashSet<>(); + private HashSet<DateListener> dateListeners = new HashSet<>(); + private HashSet<FieldListener> fieldListeners = new HashSet<>(); + private HashSet<PathListener> pathListeners = new HashSet<>(); + private HashSet<ActionListener> scanListeners = new HashSet<>(); + private HashMap<String,Component> additonalComponents = new HashMap<>(); + + private DateChooser date; + + private Configuration config; + + private SelectComboBox pathPicker; + + + + public Toolbar(Configuration config) { + this.config = config; + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + add(datePicker()); + add(input("Kategorie",categoryPicker(config))); + add(input("Pfad",pathPicker = pathPicker())); + add(scanButton()); + add(externButton()); + } + + public void addFieldsFor(Vector<String> marks) { + LOG.debug("addFieldsFor({})",marks); + + List<String> deleted = additonalComponents.keySet().stream().filter(key -> !marks.contains(key)).collect(Collectors.toList()); + deleted.forEach(name -> remove(additonalComponents.remove(name))); + + for (String name : marks) { + if (additonalComponents.containsKey(name)) continue; + List<Object> knownValues = List.of(); + SelectComboBox valuePicker = new SelectComboBox(knownValues).onUpdateText(newText -> updateField(name,newText)); + Component input = input(name, valuePicker); + add(input,getComponentCount()-2); + additonalComponents.put(name, input); + } + } + + public Toolbar addCategoryListener(CategoryListener listener) { + categoryListeners.add(listener); + return this; + } + + public Toolbar addDateListener(DateListener listener) { + dateListeners.add(listener); + return this; + } + + public Toolbar addFieldListener(FieldListener listener) { + fieldListeners.add(listener); + return this; + } + + public Toolbar addPathListener(PathListener listener){ + pathListeners.add(listener); + return this; + } + + public Toolbar addScanListener(ActionListener listener) { + scanListeners.add(listener); + return this; + } + + + private Component categoryPicker(Configuration config) { + JSONObject elements = config.getOrCreate("app.categories",new JSONObject()); + elements.keySet().forEach(categories::add); + return new SelectComboBox(categories).onUpdateText(this::updateCat); + } + + private Component datePicker() { + date = new DateChooser(); + Dimension dim = new Dimension(400, 250); + date.setMaximumSize(dim); + date.addActionListener(ev -> dateListeners.forEach(listener -> listener.setDate(date.getSelectedDate()))); + return date; + } + + private JButton externButton() { + JButton btn = new JButton("extern öffnen"); + return btn; + } + + private Component input(String caption, Component component) { + JPanel panel = new JPanel(); + panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS)); + panel.add(new JLabel(caption+" ")); + panel.add(component); + return panel; + } + + + public Date getDate() { + return date.getSelectedDate(); + } + + private SelectComboBox pathPicker() { + JSONObject cats = config.getOrCreate("app.categories",new JSONObject()); + for (String catName : cats.keySet()) { + JSONObject catInfo = cats.getJSONObject(catName); + if (catInfo.has("path")) paths.add(catInfo.get("path")); + } + paths.add("$HOME/$JAHR/$MONAT-$TAG - $KATEGORIE"); + return new SelectComboBox(paths).onUpdateText(this::updatePath); + } + + private Component scanButton() { + JButton scanButton = new JButton("scannen!"); + scanButton.addActionListener(this::scanPressed); + return scanButton; + } + + private void scanPressed(ActionEvent evt) { + scanListeners.forEach(l->l.actionPerformed(evt)); + } + + protected void updateCat(String newCat) { + LOG.debug("updateCat({})",newCat); + categoryListeners.forEach(l -> l.setCategory(newCat)); + if (!newCat.isEmpty()) { + String path = config.get("app.categories."+newCat+".path"); + LOG.debug("path: {}",path); + if (path != null) { + pathPicker.setSelectedItem(path); + updatePath(path); + } + } + } + + private void updateField(String name, String val) { + LOG.debug("updateField({},{})",name,val); + fieldListeners.forEach(l -> l.setField(name,val)); + } + + + protected void updatePath(String newPath) { + LOG.debug("updatePath({})",newPath); + pathListeners.forEach(l -> l.setPath(newPath)); + } +}