2
0
mirror of https://github.com/qarmin/czkawka synced 2024-11-18 03:25:36 +00:00
czkawka/czkawka_gui/Cargo.toml

64 lines
1.5 KiB
TOML
Raw Normal View History

[package]
name = "czkawka_gui"
2023-10-15 07:50:46 +00:00
version = "6.1.0"
authors = ["Rafał Mikrut <mikrutrafal@protonmail.com>"]
2022-02-01 16:08:41 +00:00
edition = "2021"
rust-version = "1.72.1"
2020-09-29 07:27:45 +00:00
description = "GTK frontend of Czkawka"
license = "MIT"
homepage = "https://github.com/qarmin/czkawka"
repository = "https://github.com/qarmin/czkawka"
[dependencies]
gdk4 = "0.7"
glib = "0.18"
2023-12-16 22:21:09 +00:00
gtk4 = { version = "0.7", default-features = false, features = ["v4_6"] }
humansize = "2.1"
2024-02-01 06:48:22 +00:00
chrono = "0.4.33"
# Used for sending stop signal across threads
2023-12-16 22:21:09 +00:00
crossbeam-channel = "0.5"
# For saving/loading config files to specific directories
directories-next = "2.0"
# For opening files
open = "5.0"
# To get image preview
image = "0.24"
2021-12-02 12:31:10 +00:00
# To be able to use custom select
2023-12-11 18:12:26 +00:00
regex = "1.10"
2021-12-02 12:31:10 +00:00
# To get image_hasher types
image_hasher = "1.2"
# Move files to trash
trash = "3.2"
# For moving files(why std::fs doesn't have such features?)
fs_extra = "1.3"
# Language
i18n-embed = { version = "0.14", features = ["fluent-system", "desktop-requester"] }
2024-02-03 17:47:00 +00:00
i18n-embed-fl = "0.8"
rust-embed = { version = "8.2", features = ["debug-embed"] }
2023-12-11 18:12:26 +00:00
once_cell = "1.19"
log = "0.4.20"
handsome_logger = "0.8"
2023-12-11 18:12:26 +00:00
fun_time = { version = "0.3", features = ["log"] }
2023-12-16 22:21:09 +00:00
rayon = "1.8"
Windows taskbar progress support (#264) * Initial Windows taskbar progress support * Changes to COM (un)init It turns out winapi exposes IIDs through a `uuidof()` function of interfaces, so the copied one can be removed. * Don't return error codes Now the `TaskbarProgress` functions fail silently. The `TaskbarProgress` struct now will always be created (even in case of errors in initialisation), but it won't do anything. * Fix builds for other systems * Formatted code * Fix progress shown after the operation finished A progress update was received after the stop event. Also `as_ref()` was removed in many places (I don't even know why it was there). * Remove redundant call to hide It's already called by the `glib_stop_receiver` receiver. * Release the ITaskbarList3 and call CoUninitialize at exit Because objects moved to closures used as fallbacks in GTK have [static lifetimes](https://gtk-rs.org/docs-src/tutorial/closures#closures), the `TaskbarProgress` will never be dropped. To workaround this problem a `release` function is called when the main window is closed. This function behaves like `drop`, but sets the struct in a valid "empty" state, so that calling `release`/`drop` again won't cause problems. * Don't set the NORMAL state manually Because only NOPROGRESS and INDETERMINATE states are used, there is no need to set the NORMAL state when changing the progress value. Now `set_progress_value` will also change the `TaskbarProgress::current_state` if such situation occurs. > Unless [SetProgressState](https://docs.microsoft.com/en-us/windows/desktop/api/shobjidl_core/nf-shobjidl_core-itaskbarlist3-setprogressstate) > has set a blocking state (TBPF_ERROR or TBPF_PAUSED) for the window, a call to **SetProgressValue** assumes the TBPF_NORMAL > state even if it is not explicitly set. A call to **SetProgressValue** overrides and clears the TBPF_INDETERMINATE state. See the [SetProgressValue documentation](https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-itaskbarlist3-setprogressvalue#how-the-taskbar-button-chooses-the-progress-indicator-for-a-group)
2021-02-20 11:24:36 +00:00
2023-10-15 07:50:46 +00:00
czkawka_core = { path = "../czkawka_core", version = "6.1.0", features = [] }
[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3.9", features = ["combaseapi", "objbase", "shobjidl_core", "windef", "winerror", "wtypesbase", "winuser"] }
[features]
default = []
heif = ["czkawka_core/heif"]
libraw = ["czkawka_core/libraw"]