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
+16
View File
@@ -0,0 +1,16 @@
// build.rs: embute icon.ico no executável Windows usando winres
fn main() {
if cfg!(target_os = "windows") {
// caminho relativo ao root do workspace
let icon_path = "icon.ico";
let mut res = winres::WindowsResource::new();
// apenas tenta definir se o arquivo existir
if std::path::Path::new(icon_path).exists() {
res.set_icon(icon_path);
} else {
// se não existir, continua sem erro
println!("cargo:warning=icon.ico não encontrado no root; ignorando embed de ícone");
}
let _ = res.compile();
}
}