mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2026-02-17 13:52:14 +01:00
# Summary - Adds desktop file tracking: local paths are preserved and save buttons now work as expcted (doing Save/Save As as appropriate) - Adds logic to track whether files are 'dirty' (they've been modified by some tool, and not saved to disk yet). - Improves file state UX (dirty vs saved) and close warnings - Web behaviour should be unaffected by these changes ## Indicators Files now have indicators in desktop mode to tell you their state. ### File up-to-date with disk <img width="318" height="393" alt="image" src="https://github.com/user-attachments/assets/06325f9a-afd7-4c2f-8a5b-6d11e3093115" /> ### File modified by a tool but not saved to disk yet <img width="357" height="385" alt="image" src="https://github.com/user-attachments/assets/1a7716d9-c6f7-4d13-be0d-c1de6493954b" /> ### File not tracked on disk <img width="312" height="379" alt="image" src="https://github.com/user-attachments/assets/9cffe300-bd9a-4e19-97c7-9b98bebefacc" /> # Limitations - It's a bit weird that we still have files stored in indexeddb in the app, which are still loadable. We might want to change this behaviour in the future - Viewer's Save doesn't persist to disk. I've left that out here because it'd need a lot of testing to make sure the logic's right with making sure you can leave the Viewer with applying the changes to the PDF _without_ saving to disk - There's no current way to do Save As on a file that has already been persisted to disk - it's only ever Save. Similarly, there's no way to duplicate a file. --------- Co-authored-by: James Brunton <jbrunton96@gmail.com> Co-authored-by: James Brunton <james@stirlingpdf.com>
58 lines
1.6 KiB
TOML
58 lines
1.6 KiB
TOML
[package]
|
|
name = "stirling-pdf"
|
|
version = "0.1.0"
|
|
description = "Stirling-PDF Desktop Application"
|
|
authors = ["Stirling-PDF Contributors"]
|
|
license = ""
|
|
repository = ""
|
|
edition = "2021"
|
|
rust-version = "1.77.2"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[lints.rust]
|
|
warnings = "deny"
|
|
|
|
[lib]
|
|
name = "app_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2.5.3", features = [] }
|
|
|
|
[dependencies]
|
|
serde_json = "1.0"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
log = "0.4"
|
|
tauri = { version = "2.9.0", features = [ "devtools"] }
|
|
tauri-plugin-log = "2.8.0"
|
|
tauri-plugin-shell = "2.3.4"
|
|
tauri-plugin-fs = "2.4.5"
|
|
tauri-plugin-dialog = "2.4.2"
|
|
tauri-plugin-http = { version = "2.5.6", features = ["dangerous-settings"] }
|
|
tauri-plugin-single-instance = { version = "2.3.7", features = ["deep-link"] }
|
|
tauri-plugin-store = "2.4.2"
|
|
tauri-plugin-opener = "2.5.3"
|
|
tauri-plugin-deep-link = "2.4.6"
|
|
keyring = { version = "3.6.1", features = ["apple-native", "windows-native"] }
|
|
tokio = { version = "1.0", features = ["time", "sync"] }
|
|
reqwest = { version = "0.11", default-features = false, features = ["json", "rustls-tls", "rustls-tls-native-roots"] }
|
|
tiny_http = "0.12"
|
|
url = "2.5"
|
|
urlencoding = "2.1"
|
|
sha2 = "0.10"
|
|
base64 = "0.22"
|
|
rand = "0.8"
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
core-foundation = "0.10"
|
|
core-services = "1.0"
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
windows = { version = "0.58", features = [
|
|
"Win32_Foundation",
|
|
"Win32_System_Com",
|
|
"Win32_UI_Shell",
|
|
"Win32_System_ApplicationInstallationAndServicing",
|
|
] }
|