1
0
Fork 0
mirror of synced 2024-04-29 10:03:00 +12:00

Small fixes (#786)

This commit is contained in:
Rafał Mikrut 2022-07-28 07:29:50 +02:00 committed by GitHub
parent d5b08787a0
commit bf9dd352dd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 391 additions and 52 deletions

View file

@ -14,7 +14,7 @@ jobs:
matrix:
toolchain: [ stable ]
type: [ release ]
runs-on: macos-10.15
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
@ -50,7 +50,7 @@ jobs:
matrix:
toolchain: [ stable ]
type: [ release ]
runs-on: macos-10.15
runs-on: macos-latest
steps:
- uses: actions/checkout@v2

4
Cargo.lock generated
View file

@ -2187,9 +2187,9 @@ dependencies = [
[[package]]
name = "redox_syscall"
version = "0.2.15"
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "534cfe58d6a18cc17120fbf4635d53d14691c1fe4d951064df9bd326178d7d5a"
checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
dependencies = [
"bitflags",
]

View file

@ -13,10 +13,12 @@
- Fix disabled ui when using invalid settings in similar music - [#740](https://github.com/qarmin/czkawka/pull/740)
- Speedup searching for invalid extensions - [#740](https://github.com/qarmin/czkawka/pull/740)
- Support for finding the smallest files - [#741](https://github.com/qarmin/czkawka/pull/741)
- Improve Windows CI - [#749](https://github.com/qarmin/czkawka/pull/749)
- Improved Windows CI - [#749](https://github.com/qarmin/czkawka/pull/749)
- Ability to check for broken files by types - [#749](https://github.com/qarmin/czkawka/pull/749)
- Add heif and Webp files support - [#750](https://github.com/qarmin/czkawka/pull/750)
- Use in CLI Clap library instead StructOpt - [#759](https://github.com/qarmin/czkawka/pull/759)
- Multiple directories can be added via Manual Add button - [#782](https://github.com/qarmin/czkawka/pull/782)
- Option to exclude files from other filesystems in GUI(Linux) - [#776](https://github.com/qarmin/czkawka/pull/776)
## Version 4.1.0 - 24.04.2022r
- New mode - finding files whose content not match with their extension - [#678](https://github.com/qarmin/czkawka/pull/678)

View file

@ -15,7 +15,7 @@ use pdf::PdfError::Try;
use rayon::prelude::*;
use serde::{Deserialize, Serialize};
use crate::common::{open_cache_folder, Common, LOOP_DURATION, PDF_FILES_EXTENSIONS};
use crate::common::{create_crash_message, open_cache_folder, Common, LOOP_DURATION, PDF_FILES_EXTENSIONS};
use crate::common::{AUDIO_FILES_EXTENSIONS, IMAGE_RS_BROKEN_FILES_EXTENSIONS, ZIP_FILES_EXTENSIONS};
use crate::common_directory::Directories;
use crate::common_extensions::Extensions;
@ -477,8 +477,9 @@ impl BrokenFiles {
if let Ok(image_result) = result {
image_result
} else {
println!("Image-rs library crashed when opening \"{:?}\" image, please check if problem happens with latest image-rs version(this can be checked via https://github.com/qarmin/ImageOpening tool) and if it is not reported, please report bug here - https://github.com/image-rs/image/issues", file_entry_clone.path);
file_entry_clone.error_string = "Image crashes due parsing, please check if problem happens with updated https://github.com/qarmin/ImageOpening and later report here https://github.com/image-rs/image/issues".to_string();
let message = create_crash_message("Image-rs", &file_entry_clone.path.to_string_lossy().to_string(), "https://github.com/Serial-ATA/lofty-rs");
println!("{message}");
file_entry_clone.error_string = message;
Some(Some(file_entry_clone))
}
}
@ -489,28 +490,28 @@ impl BrokenFiles {
}
Some(Some(file_entry))
}
Err(_inspected) => Some(None)
Err(_inspected) => Some(None),
},
TypeOfFile::Audio => match File::open(&file_entry.path) {
Ok(file) =>
{
let mut file_entry_clone = file_entry.clone();
Ok(file) => {
let mut file_entry_clone = file_entry.clone();
let result = panic::catch_unwind(|| {
if let Err(e) = audio_checker::parse_audio_file(file) {
file_entry.error_string = e.to_string();
}
Some(Some(file_entry))
});
if let Ok(audio_result) = result {
audio_result
} else {
println!("External parsing audio library crashed when opening \"{:?}\" audio file, please report bug here - https://github.com/qarmin/audio_checker/issues", file_entry_clone.path);
file_entry_clone.error_string = "Audio crashes due parsing, please report bug here - https://github.com/qarmin/audio_checker/issues".to_string();
Some(Some(file_entry_clone))
let result = panic::catch_unwind(|| {
if let Err(e) = audio_checker::parse_audio_file(file) {
file_entry.error_string = e.to_string();
}
Some(Some(file_entry))
});
if let Ok(audio_result) = result {
audio_result
} else {
let message = create_crash_message("Symphonia", &file_entry_clone.path.to_string_lossy().to_string(), "https://github.com/pdeljanov/Symphonia");
println!("{message}");
file_entry_clone.error_string = message;
Some(Some(file_entry_clone))
}
}
Err(_inspected) => Some(None),
},
@ -540,12 +541,13 @@ impl BrokenFiles {
if let Ok(pdf_result) = result {
pdf_result
} else {
println!("PDF-rs library crashed when opening \"{:?}\" pdf, and if it is not reported, please report bug here - https://github.com/pdf-rs/pdf", file_entry_clone.path);
file_entry_clone.error_string = "PDF-rs library crashed when opening pdf, and if it is not reported, please report bug here - https://github.com/pdf-rs/pdf".to_string();
let message = create_crash_message("PDF-rs", &file_entry_clone.path.to_string_lossy().to_string(), "https://github.com/pdf-rs/pdf");
println!("{message}");
file_entry_clone.error_string = message;
Some(Some(file_entry_clone))
}
}
Err(_inspected) => Some(None)
Err(_inspected) => Some(None),
}
}

View file

@ -167,6 +167,10 @@ pub fn split_path(path: &Path) -> (String, String) {
}
}
pub fn create_crash_message(library_name: &str, file_path: &str, home_library_url: &str) -> String {
format!("{library_name} library crashed when opening \"{file_path}\", please check if this is fixed with the latest version of {library_name} (e.g. with https://github.com/qarmin/crates_tester) and if it is not fixed, please report bug here - {home_library_url}")
}
impl Common {
/// Printing time which took between start and stop point and prints also function name
#[allow(unused_variables)]

View file

@ -14,7 +14,7 @@ use lofty::{read_from, AudioFile, ItemKey};
use rayon::prelude::*;
use serde::{Deserialize, Serialize};
use crate::common::AUDIO_FILES_EXTENSIONS;
use crate::common::{create_crash_message, AUDIO_FILES_EXTENSIONS};
use crate::common::{open_cache_folder, Common, LOOP_DURATION};
use crate::common_dir_traversal::{CheckingMethod, DirTraversalBuilder, DirTraversalResult, FileEntry, ProgressData};
use crate::common_directory::Directories;
@ -393,7 +393,8 @@ impl SameMusic {
}
},
Err(_) => {
println!("File {} crashed during reading tags, please report bug", path);
let message = create_crash_message("Lofty", &path, "https://github.com/image-rs/image/issues");
println!("{message}");
return Some(None);
}
};

View file

@ -20,7 +20,9 @@ use serde::{Deserialize, Serialize};
#[cfg(feature = "heif")]
use crate::common::get_dynamic_image_from_heic;
use crate::common::{get_dynamic_image_from_raw_image, open_cache_folder, Common, HEIC_EXTENSIONS, IMAGE_RS_SIMILAR_IMAGES_EXTENSIONS, LOOP_DURATION, RAW_IMAGE_EXTENSIONS};
use crate::common::{
create_crash_message, get_dynamic_image_from_raw_image, open_cache_folder, Common, HEIC_EXTENSIONS, IMAGE_RS_SIMILAR_IMAGES_EXTENSIONS, LOOP_DURATION, RAW_IMAGE_EXTENSIONS,
};
use crate::common_directory::Directories;
use crate::common_extensions::Extensions;
use crate::common_items::ExcludedItems;
@ -563,8 +565,7 @@ impl SimilarImages {
if RAW_IMAGE_EXTENSIONS.iter().any(|e| file_name_lowercase.ends_with(e)) {
image = match get_dynamic_image_from_raw_image(&file_entry.path) {
Some(t) => t,
None =>
return Some(Some((file_entry, Vec::new())))
None => return Some(Some((file_entry, Vec::new()))),
};
break 'krztyna;
}
@ -599,7 +600,8 @@ impl SimilarImages {
return Some(Some((file_entry, Vec::new())));
}
} else {
println!("Image-rs library crashed when opening \"{:?}\" image, please check if problem happens with latest image-rs version(this can be checked via https://github.com/qarmin/ImageOpening tool) and if it is not reported, please report bug here - https://github.com/image-rs/image/issues", file_entry.path);
let message = create_crash_message("Image-rs", &file_entry.path.to_string_lossy().to_string(), "https://github.com/image-rs/image/issues");
println!("{message}");
return Some(Some((file_entry, Vec::new())));
}

View file

@ -1 +1,105 @@
<svg enable-background="new 0 0 512 512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><g fill="#f2f2f2"><g transform="scale(-1)"><path d="m-482.28412-262.13965h445.9397v55.947498h-445.9397z"/><path d="m-481.87442-189.59436h445.9397v55.947498h-445.9397z"/><path d="m-481.91937-119.8358h445.9397v55.947498h-445.9397z"/><path d="m-299.72827-409.45209h72.003258v120.28382h-72.003258z" stroke-linejoin="round" stroke-width="1.202"/></g><path d="m308.54577 151.46475-76.35538-20.40233-76.35538-20.40234 55.84663-55.924531 55.84663-55.9245349 20.50875 76.3268659z" stroke-linejoin="round" stroke-width="1.202" transform="matrix(-.96661942 .25621649 -.25621649 -.96661942 520.391596 416.430997)"/></g></svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
enable-background="new 0 0 512 512"
viewBox="0 0 512 512"
version="1.1"
id="svg16"
sodipodi:docname="czk_hide_down.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs20" />
<sodipodi:namedview
id="namedview18"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="1.1656213"
inkscape:cx="202.89608"
inkscape:cy="232.92298"
inkscape:window-width="1920"
inkscape:window-height="1016"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="g14" />
<g
fill="#f2f2f2"
id="g14">
<rect
style="fill:#666666;fill-rule:evenodd;stroke-width:1.0905"
id="rect44"
width="446.01709"
height="77.321869"
x="35.979671"
y="12.962944" />
<rect
style="fill:#cccccc;fill-rule:evenodd;stroke-width:0.916437"
id="rect44-9"
width="426.74094"
height="57.075775"
x="45.104263"
y="22.958824" />
<rect
style="fill:#666666;fill-rule:evenodd;stroke-width:1.0905"
id="rect44-2"
width="446.01709"
height="77.321869"
x="35.747097"
y="107.06576" />
<rect
style="fill:#cccccc;fill-rule:evenodd;stroke-width:0.916437"
id="rect44-9-4"
width="426.74094"
height="57.075775"
x="44.87167"
y="117.06164" />
<rect
style="fill:#666666;fill-rule:evenodd;stroke-width:1.0905"
id="rect44-90"
width="446.01709"
height="77.321869"
x="37.098015"
y="198.83862" />
<rect
style="fill:#cccccc;fill-rule:evenodd;stroke-width:0.916437"
id="rect44-9-6"
width="426.74094"
height="57.075775"
x="46.22261"
y="208.8345" />
<rect
style="fill:#666666;stroke-width:1.2011"
id="rect621"
width="91.626091"
height="115.46206"
x="215.91461"
y="286.19522" />
<rect
style="fill:#cccccc"
id="rect621-2"
width="74.477417"
height="98.46283"
x="224.32861"
y="293.36823" />
<path
d="m 168.23517,342.06965 94.54786,0.18875 94.54787,0.18877 -47.4374,81.78647 -47.4374,81.78648 -47.11046,-81.97523 z"
stroke-linejoin="round"
stroke-width="1.43794"
id="path12"
style="fill:#666666" />
<path
d="m 184.17275,349.94172 79.03401,0.15778 79.03401,0.15779 -39.65365,68.36656 -39.65365,68.36657 -39.38036,-68.52435 z"
stroke-linejoin="round"
stroke-width="1.202"
id="path12-1"
style="fill:#cccccc" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 711 B

After

Width:  |  Height:  |  Size: 3 KiB

View file

@ -1 +1,113 @@
<svg enable-background="new 0 0 512 512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><g fill="#f2f2f2"><path d="m35.678684 234.14333h445.9397v55.947498h-445.9397z"/><path d="m36.08836 306.68863h445.9397v55.947498h-445.9397z"/><path d="m36.043407 376.44717h445.9397v55.947498h-445.9397z"/><g stroke-linejoin="round" stroke-width="1.202"><path d="m215.5412 88.627167h72.003258v120.28382h-72.003258z"/><path d="m308.54577 151.46475-76.35538-20.40233-76.35538-20.40234 55.84663-55.924531 55.84663-55.9245349 20.50875 76.3268659z" transform="matrix(.96661944 -.25621644 .25621644 .96661944 -5.122098 81.64821)"/></g></g></svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
enable-background="new 0 0 512 512"
viewBox="0 0 512 512"
version="1.1"
id="svg16"
sodipodi:docname="czk_hide_up.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs20" />
<sodipodi:namedview
id="namedview18"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="1.1656213"
inkscape:cx="202.89609"
inkscape:cy="272.38692"
inkscape:window-width="1920"
inkscape:window-height="1016"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="g14" />
<g
fill="#f2f2f2"
id="g14">
<rect
style="fill:#666666;fill-rule:evenodd;stroke-width:1.0905"
id="rect44"
width="446.01709"
height="77.321869"
x="-482.88254"
y="-506.02011"
transform="scale(-1)" />
<rect
style="fill:#cccccc;fill-rule:evenodd;stroke-width:0.916437"
id="rect44-9"
width="426.74094"
height="57.075775"
x="-473.75793"
y="-496.02423"
transform="scale(-1)" />
<rect
style="fill:#666666;fill-rule:evenodd;stroke-width:1.0905"
id="rect44-2"
width="446.01709"
height="77.321869"
x="-483.11511"
y="-411.9173"
transform="scale(-1)" />
<rect
style="fill:#cccccc;fill-rule:evenodd;stroke-width:0.916437"
id="rect44-9-4"
width="426.74094"
height="57.075775"
x="-473.99054"
y="-401.92142"
transform="scale(-1)" />
<rect
style="fill:#666666;fill-rule:evenodd;stroke-width:1.0905"
id="rect44-90"
width="446.01709"
height="77.321869"
x="-481.76419"
y="-320.14444"
transform="scale(-1)" />
<rect
style="fill:#cccccc;fill-rule:evenodd;stroke-width:0.916437"
id="rect44-9-6"
width="426.74094"
height="57.075775"
x="-472.63959"
y="-310.14856"
transform="scale(-1)" />
<rect
style="fill:#666666;stroke-width:1.2011"
id="rect621"
width="91.626091"
height="115.46206"
x="-302.9476"
y="-232.78784"
transform="scale(-1)" />
<rect
style="fill:#cccccc"
id="rect621-2"
width="74.477417"
height="98.46283"
x="-294.5336"
y="-225.61484"
transform="scale(-1)" />
<path
d="m 350.62703,176.91341 -94.54786,-0.18875 -94.54787,-0.18877 47.4374,-81.786466 47.4374,-81.78648 47.11046,81.97523 z"
stroke-linejoin="round"
stroke-width="1.43794"
id="path12"
style="fill:#666666" />
<path
d="m 334.68945,169.04134 -79.03401,-0.15778 -79.03401,-0.15779 39.65365,-68.36656 39.65365,-68.366566 39.38036,68.524346 z"
stroke-linejoin="round"
stroke-width="1.202"
id="path12-1"
style="fill:#cccccc" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 634 B

After

Width:  |  Height:  |  Size: 3.2 KiB

View file

@ -1 +1,107 @@
<svg clip-rule="evenodd" fill-rule="evenodd" height="6.82666in" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" viewBox="0 0 6.82666 6.82666" width="6.82666in" xmlns="http://www.w3.org/2000/svg"><path d="m3.78058 3.28619 1.35743-1.36923.264201-.145.00073228-.00039764.452665-.517402-.282799-.285232-.513031.456598-.00033465.00070079-.143799.266465-1.35837 1.3702.223268.223299" fill="#ddd"/><path d="m5.71585 1.11319.139732.140969-.452634.517433-.00073228.00040158-.264201.145031-1.35746 1.36923-.118433-.118433c.0000315-.00003543 2.05493-2.05583 2.05373-2.05463z" fill="#d1d3d4"/><path d="m0 0h.63539v.425224h-.63539z" fill="#ad1f2c" transform="matrix(.707107 .707107 -.707107 .707107 3.1342 3.24636)"/><path d="m0 0h.97752v2.5033h-.97752z" fill="#be1e2d" transform="matrix(.707107 .707107 -.707107 .707107 2.71258 3.42609)"/><path d="m0 0h.97752v.428894h-.97752z" fill="#be1e2d" transform="matrix(.707107 .707107 -.707107 .707107 3.31652 2.8221)"/><path d="m0 0h.48876v2.5033h-.48876z" fill="#ad1f2c" transform="matrix(.707107 .707107 -.707107 .707107 3.05821 3.77169)"/><path d="m0 0h.317697v.425224h-.317697z" fill="#a11d2b" transform="matrix(.707107 .707107 -.707107 .707107 3.35886 3.47099)"/><path d="m0 0h.48876v.428894h-.48876z" fill="#ad1f2c" transform="matrix(.707107 .707107 -.707107 .707107 3.66214 3.16771)"/><path d="m3.66215 3.16775.118402.118433" fill="#a7a9ac"/><path d="m0 0h.162929v1.93961h-.162929z" fill="#a11d2b" transform="matrix(.707107 .707107 -.707107 .707107 2.79265 3.92203)"/><path d="m0 0h.081465v1.93961h-.081465z" fill="#931a2b" transform="matrix(.707107 .707107 -.707107 .707107 2.85025 3.97963)"/><path d="m4.73271 4.21738-2.12366-2.12309c.111-.305098.0441654-.660268-.200598-.904965-.237567-.2375-.579201-.307465-.878134-.209933l.360598.360531c.130165.130134.130165.341098 0 .471232l-.0801654.0801654c-.130165.130134-.341201.130134-.471335 0l-.360598-.360531c-.0975669.298835-.0275669.640398.209965.877898.244768.244701.600031.3115.905201.200567l2.12363 2.12313c-.111.305098-.0441654.660268.200598.904965.237567.2375.579201.307465.878134.209933l-.360598-.360531c-.130165-.130134-.130165-.341098 0-.471232l.0801654-.0801654c.130165-.130134.341201-.130134.471335 0l.360598.360531c.0975669-.298835.0275669-.640398-.209965-.877898-.244732-.244732-.6-.311531-.905165-.200598z" fill="#dde3e7"/><path d="m4.73271 4.21738-2.12363-2.12309c.111-.305098.0441654-.660268-.200598-.904965-.237567-.2375-.579201-.307465-.878134-.209933l.360598.360531c.130165.130134.130165.341098 0 .471232l-.0399016.0399016 3.12456 3.12456.0402992-.0402677c.130165-.130134.341201-.130134.471335 0l.360598.360531c.0975669-.298835.0275669-.640398-.209965-.877898-.244728-.244732-.599996-.311531-.905161-.200598z" fill="#cacfd1"/><path d="m0 0h6.82666v6.82666h-6.82666z" fill="none"/></svg>
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generator: Adobe Illustrator 24.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg enable-background="new 0 0 256 256" version="1.1" viewBox="0 0 256 256" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<style type="text/css">
.st0{fill:#FFB69F;}
.st1{fill:#72C2E9;}
.st2{fill:#C2E5FF;}
.st3{fill:#FC5D3D;}
.st4{fill:#AFAFAF;}
.st5{fill:#FFCBC3;}
.st6{fill:#F0C020;}
.st7{fill:#F8E5B0;}
.st8{fill:#EFEFEF;}
.st9{fill:#EEC21E;}
.st10{fill:#FFFFFF;}
.st11{fill:#F1BF21;}
.st12{fill:#E8A61E;}
.st13{fill:#7D7B79;}
.st14{fill:#B34F33;}
.st15{fill:#F8E5B2;}
.st16{fill:#C5E5FE;}
.st17{fill:#4C4944;}
.st18{fill:#4BA5C8;}
.st19{fill:#AFAEAF;}
.st20{fill:#CF941C;}
.st21{fill:#7C7B7A;}
.st22{fill:#FAE0E1;}
.st23{fill:#13BF6D;}
.st24{fill:#76FFBB;}
.st25{fill:#F2E1D7;}
.st26{fill:#878787;}
.st27{fill:#F9E5AF;}
.st28{fill:#E8A61F;}
.st29{fill:none;stroke:#000000;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st30{fill:#EFEFF0;}
.st31{fill:#E8A61B;}
.st32{fill:#EFEFEE;}
.st33{fill:#4C4945;}
.st34{fill:#EA8F7D;}
.st35{fill:#D6C0B3;}
.st36{fill:#EEC120;}
</style>
<path class="st6" d="m145.7 107.8-37.89 37.89c-5.07 5.07-13.62 3.76-16.96-2.56-2.12-4.02-1.48-9.13 1.9-12.5l11.85-11.86 14.18-14.18 11.86-11.85c3.37-3.38 8.48-4.01 12.5-1.9 6.35 3.35 7.62 11.9 2.56 16.96z"/>
<path class="st6" d="m225.46 119.67c-3.871-1.279-7.869-2.397-10.114-12.066-2.067 8.906-5.38 10.502-10.114 12.066 7.722 2.551 8.887 6.776 10.114 12.066 2.115-9.118 5.615-10.579 10.114-12.066z"/>
<path class="st6" d="m50.79 119.67c-3.871-1.279-7.869-2.397-10.114-12.066-2.067 8.906-5.38 10.502-10.114 12.066 7.722 2.551 8.887 6.776 10.114 12.066 2.116-9.118 5.616-10.579 10.114-12.066z"/>
<path class="st6" d="m138.12 204.76c-3.871-1.279-7.869-2.397-10.114-12.066-2.067 8.906-5.38 10.502-10.114 12.066 7.722 2.551 8.887 6.776 10.114 12.066 2.116-9.119 5.616-10.579 10.114-12.066z"/>
<path class="st6" d="m138.12 51.218c-3.871-1.279-7.869-2.397-10.114-12.066-2.067 8.906-5.38 10.502-10.114 12.066 7.722 2.551 8.887 6.776 10.114 12.066 2.116-9.118 5.616-10.579 10.114-12.066z"/>
<path class="st19" d="m80.62 197.41c10.4 27.7-12.96 55.81-41.74 51.06-2.77-0.45-3.82-3.88-1.84-5.85l22.59-22.59-23.65-23.66-22.59 22.59c-1.99 1.99-5.42 0.9-5.87-1.86-4.74-28.99 23.7-52.17 51.11-41.76l32.22-32.21c3.34 6.32 11.89 7.63 16.96 2.56l1.3-1.3 3.62 3.62c2.95 2.95 5.38 6.38 7.17 10.12l-39.28 39.28z"/>
<path class="st8" d="m71.256 219.76c-1.343-0.321-2.171-1.671-1.85-3.013 2.045-8.537-0.886-14.44-3.394-21.116-0.345-0.918-0.12-1.953 0.573-2.646l35.737-35.738c0.977-0.977 2.559-0.977 3.535 0 0.977 0.976 0.977 2.559 0 3.535l-34.591 34.592c2.43 6.348 5.283 13.011 3.002 22.537-0.322 1.349-1.676 2.17-3.012 1.849z"/>
<path class="st19" d="m237.86 71.98c-10.95 10.94-26.89 13.82-40.47 8.66l-39.25 39.25c-3.74-1.79-7.17-4.22-10.12-7.17l-3.62-3.62 1.3-1.3c5.06-5.06 3.79-13.61-2.56-16.96l32.26-32.27c-4.94-13.17-2.43-28.65 7.72-39.5 9.09-9.69 21.94-13.55 34.02-11.56 2.77 0.45 3.82 3.88 1.84 5.85l-22.59 22.59 23.65 23.66 22.59-22.59c1.99-1.99 5.42-0.9 5.87 1.86 1.91 11.68-1.63 24.08-10.64 33.1z"/>
<path class="st8" d="m157.28 105.83c-0.977-0.976-0.977-2.559 0-3.535l6.944-6.944c0.977-0.977 2.559-0.977 3.535 0 0.977 0.976 0.977 2.559 0 3.535l-6.944 6.944c-0.976 0.976-2.558 0.976-3.535 0zm14.015-14.016c-0.977-0.976-0.977-2.559 0-3.535l21.692-21.692c0.696-0.695 1.736-0.919 2.654-0.57 6.776 2.571 12.403 5.446 21.134 3.377 1.342-0.319 2.69 0.513 3.009 1.856s-0.513 2.69-1.856 3.009c-9.607 2.275-16.205-0.505-22.556-2.986l-20.542 20.542c-0.976 0.975-2.558 0.975-3.535-1e-3z"/>
<path class="st1" d="m247.94 208.98c-18.997 4.958-33.986 19.925-38.965 38.954-7.563-0.897-14.894-4.23-20.685-10.031l-56.707-56.707c-4.472-4.462-7.647-10.052-9.198-16.181v-0.011c-0.601-2.384-1.435-4.683-2.489-6.877-1.793-3.734-4.219-7.162-7.173-10.116l-3.618-3.618 35.294-35.294 3.618 3.618c2.954 2.954 6.382 5.38 10.116 7.173 2.194 1.044 4.494 1.877 6.877 2.489h0.011c6.128 1.551 11.719 4.726 16.181 9.198l56.707 56.718c5.801 5.781 9.145 13.122 10.031 20.685z"/>
<path class="st1" d="m247.94 208.97c-19.03 4.98-33.99 19.96-38.96 38.96-7.57-0.89-14.9-4.23-20.69-10.03l-56.7-56.7c-4.48-4.47-7.65-10.06-9.2-16.19v-0.01c-0.6-2.38-1.44-4.68-2.49-6.87-1.79-3.74-4.22-7.17-7.17-10.12l-3.62-3.62 35.29-35.29 3.62 3.62c2.95 2.95 6.38 5.38 10.12 7.17 2.19 1.04 4.49 1.88 6.87 2.49h0.01c6.13 1.55 11.72 4.72 16.18 9.2l56.71 56.71c5.8 5.78 9.15 13.12 10.03 20.68z"/>
<path class="st6" d="m237.91 237.9c-7.9 7.91-18.63 11.25-28.93 10.03 4.97-19 19.93-33.98 38.96-38.96v0.01c1.25 10.12-2.09 20.99-10.03 28.92z"/>
<path class="st16" d="m231.42 203c-1.055-1.908-2.273-3.42-3.709-4.848-0.978-0.975-0.979-2.558-5e-3 -3.535 0.976-0.978 2.559-0.979 3.536-5e-3 1.775 1.77 3.265 3.639 4.553 5.967 0.668 1.208 0.23 2.729-0.978 3.398-1.201 0.666-2.726 0.235-3.397-0.977zm-10.781-11.922-49.478-49.477c-2.649-2.656-5.981-4.548-9.637-5.472-6.672-1.694-12.835-4.664-18.318-8.827-1.1-0.835-1.314-2.403-0.479-3.503 0.836-1.1 2.401-1.315 3.503-0.479 4.947 3.756 10.506 6.436 16.523 7.962 4.529 1.146 8.661 3.493 11.946 6.786l49.475 49.475c0.977 0.976 0.977 2.559 0 3.535-0.977 0.977-2.559 0.977-3.535 0z"/>
<polygon class="st19" points="118.78 104.59 104.6 118.77 42.201 56.367 31.959 53.213 7.814 29.069 29.079 7.804 53.224 31.948 56.642 42.454"/>
<polygon class="st19" points="118.78 104.59 104.6 118.77 42.2 56.37 31.96 53.21 7.81 29.07 29.08 7.8 53.22 31.95 56.64 42.45"/>
<path d="m217.88 107.01c-0.62-2.675-4.445-2.668-5.064 0-1.864 8.027-4.463 8.886-8.397 10.187-2.369 0.782-2.375 4.152 0 4.937 6.535 2.159 7.276 5.352 8.397 10.185 0.623 2.681 4.442 2.68 5.065 0 1.862-8.027 4.603-8.932 8.397-10.185 2.369-0.783 2.375-4.153 0-4.937-3.646-1.201-6.492-1.978-8.398-10.187zm-2.48 17.017c-0.92-1.552-2.199-3.02-4.07-4.303 1.513-1.038 2.868-2.447 4.028-4.533 1.173 2.112 2.508 3.51 3.887 4.497-1.439 1.012-2.73 2.368-3.845 4.339z"/>
<path d="m38.144 132.32c0.623 2.681 4.442 2.68 5.065 0 1.862-8.027 4.603-8.932 8.397-10.185 2.369-0.783 2.375-4.153 0-4.937-3.645-1.2-6.491-1.977-8.397-10.186-0.62-2.675-4.445-2.668-5.064 0-1.864 8.027-4.463 8.886-8.397 10.187-2.369 0.782-2.375 4.152 0 4.937 6.534 2.158 7.274 5.351 8.396 10.184zm2.542-17.127c1.173 2.112 2.508 3.51 3.888 4.497-1.439 1.011-2.731 2.368-3.846 4.339-0.92-1.552-2.199-3.02-4.07-4.303 1.513-1.038 2.868-2.447 4.028-4.533z"/>
<path d="m138.94 202.29c-3.645-1.2-6.491-1.977-8.397-10.186-0.62-2.675-4.445-2.668-5.064 0-1.864 8.027-4.463 8.886-8.397 10.187-2.369 0.782-2.375 4.152 0 4.937 6.535 2.159 7.276 5.352 8.397 10.185 0.623 2.681 4.442 2.68 5.065 0 1.862-8.027 4.603-8.932 8.397-10.185 2.369-0.784 2.374-4.154-1e-3 -4.938zm-10.877 6.831c-0.92-1.552-2.199-3.02-4.07-4.303 1.513-1.038 2.868-2.447 4.028-4.533 1.173 2.112 2.508 3.51 3.888 4.497-1.439 1.011-2.731 2.368-3.846 4.339z"/>
<path d="m117.08 53.687c6.535 2.159 7.276 5.352 8.397 10.185 0.623 2.681 4.442 2.68 5.065 0 1.862-8.027 4.603-8.932 8.397-10.185 2.369-0.783 2.375-4.153 0-4.937-3.645-1.2-6.491-1.977-8.397-10.186-0.62-2.675-4.445-2.668-5.064 0-1.864 8.027-4.463 8.886-8.397 10.187-2.37 0.782-2.376 4.152-1e-3 4.936zm10.939-6.942c1.173 2.112 2.508 3.51 3.888 4.497-1.439 1.011-2.731 2.368-3.846 4.339-0.92-1.552-2.199-3.02-4.07-4.303 1.514-1.038 2.868-2.447 4.028-4.533z"/>
<path d="m152.9 170.61c-0.977 0.976-0.977 2.559 0 3.535l42.71 42.71c0.977 0.977 2.559 0.977 3.535 0 0.977-0.976 0.977-2.559 0-3.535l-42.71-42.71c-0.976-0.976-2.558-0.976-3.535 0z"/>
<path d="m216.87 199.14c0.977-0.976 0.977-2.559 0-3.535l-42.71-42.71c-0.977-0.977-2.559-0.977-3.535 0-0.977 0.976-0.977 2.559 0 3.535l42.71 42.71c0.977 0.976 2.559 0.976 3.535 0z"/>
<path d="m80.76 66.58c0.97-0.98 0.97-2.56 0-3.54-0.95-0.94-2.59-0.94-3.53 0-0.941 0.922-1.032 2.507 0 3.54 0.978 0.976 2.557 0.973 3.53 0z"/>
<path d="m180.29 130.67c-0.98 0.97-0.98 2.56 0 3.53 0.964 0.985 2.558 0.993 3.529 0 0.98-0.97 0.98-2.56 0-3.53-0.939-0.95-2.59-0.95-3.529 0z"/>
<path d="m239.67 186.52-48.78-48.78c-0.939-0.94-2.59-0.94-3.53 0-0.964 0.965-0.982 2.548-0.01 3.52 0 0.01 0.01 0.01 0.01 0.01l48.78 48.79c4.7 4.68 7.811 10.6 9 17.1-17.922 5.478-32.353 19.591-37.97 37.97-6.51-1.2-12.43-4.31-17.11-9l-56.7-56.7c-4.149-4.14-7.1-9.33-8.55-15.02v-0.02c-2.601-10.366-8.244-16.081-12.164-20 23.651-23.651 16.879-16.88 31.754-31.75l1.851 1.85c2.37 2.37 5.01 4.414 7.873 6.093 8.017 4.718 11.775 3.547 18.886 7.767 1.14 0.68 2.75 0.26 3.42-0.88 0.7-1.173 0.325-2.708-0.87-3.42-5.815-3.444-9.454-3.769-13.005-5.035l35.485-35.495c8.993 3.026 19.059 2.822 28.17-0.87 5.03-2.04 9.55-5.03 13.42-8.9 0.17-0.17 0.34-0.34 0.5-0.52 0.96-0.99 0.93-2.58-0.061-3.53-0.96-0.93-2.609-0.9-3.539 0.06-0.06 0.069-0.366 0.401-0.44 0.45-10.349 10.334-25.252 12.865-37.81 8.09-0.9-0.34-1.98-0.1-2.66 0.57l-37.937 37.948c-3.064-1.662-5.779-3.754-7.893-5.868l-1.866-1.865c4.927-5.422 4.342-13.805-0.924-18.575l30.17-30.17c0.689-0.69 0.91-1.73 0.57-2.65-4.625-12.32-2.269-26.792 7.199-36.91 8.545-9.095 20.529-12.688 31.79-10.8 0.746 0.111 1.039 1.027 0.48 1.61l-22.59 22.59c-0.971 0.98-0.971 2.56 0 3.54l23.649 23.66c0.94 0.94 2.58 0.95 3.54 0l22.59-22.59c0.577-0.575 1.519-0.233 1.631 0.5 0.758 4.627 0.617 9.478-0.561 14.31-0.333 1.351 0.479 2.688 1.83 3.02 1.32 0.34 2.7-0.51 3.02-1.83 1.313-5.352 1.532-10.863 0.65-16.31-0.818-4.865-6.764-6.606-10.11-3.23l-20.818 20.82-20.12-20.12 20.83-20.82c3.423-3.392 1.543-9.317-3.21-10.09-12.978-2.145-26.671 2.09-36.24 12.32-10.221 10.921-13.402 26.526-8.78 40.56l-29.958 29.958c-4.711-1.648-10.116-0.491-13.689 3.094l-10.091 10.091-30.952-30.953c-0.94-0.94-2.59-0.94-3.53 0-0.98 0.98-0.98 2.56 0 3.54l30.947 30.947-10.64 10.64-60.637-60.637c-0.29-0.29-0.64-0.5-1.03-0.62l-9.659-2.97-21.931-21.94 17.73-17.73 21.95 21.95 3.229 9.93c0.12 0.38 0.33 0.72 0.61 1l15.291 15.28c0.939 0.95 2.58 0.95 3.529 0 1.002-1.001 0.948-2.584 0-3.53l-14.859-14.86-3.23-9.93c-0.12-0.38-0.33-0.72-0.609-1l-24.151-24.14c-0.94-0.95-2.59-0.95-3.53 0l-21.27 21.26c-0.932 0.931-1.017 2.503 0 3.54l24.149 24.14c0.29 0.29 0.641 0.5 1.03 0.63l9.65 2.97 60.197 60.197-10.083 10.082c-3.593 3.583-4.749 8.99-3.097 13.697l-29.906 29.897c-28.849-9.703-57.875 14.787-52.93 45.049 0.778 4.766 6.678 6.655 10.105 3.225l20.823-20.821 20.114 20.124-20.818 20.818c-3.432 3.415-1.564 9.315 3.196 10.088 30.2 4.981 54.677-23.882 45.03-52.874l35.524-35.525c0.359 1.008 0.674 2.03 0.933 3.062l0.01 0.02c1.65 6.57 5.061 12.57 9.85 17.35l56.7 56.7c14.51 14.507 38.327 14.848 53.157-1e-3 14.508-14.488 14.834-38.36-4e-3 -53.148zm-145.15-54.123 37.892-37.892c2.936-2.945 7.914-3.297 11.264-0.253 3.337 3.039 3.609 8.428 0.255 11.777 0 0-37.789 37.795-37.887 37.892-3.893 3.891-10.431 2.87-12.981-1.958-1.652-3.13-1.053-7.063 1.457-9.566zm-16.24 65.892c9.694 25.817-12.009 52.167-38.999 47.713-0.759-0.123-1.011-1.078-0.473-1.614l22.59-22.59c0.977-0.976 0.977-2.559 1e-3 -3.535l-23.649-23.66c-0.976-0.977-2.56-0.977-3.536 0l-22.592 22.59c-0.555 0.554-1.512 0.253-1.635-0.496-4.424-27.062 22.101-48.762 47.756-39.02 0.917 0.348 1.958 0.127 2.655-0.569l30.123-30.114c4.689 5.202 13.08 5.897 18.576 0.922 2.348 2.348 5.061 4.84 7.727 9.756l-37.97 37.971c-0.694 0.693-0.918 1.728-0.574 2.646zm157.86 37.844c-6.382 6.39-14.953 9.767-23.877 9.52 5.138-15.823 17.581-28.264 33.404-33.4 0.245 8.807-3.197 17.556-9.527 23.88z"/>
<path d="m245.47 61.29c-1.17-0.65-2.75-0.18-3.4 0.98-0.659 1.21-0.22 2.73 0.98 3.4 1.246 0.672 2.747 0.207 3.4-0.98 0.655-1.189 0.251-2.7-0.98-3.4z"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -35,6 +35,7 @@ impl GuiAbout {
"Peter Blackson",
"TheEvilSkeleton",
"Ben Bodenmiller",
"ChihWei Wang",
"Dan Dascalescu",
"Igor",
"Kerfuffle",
@ -43,15 +44,16 @@ impl GuiAbout {
"0xflotus",
"Adam Boguszewski",
"Caduser2020",
"ChihWei Wang",
"Danny Kirkham",
"Dariusz Niedoba",
"Dominik Piątkowski",
"Douman",
"Elazar Fine",
"Farmadupe",
"Gitoffthelawn",
"Ivan Habernal",
"Jan Jurec",
"Joey Babcock",
"Jona",
"Jonathan Hult",
"Meir Klemfner",

View file

@ -38,8 +38,8 @@ pub const CZK_ICON_ADD: &[u8; 677] = include_bytes!("../../icons/czk_add.svg");
pub const CZK_ICON_COMPARE: &[u8; 5700] = include_bytes!("../../icons/czk_compare.svg");
pub const CZK_ICON_DELETE: &[u8; 489] = include_bytes!("../../icons/czk_delete.svg");
pub const CZK_ICON_HARDLINK: &[u8; 17326] = include_bytes!("../../icons/czk_hardlink.svg");
pub const CZK_ICON_HIDE_DOWN: &[u8; 711] = include_bytes!("../../icons/czk_hide_down.svg");
pub const CZK_ICON_HIDE_UP: &[u8; 634] = include_bytes!("../../icons/czk_hide_up.svg");
pub const CZK_ICON_HIDE_DOWN: &[u8; 3057] = include_bytes!("../../icons/czk_hide_down.svg");
pub const CZK_ICON_HIDE_UP: &[u8; 3310] = include_bytes!("../../icons/czk_hide_up.svg");
pub const CZK_ICON_INFO: &[u8; 3325] = include_bytes!("../../icons/czk_info.svg");
pub const CZK_ICON_LEFT: &[u8; 245] = include_bytes!("../../icons/czk_left.svg");
pub const CZK_ICON_MANUAL_ADD: &[u8; 677] = include_bytes!("../../icons/czk_manual_add.svg");
@ -48,7 +48,7 @@ pub const CZK_ICON_RIGHT: &[u8; 278] = include_bytes!("../../icons/czk_right.svg
pub const CZK_ICON_SAVE: &[u8; 462] = include_bytes!("../../icons/czk_save.svg");
pub const CZK_ICON_SEARCH: &[u8; 1517] = include_bytes!("../../icons/czk_search.svg");
pub const CZK_ICON_SELECT: &[u8; 370] = include_bytes!("../../icons/czk_select.svg");
pub const CZK_ICON_SETTINGS: &[u8; 2851] = include_bytes!("../../icons/czk_settings.svg");
pub const CZK_ICON_SETTINGS: &[u8; 11677] = include_bytes!("../../icons/czk_settings.svg");
pub const CZK_ICON_STOP: &[u8; 618] = include_bytes!("../../icons/czk_stop.svg");
pub const CZK_ICON_SYMLINK: &[u8; 2455] = include_bytes!("../../icons/czk_symlink.svg");
pub const CZK_ICON_TRASH: &[u8; 709] = include_bytes!("../../icons/czk_trash.svg");

View file

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.11.0 -->
<!-- Created with Cambalache 0.11.2 -->
<interface>
<!-- interface-name about_dialog.ui -->
<requires lib="gtk" version="4.0"/>

View file

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.11.0 -->
<!-- Created with Cambalache 0.11.2 -->
<interface>
<!-- interface-name compare_images.ui -->
<requires lib="gtk" version="4.0"/>

View file

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.11.0 -->
<!-- Created with Cambalache 0.11.2 -->
<interface>
<!-- interface-name main_window.ui -->
<requires lib="gtk" version="4.0"/>

View file

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.11.0 -->
<!-- Created with Cambalache 0.11.2 -->
<interface>
<!-- interface-name popover_right_click.ui -->
<requires lib="gtk" version="4.0"/>

View file

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.11.0 -->
<!-- Created with Cambalache 0.11.2 -->
<interface>
<!-- interface-name popover_select.ui -->
<requires lib="gtk" version="4.0"/>

View file

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.11.0 -->
<!-- Created with Cambalache 0.11.2 -->
<interface>
<!-- interface-name progress.ui -->
<requires lib="gtk" version="4.0"/>
@ -75,6 +75,7 @@
<property name="valign">center</property>
<child>
<object class="GtkBox">
<property name="spacing">5</property>
<child>
<object class="GtkImage">
<property name="icon-name">image-missing</property>

View file

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.11.0 -->
<!-- Created with Cambalache 0.11.2 -->
<interface>
<!-- interface-name settings.ui -->
<requires lib="gtk" version="4.0"/>

View file

@ -33,7 +33,7 @@ You need to install Rust via Homebrew, GTK Libraries and optionally heif library
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install rustup
rustup-init
brew install gtk+3 adwaita-icon-theme librsvg libheif
brew install gtk4 adwaita-icon-theme librsvg libheif
```
### Windows

View file

@ -29,7 +29,7 @@ One very straight-forward way to do this is by using [Homebrew](https://brew.sh/
Installation in the terminal:
```shell
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install gtk+3 adwaita-icon-theme ffmpeg librsvg libheif
brew install gtk4 adwaita-icon-theme ffmpeg librsvg libheif
```
After that, go to the location where you downloaded Czkawka and add the `executable` permission to this file.
```shell
@ -41,10 +41,13 @@ At the end execute it:
```
**Warning**
Prebuilt binaries are available only for x86_64, so if you use ARM machine like e.g. Mac M1, you need to compile manually app or install special version of required libraries which can be done via this:
Prebuilt binaries are available only for x86_64, so if you use ARM machine like e.g. Mac M1, you need to compile manually app.
There is also a way to use x86_64 binaries on ARM, but this require to install special version of required libraries probably via:
```shell
arch -x86_64 /usr/local/bin/brew install gtk+3 adwaita-icon-theme ffmpeg librsvg libheif
arch -x86_64 /usr/local/bin/brew install gtk4 adwaita-icon-theme ffmpeg librsvg libheif
```
Sadly this doesn't work for all users, so feel free to update this part of documentation(look at https://github.com/qarmin/czkawka/issues/689 and https://github.com/qarmin/czkawka/issues/637 for more info)
### Windows
By default, all needed libraries are bundled with the app, inside `windows_czkawka_gui.zip`, but if you compile the app or just move `czkawka_gui.exe`, then you will need to install the `GTK 4`