1
0
Fork 0
mirror of synced 2024-04-30 02:23:53 +12:00

Update image-rs and fix selecting windows path (#656)

This commit is contained in:
Rafał Mikrut 2022-04-02 16:11:28 +02:00 committed by GitHub
parent ebbbec414c
commit 2d8a930ae5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 367 additions and 191 deletions

481
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -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"

View file

@ -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;

View file

@ -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"

View file

@ -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()
} }

View file

@ -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"]

View file

@ -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(&regex_widcard) { true => match Regex::new(&regex_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;
} }
} }

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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};