Commit Graph

7 Commits

Author SHA1 Message Date
Michael Schimmel f8efc672a0 Refactor data display and add timestamp formatting
Introduced a helper function to format Delphi TDateTime values into
human-readable strings.
Updated the data display to render the latest 200 data points as a chart
instead of a list.
This change improves the visualization of market data by providing a
graphical representation of recent price movements.
2026-02-16 17:12:08 +01:00
Michael Schimmel b6a559b8bc Add Sync bound to DataServer Generic
The `DataServer` struct's generic type `T` now requires the `Sync` trait
bound. This allows `DataServer` instances to be safely shared across
multiple threads.

Additionally, data loading from zip archives has been moved to a
`spawn_blocking` task to avoid blocking the main Tokio runtime thread.
This improves responsiveness when dealing with large data files.
2026-02-16 16:18:49 +01:00
Michael Schimmel 147b4b745c Refactor DataServer to use generic cache 2026-02-16 15:27:26 +01:00
Michael Schimmel 0e2bf7e2aa Spawn read_from_zip on blocking thread
Adds `Send + 'static` bounds to `R` in `read_from_zip` and moves the
file
operations to a Tokio blocking task. This prevents blocking the async
runtime
when reading large zip archives.

Also, updates the `load_symbol_async` function to handle data loading
concurrently and stream chunks of data back to the UI. The `loaded_data`
field is changed from `Option<Arc<Vec<DataPoint<OhlcItem>>>>` to
`Vec<DataPoint<OhlcItem>>`.
The sender and receiver for data updates are also adjusted to handle
streaming
chunks.
2026-02-16 15:12:29 +01:00
Michael Schimmel e59fb661b9 Update main.rs 2026-02-16 13:56:53 +01:00
Michael Schimmel e9bd13ea4c Add eframe dependency and basic GUI structure
This commit introduces the `eframe` dependency and sets up the
foundational structure for a graphical user interface. It includes the
necessary imports for `egui` and prepares the application to render UI
elements.
2026-02-16 12:06:57 +01:00
Michael Schimmel a1283767ef init 2026-02-16 02:03:06 +01:00