feat: Implement GUI for SPED Automático with configuration management and theme support

- Added a new GUI application using the Iced library for user interaction.
- Implemented configuration loading from an INI file, including fields for model file, spreadsheet path, and reporting month.
- Introduced theme management with options for auto, light, and dark modes based on system preferences.
- Added functionality to browse for model and spreadsheet files.
- Implemented validation and formatting for the reporting month input.
- Integrated asynchronous processing of the SPED generation logic, with user feedback during execution.
- Created a logging mechanism to track application events and errors.
- Added tests for core functionalities including file reading/writing and data processing.
This commit is contained in:
FelipeCN
2025-11-17 13:42:08 -03:00
commit 8f81024a6b
12 changed files with 5992 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
# sped_automatico (Rust protótipo)
Protótipo mínimo em Rust do projeto `sped-automatico`.
Requisitos
- Rust toolchain (rustup + cargo)
Build e execução (PowerShell no Windows)
```powershell
cd d:\\PROJECTS\\sped-automatico
cargo build --release
# ou em modo dev
cargo run -- --config config_motoradio.ini
```
O protótipo lê `config_motoradio.ini`, carrega o `ModeloArquivo`, detecta a codificação, lista os estados `|E200|` encontrados e lista folhas do XLSX indicado em `CaminhoPlanilha`.
Próximos passos
- Implementar utilitários de leitura/escrita com recodificação ISO-8859-1
- Portar lógica de inserção dos registros E250 e atualização dos finais (9900/9990/9999)
- Adicionar testes de integração e casos com seus arquivos reais