Update image-rs and fix selecting windows path (#656)
This commit is contained in:
parent
ebbbec414c
commit
2d8a930ae5
481
Cargo.lock
generated
481
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -10,7 +10,7 @@ repository = "https://github.com/qarmin/czkawka"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
czkawka_core = { path = "../czkawka_core", version = "4.0.0" }
|
czkawka_core = { path = "../czkawka_core", version = "4.0.0" }
|
||||||
structopt = "0.3.25"
|
structopt = "0.3.26"
|
||||||
|
|
||||||
# For enum types
|
# For enum types
|
||||||
img_hash = "3.2.0"
|
image_hasher = "1.0.0"
|
|
@ -1,6 +1,6 @@
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
||||||
use img_hash::{FilterType, HashAlg};
|
use image_hasher::{FilterType, HashAlg};
|
||||||
use structopt::StructOpt;
|
use structopt::StructOpt;
|
||||||
|
|
||||||
use czkawka_core::common_dir_traversal::CheckingMethod;
|
use czkawka_core::common_dir_traversal::CheckingMethod;
|
||||||
|
|
|
@ -12,38 +12,38 @@ repository = "https://github.com/qarmin/czkawka"
|
||||||
[dependencies]
|
[dependencies]
|
||||||
humansize = "1.1.1"
|
humansize = "1.1.1"
|
||||||
rayon = "1.5.1"
|
rayon = "1.5.1"
|
||||||
crossbeam-channel = "0.5.1"
|
crossbeam-channel = "0.5.4"
|
||||||
|
|
||||||
# For saving/loading config files to specific directories
|
# For saving/loading config files to specific directories
|
||||||
directories-next = "2.0.0"
|
directories-next = "2.0.0"
|
||||||
|
|
||||||
# Needed by similar images
|
# Needed by similar images
|
||||||
img_hash = "3.2.0"
|
image_hasher = "1.0.0"
|
||||||
bk-tree = "0.4.0"
|
bk-tree = "0.4.0"
|
||||||
image = "0.23.14"
|
image = "0.24.1"
|
||||||
hamming = "0.1.3"
|
hamming = "0.1.3"
|
||||||
|
|
||||||
# Needed by same music
|
# Needed by same music
|
||||||
bitflags = "1.3.2"
|
bitflags = "1.3.2"
|
||||||
lofty="0.5.0"
|
lofty="0.5.3"
|
||||||
|
|
||||||
# Futures - needed by async progress sender
|
# Futures - needed by async progress sender
|
||||||
futures = "0.3.19"
|
futures = "0.3.21"
|
||||||
|
|
||||||
# Needed by broken files
|
# Needed by broken files
|
||||||
zip = "0.5.13"
|
zip = "0.5.13"
|
||||||
rodio = { version = "0.15.0", optional = true }
|
rodio = { version = "0.15.0", optional = true }
|
||||||
|
|
||||||
# Hashes for duplicate files
|
# Hashes for duplicate files
|
||||||
blake3 = "1.2.0"
|
blake3 = "1.3.1"
|
||||||
crc32fast = "1.3.0"
|
crc32fast = "1.3.2"
|
||||||
xxhash-rust = { version = "0.8.2", features = ["xxh3"] }
|
xxhash-rust = { version = "0.8.4", features = ["xxh3"] }
|
||||||
|
|
||||||
tempfile = "3.2.0"
|
tempfile = "3.3.0"
|
||||||
|
|
||||||
# Video Duplactes
|
# Video Duplactes
|
||||||
vid_dup_finder_lib = "0.1.0"
|
vid_dup_finder_lib = "0.1.0"
|
||||||
ffmpeg_cmdline_utils = "0.1.0"
|
ffmpeg_cmdline_utils = "0.1.1"
|
||||||
|
|
||||||
# Saving/Loading Cache
|
# Saving/Loading Cache
|
||||||
serde = "1.0.133"
|
serde = "1.0.133"
|
||||||
|
|
|
@ -14,7 +14,7 @@ use bk_tree::BKTree;
|
||||||
use crossbeam_channel::Receiver;
|
use crossbeam_channel::Receiver;
|
||||||
use humansize::{file_size_opts as options, FileSize};
|
use humansize::{file_size_opts as options, FileSize};
|
||||||
use image::GenericImageView;
|
use image::GenericImageView;
|
||||||
use img_hash::{FilterType, HashAlg, HasherConfig};
|
use image_hasher::{FilterType, HashAlg, HasherConfig};
|
||||||
use rayon::prelude::*;
|
use rayon::prelude::*;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
@ -1222,7 +1222,6 @@ fn convert_algorithm_to_string(hash_alg: &HashAlg) -> String {
|
||||||
HashAlg::Blockhash => "Blockhash",
|
HashAlg::Blockhash => "Blockhash",
|
||||||
HashAlg::VertGradient => "VertGradient",
|
HashAlg::VertGradient => "VertGradient",
|
||||||
HashAlg::DoubleGradient => "DoubleGradient",
|
HashAlg::DoubleGradient => "DoubleGradient",
|
||||||
HashAlg::__Nonexhaustive => panic!(),
|
|
||||||
}
|
}
|
||||||
.to_string()
|
.to_string()
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,32 +10,32 @@ repository = "https://github.com/qarmin/czkawka"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
czkawka_core = { path = "../czkawka_core", version = "4.0.0"}
|
czkawka_core = { path = "../czkawka_core", version = "4.0.0"}
|
||||||
gdk = "0.15.2"
|
gdk = "0.15.4"
|
||||||
glib = "0.15.3"
|
glib = "0.15.10"
|
||||||
|
|
||||||
humansize = "1.1.1"
|
humansize = "1.1.1"
|
||||||
chrono = "0.4.19"
|
chrono = "0.4.19"
|
||||||
|
|
||||||
# Used for sending stop signal across threads
|
# Used for sending stop signal across threads
|
||||||
crossbeam-channel = "0.5.1"
|
crossbeam-channel = "0.5.4"
|
||||||
|
|
||||||
# To get informations about progress
|
# To get informations about progress
|
||||||
futures = "0.3.19"
|
futures = "0.3.21"
|
||||||
|
|
||||||
# For saving/loading config files to specific directories
|
# For saving/loading config files to specific directories
|
||||||
directories-next = "2.0.0"
|
directories-next = "2.0.0"
|
||||||
|
|
||||||
# For opening files
|
# For opening files
|
||||||
open = "2.0.2"
|
open = "2.1.1"
|
||||||
|
|
||||||
# To get image preview
|
# To get image preview
|
||||||
image = "0.23.14"
|
image = "0.24.1"
|
||||||
|
|
||||||
# To be able to use custom select
|
# To be able to use custom select
|
||||||
regex = "1.5.4"
|
regex = "1.5.5"
|
||||||
|
|
||||||
# To get image_hash types
|
# To get image_hasher types
|
||||||
img_hash = "3.2.0"
|
image_hasher = "1.0.0"
|
||||||
|
|
||||||
# Move files to trash
|
# Move files to trash
|
||||||
trash = "1.3.0"
|
trash = "1.3.0"
|
||||||
|
@ -44,16 +44,16 @@ trash = "1.3.0"
|
||||||
fs_extra = "1.2.0"
|
fs_extra = "1.2.0"
|
||||||
|
|
||||||
# Language
|
# Language
|
||||||
i18n-embed = { version = "0.13", features = ["fluent-system", "desktop-requester"] }
|
i18n-embed = { version = "0.13.4", features = ["fluent-system", "desktop-requester"] }
|
||||||
i18n-embed-fl = "0.6.1"
|
i18n-embed-fl = "0.6.4"
|
||||||
rust-embed = "6.3.0"
|
rust-embed = "6.3.0"
|
||||||
once_cell = "1.9.0"
|
once_cell = "1.10.0"
|
||||||
|
|
||||||
[target.'cfg(windows)'.dependencies]
|
[target.'cfg(windows)'.dependencies]
|
||||||
winapi = { version = "0.3.9", features = ["combaseapi", "objbase", "shobjidl_core", "windef", "winerror", "wtypesbase", "winuser"] }
|
winapi = { version = "0.3.9", features = ["combaseapi", "objbase", "shobjidl_core", "windef", "winerror", "wtypesbase", "winuser"] }
|
||||||
|
|
||||||
[dependencies.gtk]
|
[dependencies.gtk]
|
||||||
version = "0.15.3"
|
version = "0.15.4"
|
||||||
default-features = false # just in case
|
default-features = false # just in case
|
||||||
features = ["v3_24_9"]
|
features = ["v3_24_9"]
|
||||||
|
|
||||||
|
|
|
@ -359,14 +359,14 @@ fn popover_custom_select_unselect(
|
||||||
|
|
||||||
let tree_view = tree_view.clone();
|
let tree_view = tree_view.clone();
|
||||||
dialog.connect_response(move |confirmation_dialog_select_unselect, response_type| {
|
dialog.connect_response(move |confirmation_dialog_select_unselect, response_type| {
|
||||||
let name_widcard = entry_name.text().trim().to_string();
|
let name_wildcard = entry_name.text().trim().to_string();
|
||||||
let path_widcard = entry_path.text().trim().to_string();
|
let path_wildcard = entry_path.text().trim().to_string();
|
||||||
let regex_widcard = entry_rust_regex.text().trim().to_string();
|
let regex_wildcard = entry_rust_regex.text().trim().to_string();
|
||||||
|
|
||||||
#[cfg(target_family = "windows")]
|
#[cfg(target_family = "windows")]
|
||||||
let name_widcard = name_widcard.replace("/", "\\");
|
let name_wildcard = name_wildcard.replace("/", "\\");
|
||||||
#[cfg(target_family = "windows")]
|
#[cfg(target_family = "windows")]
|
||||||
let path_widcard = name_widcard.replace("/", "\\");
|
let path_wildcard = path_wildcard.replace("/", "\\");
|
||||||
|
|
||||||
if response_type == gtk::ResponseType::Ok {
|
if response_type == gtk::ResponseType::Ok {
|
||||||
let check_path = check_button_path.is_active();
|
let check_path = check_button_path.is_active();
|
||||||
|
@ -377,7 +377,7 @@ fn popover_custom_select_unselect(
|
||||||
|
|
||||||
if check_button_path.is_active() || check_button_name.is_active() || check_button_rust_regex.is_active() {
|
if check_button_path.is_active() || check_button_name.is_active() || check_button_rust_regex.is_active() {
|
||||||
let compiled_regex = match check_regex {
|
let compiled_regex = match check_regex {
|
||||||
true => match Regex::new(®ex_widcard) {
|
true => match Regex::new(®ex_wildcard) {
|
||||||
Ok(t) => t,
|
Ok(t) => t,
|
||||||
Err(_) => {
|
Err(_) => {
|
||||||
eprintln!("What? Regex should compile properly.");
|
eprintln!("What? Regex should compile properly.");
|
||||||
|
@ -441,10 +441,10 @@ fn popover_custom_select_unselect(
|
||||||
if check_regex && compiled_regex.find(&path_and_name).is_some() {
|
if check_regex && compiled_regex.find(&path_and_name).is_some() {
|
||||||
need_to_change_thing = true;
|
need_to_change_thing = true;
|
||||||
} else {
|
} else {
|
||||||
if check_name && Common::regex_check(&name_widcard, &name) {
|
if check_name && Common::regex_check(&name_wildcard, &name) {
|
||||||
need_to_change_thing = true;
|
need_to_change_thing = true;
|
||||||
}
|
}
|
||||||
if check_path && Common::regex_check(&path_widcard, &path) {
|
if check_path && Common::regex_check(&path_wildcard, &path) {
|
||||||
need_to_change_thing = true;
|
need_to_change_thing = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ use gtk::builders::LabelBuilder;
|
||||||
use gtk::prelude::*;
|
use gtk::prelude::*;
|
||||||
use gtk::{ResponseType, Window};
|
use gtk::{ResponseType, Window};
|
||||||
use image::imageops::FilterType;
|
use image::imageops::FilterType;
|
||||||
use img_hash::HashAlg;
|
use image_hasher::HashAlg;
|
||||||
|
|
||||||
use crate::flg;
|
use crate::flg;
|
||||||
use czkawka_core::common_messages::Messages;
|
use czkawka_core::common_messages::Messages;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use img_hash::{FilterType, HashAlg};
|
use image_hasher::{FilterType, HashAlg};
|
||||||
|
|
||||||
use czkawka_core::common_dir_traversal::CheckingMethod;
|
use czkawka_core::common_dir_traversal::CheckingMethod;
|
||||||
use czkawka_core::duplicate::HashType;
|
use czkawka_core::duplicate::HashType;
|
||||||
|
|
|
@ -7,7 +7,6 @@ use gtk::prelude::*;
|
||||||
use gtk::{ListStore, TextView, TreeView, Widget};
|
use gtk::{ListStore, TextView, TreeView, Widget};
|
||||||
use image::imageops::FilterType;
|
use image::imageops::FilterType;
|
||||||
use image::DynamicImage;
|
use image::DynamicImage;
|
||||||
use image::GenericImageView;
|
|
||||||
|
|
||||||
use crate::flg;
|
use crate::flg;
|
||||||
use czkawka_core::big_file::BigFile;
|
use czkawka_core::big_file::BigFile;
|
||||||
|
|
|
@ -9,7 +9,6 @@ use directories_next::ProjectDirs;
|
||||||
use gtk::prelude::*;
|
use gtk::prelude::*;
|
||||||
use gtk::{CheckButton, Image, SelectionMode, TextView, TreeView};
|
use gtk::{CheckButton, Image, SelectionMode, TextView, TreeView};
|
||||||
use image::imageops::FilterType;
|
use image::imageops::FilterType;
|
||||||
use image::GenericImageView;
|
|
||||||
|
|
||||||
use crate::flg;
|
use crate::flg;
|
||||||
use czkawka_core::similar_images::{IMAGE_RS_EXTENSIONS, RAW_IMAGE_EXTENSIONS, SIMILAR_VALUES};
|
use czkawka_core::similar_images::{IMAGE_RS_EXTENSIONS, RAW_IMAGE_EXTENSIONS, SIMILAR_VALUES};
|
||||||
|
|
Loading…
Reference in a new issue