More tests
This commit is contained in:
parent
61ce6aa987
commit
37760bf30f
100
Cargo.lock
generated
100
Cargo.lock
generated
|
@ -455,9 +455,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "crypto-common"
|
||||
version = "0.1.5"
|
||||
version = "0.1.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2ccfd8c0ee4cce11e45b3fd6f9d5e69e0cc62912aa6a0cb1bf4617b0eba5a12f"
|
||||
checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
|
||||
dependencies = [
|
||||
"generic-array",
|
||||
"typenum",
|
||||
|
@ -491,7 +491,7 @@ dependencies = [
|
|||
"humansize",
|
||||
"i18n-embed",
|
||||
"i18n-embed-fl",
|
||||
"image 0.24.2",
|
||||
"image 0.24.3",
|
||||
"image_hasher",
|
||||
"imagepipe",
|
||||
"infer",
|
||||
|
@ -528,7 +528,7 @@ dependencies = [
|
|||
"humansize",
|
||||
"i18n-embed",
|
||||
"i18n-embed-fl",
|
||||
"image 0.24.2",
|
||||
"image 0.24.3",
|
||||
"image_hasher",
|
||||
"once_cell",
|
||||
"open",
|
||||
|
@ -1217,9 +1217,9 @@ checksum = "65043da274378d68241eb9a8f8f8aa54e349136f7b8e12f63e3ef44043cc30e1"
|
|||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.12.2"
|
||||
version = "0.12.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "607c8a29735385251a339424dd462993c0fed8fa09d378f259377df08c126022"
|
||||
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
|
||||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
|
@ -1352,9 +1352,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "image"
|
||||
version = "0.24.2"
|
||||
version = "0.24.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "28edd9d7bc256be2502e325ac0628bde30b7001b9b52e0abe31a1a9dc2701212"
|
||||
checksum = "7e30ca2ecf7666107ff827a8e481de6a132a9b687ed3bb20bb1c144a36c00964"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"byteorder",
|
||||
|
@ -1362,7 +1362,6 @@ dependencies = [
|
|||
"exr",
|
||||
"gif",
|
||||
"jpeg-decoder 0.2.6",
|
||||
"num-iter",
|
||||
"num-rational 0.4.1",
|
||||
"num-traits",
|
||||
"png 0.17.5",
|
||||
|
@ -1377,7 +1376,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "c887ed1c9c32854da1c3c9539711814ae48e53926400c5e1ceac0f0491f59a72"
|
||||
dependencies = [
|
||||
"base64 0.20.0-alpha.1",
|
||||
"image 0.24.2",
|
||||
"image 0.24.3",
|
||||
"rustdct 0.5.1",
|
||||
"serde",
|
||||
"transpose",
|
||||
|
@ -1391,7 +1390,7 @@ checksum = "7af2d89e882e4be2e9b1ef50454aaa8da2c58924960e24521145f16ea4f7fd1c"
|
|||
dependencies = [
|
||||
"bincode",
|
||||
"blake3",
|
||||
"image 0.24.2",
|
||||
"image 0.24.3",
|
||||
"lazy_static",
|
||||
"log",
|
||||
"multicache",
|
||||
|
@ -1822,9 +1821,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
|
|||
|
||||
[[package]]
|
||||
name = "open"
|
||||
version = "3.0.1"
|
||||
version = "3.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "360bcc8316bf6363aa3954c3ccc4de8add167b087e0259190a043c9514f910fe"
|
||||
checksum = "f23a407004a1033f53e93f9b45580d14de23928faad187384f891507c9b0c045"
|
||||
dependencies = [
|
||||
"pathdiff",
|
||||
"windows-sys",
|
||||
|
@ -1838,9 +1837,9 @@ checksum = "91409674c628d07a6b4b79cc877c6b63ba5ccbfbadddd77ca822f55069ed1bd4"
|
|||
|
||||
[[package]]
|
||||
name = "os_str_bytes"
|
||||
version = "6.1.0"
|
||||
version = "6.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "21326818e99cfe6ce1e524c2a805c189a99b5ae555a35d19f9a284b427d86afa"
|
||||
checksum = "648001efe5d5c0102d8cea768e348da85d90af8ba91f0bea908f157951493cd4"
|
||||
|
||||
[[package]]
|
||||
name = "pango"
|
||||
|
@ -2425,9 +2424,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "serde_yaml"
|
||||
version = "0.8.25"
|
||||
version = "0.8.26"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1ec0091e1f5aa338283ce049bd9dfefd55e1f168ac233e85c1ffe0038fb48cbe"
|
||||
checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"ryu",
|
||||
|
@ -2472,9 +2471,12 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "slab"
|
||||
version = "0.4.6"
|
||||
version = "0.4.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32"
|
||||
checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "smallvec"
|
||||
|
@ -2542,9 +2544,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
|
|||
|
||||
[[package]]
|
||||
name = "symphonia"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "eb30457ee7a904dae1e4ace25156dcabaf71e425db318e7885267f09cd8fb648"
|
||||
checksum = "17033fe05e4f7f10a6ad602c272bafd2520b2e5cdd9feb61494d9cdce08e002f"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"symphonia-bundle-flac",
|
||||
|
@ -2563,9 +2565,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "symphonia-bundle-flac"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f34f8f90825ee2692df0ee64981312267d6cf640358c3db7a4805d1805340665"
|
||||
checksum = "044f655337892b217d6df1d8336ee119414c3886c89c72e0156989cd2ad7934a"
|
||||
dependencies = [
|
||||
"log",
|
||||
"symphonia-core",
|
||||
|
@ -2575,9 +2577,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "symphonia-bundle-mp3"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9130cae661447f234b58759d74d23500e9c95697b698589b34196cb0fb488a61"
|
||||
checksum = "db5d3d53535ae2b7d0e39e82f683cac5398a6c8baca25ff1183e107d13959d3e"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"lazy_static",
|
||||
|
@ -2588,9 +2590,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "symphonia-codec-aac"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "96671dbcf83a4415e899812c5820dd26f48b9a6fece8b8d680e3004553080468"
|
||||
checksum = "9e9431b89428c31b01428563df18e52b1aff7c49e71fb80b2fa8e85632094776"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"log",
|
||||
|
@ -2599,9 +2601,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "symphonia-codec-alac"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a95d0cc9d94c55d9467e71e26990e509bd5a602fabde3ee422d87f77bbda860a"
|
||||
checksum = "452438d6f32bf07f2f55f35371c3c8e9cce4a028a08b47fb301001f85a950f02"
|
||||
dependencies = [
|
||||
"log",
|
||||
"symphonia-core",
|
||||
|
@ -2609,9 +2611,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "symphonia-codec-pcm"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0812a197602dff1f963ff212f174c4aa4d9b695d6511ba7a8fe2470296cf8310"
|
||||
checksum = "17cca412c954abda6ab62b5e51223568eb604ed8266ec777d99e1d63c608443c"
|
||||
dependencies = [
|
||||
"log",
|
||||
"symphonia-core",
|
||||
|
@ -2619,9 +2621,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "symphonia-codec-vorbis"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "746fc459966b37e277565f9632e5ffd6cbd83d9381152727123f68484cb8f9c4"
|
||||
checksum = "323b94435a1a807e1001e29490aeaef2660fb72b145d47497e8429a6cb1d67c3"
|
||||
dependencies = [
|
||||
"log",
|
||||
"symphonia-core",
|
||||
|
@ -2630,9 +2632,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "symphonia-core"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1edcb254d25e02b688b6f8a290a778153fa5f29674ac50773d03e0a16060391d"
|
||||
checksum = "199a6417cd4115bac79289b64b859358ea050b7add0ceb364dc991f628c5b347"
|
||||
dependencies = [
|
||||
"arrayvec",
|
||||
"bitflags",
|
||||
|
@ -2643,9 +2645,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "symphonia-format-isomp4"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2a335816c1840bf3ce92b968a93b7b5c14a5d74737ad9ed63567ea451eac1951"
|
||||
checksum = "1dce84cea63247dfcc43e12edf2d19406fbb62ebc24bac1b8e6c49f1ba67b890"
|
||||
dependencies = [
|
||||
"encoding_rs",
|
||||
"log",
|
||||
|
@ -2656,9 +2658,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "symphonia-format-mkv"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "901a52e62285b3794a3ecb9b8a00b1d92d639e0dabf51eac0823a16493752726"
|
||||
checksum = "f405400330b2cc0c70e19515198628ae9a6a99a59c77800541127d4cff113b96"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"log",
|
||||
|
@ -2669,9 +2671,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "symphonia-format-ogg"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "00f5b92a2a6370873d9dbe3326dad1bf795b3151efcadca6e5f47d732499a518"
|
||||
checksum = "8d2f741469a0f103607ed1f2605f7f00b13ba044ea9ddc616764558c6d3d9b7d"
|
||||
dependencies = [
|
||||
"log",
|
||||
"symphonia-core",
|
||||
|
@ -2681,9 +2683,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "symphonia-format-wav"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "66b2016576a9f7e5e95f9354993116458170a9077845a908ee67a4c81e8072c0"
|
||||
checksum = "5f9d771aa6889f05b771e629110f6a60b5e1c0ad580fc41da574bc490fbe2822"
|
||||
dependencies = [
|
||||
"log",
|
||||
"symphonia-core",
|
||||
|
@ -2692,9 +2694,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "symphonia-metadata"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f04ee665c99fd2b919b87261c86a5312e996b720ca142646a163d9583e72bd0e"
|
||||
checksum = "6ed71acf6b5e6e8bee1509597b86365a06b78c1d73218df47357620a6fe5997b"
|
||||
dependencies = [
|
||||
"encoding_rs",
|
||||
"lazy_static",
|
||||
|
@ -2704,9 +2706,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "symphonia-utils-xiph"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "abadfa53359fa437836f2554a0019dd06bfdf742fbb735d0645db3b6c5a763e0"
|
||||
checksum = "73cbb0766ce77a8aef535f9438db645e7b6f1b2c4cf3be9bf246b4e11a7d5531"
|
||||
dependencies = [
|
||||
"symphonia-core",
|
||||
"symphonia-metadata",
|
||||
|
@ -2964,9 +2966,9 @@ checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
|
|||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.1"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
|
||||
checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-normalization"
|
||||
|
|
|
@ -21,7 +21,7 @@ directories-next = "2.0.0"
|
|||
# Needed by similar images
|
||||
image_hasher = "1.0.0"
|
||||
bk-tree = "0.4.0"
|
||||
image = "0.24.2"
|
||||
image = "0.24.3"
|
||||
hamming = "0.1.3"
|
||||
|
||||
# Needed by same music
|
||||
|
|
|
@ -26,10 +26,10 @@ futures = "0.3.21"
|
|||
directories-next = "2.0.0"
|
||||
|
||||
# For opening files
|
||||
open = "3.0.1"
|
||||
open = "3.0.2"
|
||||
|
||||
# To get image preview
|
||||
image = "0.24.2"
|
||||
image = "0.24.3"
|
||||
|
||||
# To be able to use custom select
|
||||
regex = "1.6.0"
|
||||
|
|
|
@ -11,7 +11,9 @@ use image::DynamicImage;
|
|||
|
||||
use crate::flg;
|
||||
use crate::gui_structs::gui_data::GuiData;
|
||||
use crate::help_functions::{count_number_of_groups, get_all_children, get_full_name_from_path_name, get_max_file_name, get_pixbuf_from_dynamic_image, resize_pixbuf_dimension};
|
||||
use crate::help_functions::{
|
||||
count_number_of_groups, get_all_direct_children, get_full_name_from_path_name, get_max_file_name, get_pixbuf_from_dynamic_image, resize_pixbuf_dimension,
|
||||
};
|
||||
use crate::localizer_core::generate_translation_hashmap;
|
||||
use crate::notebook_info::{NotebookObject, NOTEBOOKS_INFO};
|
||||
|
||||
|
@ -326,7 +328,7 @@ fn populate_groups_at_start(
|
|||
*shared_image_cache.borrow_mut() = cache_all_images.clone();
|
||||
|
||||
let mut found = false;
|
||||
for i in get_all_children(&scrolled_window_compare_choose_images.child().unwrap().downcast::<gtk4::Viewport>().unwrap()) {
|
||||
for i in get_all_direct_children(&scrolled_window_compare_choose_images.child().unwrap().downcast::<gtk4::Viewport>().unwrap()) {
|
||||
if i.widget_name() == "all_box" {
|
||||
let gtk_box = i.downcast::<gtk4::Box>().unwrap();
|
||||
update_bottom_buttons(>k_box, shared_using_for_preview, shared_image_cache);
|
||||
|
@ -618,13 +620,13 @@ fn update_bottom_buttons(
|
|||
let left_tree_view = (*shared_using_for_preview.borrow()).0.clone().unwrap();
|
||||
let right_tree_view = (*shared_using_for_preview.borrow()).1.clone().unwrap();
|
||||
|
||||
for (number, i) in get_all_children(all_gtk_box).into_iter().enumerate() {
|
||||
for (number, i) in get_all_direct_children(all_gtk_box).into_iter().enumerate() {
|
||||
let cache_tree_path = (*image_cache.borrow())[number].4.clone();
|
||||
let is_chosen = cache_tree_path != right_tree_view && cache_tree_path != left_tree_view;
|
||||
|
||||
let bx = i.downcast::<gtk4::Box>().unwrap();
|
||||
let smaller_bx = get_all_children(&bx)[0].clone().downcast::<gtk4::Box>().unwrap();
|
||||
for items in get_all_children(&smaller_bx) {
|
||||
let smaller_bx = get_all_direct_children(&bx)[0].clone().downcast::<gtk4::Box>().unwrap();
|
||||
for items in get_all_direct_children(&smaller_bx) {
|
||||
if let Ok(btn) = items.downcast::<gtk4::Button>() {
|
||||
btn.set_sensitive(is_chosen);
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ use czkawka_core::similar_images::{get_string_from_similarity, SIMILAR_VALUES};
|
|||
|
||||
use crate::flg;
|
||||
use crate::help_combo_box::{BIG_FILES_CHECK_METHOD_COMBO_BOX, DUPLICATES_CHECK_METHOD_COMBO_BOX, IMAGES_HASH_SIZE_COMBO_BOX};
|
||||
use crate::help_functions::get_all_children;
|
||||
use crate::help_functions::get_all_direct_children;
|
||||
use crate::notebook_enums::{NotebookMainEnum, NUMBER_OF_NOTEBOOK_MAIN_TABS};
|
||||
|
||||
#[derive(Clone)]
|
||||
|
@ -430,8 +430,8 @@ impl GuiMainNotebook {
|
|||
}
|
||||
}
|
||||
|
||||
let vec_children: Vec<Widget> = get_all_children(&self.notebook_main);
|
||||
let vec_children: Vec<Widget> = get_all_children(&vec_children[1]);
|
||||
let vec_children: Vec<Widget> = get_all_direct_children(&self.notebook_main);
|
||||
let vec_children: Vec<Widget> = get_all_direct_children(&vec_children[1]);
|
||||
|
||||
// Change name of main notebook tabs
|
||||
for (main_enum, fl_thing) in [
|
||||
|
|
|
@ -2,7 +2,7 @@ use gtk4::prelude::*;
|
|||
use gtk4::{Builder, Window};
|
||||
|
||||
use crate::flg;
|
||||
use crate::help_functions::get_all_children;
|
||||
use crate::help_functions::get_all_direct_children;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct GuiSettings {
|
||||
|
@ -246,8 +246,8 @@ impl GuiSettings {
|
|||
self.button_settings_open_settings_folder
|
||||
.set_tooltip_text(Some(&flg!("settings_folder_settings_open_tooltip")));
|
||||
|
||||
let vec_children: Vec<gtk4::Widget> = get_all_children(&self.notebook_settings);
|
||||
let vec_children: Vec<gtk4::Widget> = get_all_children(&vec_children[1]);
|
||||
let vec_children: Vec<gtk4::Widget> = get_all_direct_children(&self.notebook_settings);
|
||||
let vec_children: Vec<gtk4::Widget> = get_all_direct_children(&vec_children[1]);
|
||||
|
||||
// Change name of main notebook tabs
|
||||
let names: [String; 4] = [
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use gtk4::prelude::*;
|
||||
use gtk4::{EventControllerKey, GestureClick, TreeView};
|
||||
|
||||
use crate::help_functions::{get_all_children, get_custom_label_from_widget, set_icon_of_button};
|
||||
use crate::help_functions::{get_all_direct_children, get_custom_label_from_widget, set_icon_of_button};
|
||||
use crate::notebook_enums::NotebookUpperEnum;
|
||||
use crate::{flg, CZK_ICON_ADD, CZK_ICON_DELETE, CZK_ICON_MANUAL_ADD};
|
||||
|
||||
|
@ -157,8 +157,8 @@ impl GuiUpperNotebook {
|
|||
self.entry_general_minimal_size.set_tooltip_text(Some(&flg!("main_label_size_bytes_tooltip")));
|
||||
self.entry_general_maximal_size.set_tooltip_text(Some(&flg!("main_label_size_bytes_tooltip")));
|
||||
|
||||
let vec_children: Vec<gtk4::Widget> = get_all_children(&self.notebook_upper);
|
||||
let vec_children: Vec<gtk4::Widget> = get_all_children(&vec_children[1]);
|
||||
let vec_children: Vec<gtk4::Widget> = get_all_direct_children(&self.notebook_upper);
|
||||
let vec_children: Vec<gtk4::Widget> = get_all_direct_children(&vec_children[1]);
|
||||
|
||||
// Change name of upper notebook tabs
|
||||
for (upper_enum, fl_thing) in [
|
||||
|
|
|
@ -637,7 +637,7 @@ pub fn get_custom_label_from_widget<P: IsA<Widget>>(item: &P) -> gtk4::Label {
|
|||
if let Ok(label) = widget.clone().downcast::<gtk4::Label>() {
|
||||
return label;
|
||||
} else {
|
||||
widgets_to_check.extend(get_all_children(&widget));
|
||||
widgets_to_check.extend(get_all_direct_children(&widget));
|
||||
}
|
||||
}
|
||||
panic!("Button doesn't have proper custom label child");
|
||||
|
@ -650,7 +650,7 @@ pub fn get_custom_image_from_widget<P: IsA<Widget>>(item: &P) -> gtk4::Image {
|
|||
if let Ok(image) = widget.clone().downcast::<gtk4::Image>() {
|
||||
return image;
|
||||
} else {
|
||||
widgets_to_check.extend(get_all_children(&widget));
|
||||
widgets_to_check.extend(get_all_direct_children(&widget));
|
||||
}
|
||||
}
|
||||
panic!("Button doesn't have proper custom label child");
|
||||
|
@ -664,7 +664,7 @@ pub fn debug_print_widget<P: IsA<Widget>>(item: &P) {
|
|||
println!("{}, {}, {:?} ", widgets_to_check[0].0, widgets_to_check[0].1, widgets_to_check[0].2);
|
||||
|
||||
while let Some((current_number, parent_number, widget)) = widgets_to_check.pop() {
|
||||
for widget in get_all_children(&widget) {
|
||||
for widget in get_all_direct_children(&widget) {
|
||||
widgets_to_check.push((next_free_number, current_number, widget));
|
||||
next_free_number += 1;
|
||||
}
|
||||
|
@ -677,7 +677,7 @@ pub fn get_all_boxes_from_widget<P: IsA<Widget>>(item: &P) -> Vec<gtk4::Box> {
|
|||
let mut boxes = Vec::new();
|
||||
|
||||
while let Some(widget) = widgets_to_check.pop() {
|
||||
widgets_to_check.extend(get_all_children(&widget));
|
||||
widgets_to_check.extend(get_all_direct_children(&widget));
|
||||
if let Ok(bbox) = widget.clone().downcast::<gtk4::Box>() {
|
||||
boxes.push(bbox);
|
||||
}
|
||||
|
@ -685,7 +685,7 @@ pub fn get_all_boxes_from_widget<P: IsA<Widget>>(item: &P) -> Vec<gtk4::Box> {
|
|||
boxes
|
||||
}
|
||||
|
||||
pub fn get_all_children<P: IsA<Widget>>(wid: &P) -> Vec<Widget> {
|
||||
pub fn get_all_direct_children<P: IsA<Widget>>(wid: &P) -> Vec<Widget> {
|
||||
let mut vector = vec![];
|
||||
if let Some(mut child) = wid.first_child() {
|
||||
vector.push(child.clone());
|
||||
|
@ -727,9 +727,62 @@ pub fn get_pixbuf_from_dynamic_image(dynamic_image: &DynamicImage) -> Result<Pix
|
|||
#[test]
|
||||
fn test_file_name_shortener() {
|
||||
let name_to_check = "/home/rafal/czkawek/romek/atomek.txt";
|
||||
assert_eq!(get_max_file_name(name_to_check, 20), "/home/rafa ... atomek.txt".to_string());
|
||||
assert_eq!(get_max_file_name(name_to_check, 21), "/home/rafa ... /atomek.txt".to_string());
|
||||
assert_eq!(get_max_file_name(name_to_check, 20), "/home/rafa ... atomek.txt");
|
||||
assert_eq!(get_max_file_name(name_to_check, 21), "/home/rafa ... /atomek.txt");
|
||||
let name_to_check = "/home/rafal/czkawek/romek/czekistan/atomek.txt";
|
||||
assert_eq!(get_max_file_name(name_to_check, 21), "/home/rafa ... /atomek.txt".to_string());
|
||||
assert_eq!(get_max_file_name(name_to_check, 80), name_to_check.to_string());
|
||||
assert_eq!(get_max_file_name(name_to_check, 21), "/home/rafa ... /atomek.txt");
|
||||
assert_eq!(get_max_file_name(name_to_check, 80), name_to_check);
|
||||
let name_to_check = "/home/rafal/🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈.txt";
|
||||
assert_eq!(get_max_file_name(name_to_check, 21), "/home/rafa ... 🌈🌈🌈🌈🌈🌈🌈.txt");
|
||||
assert_eq!(get_max_file_name(name_to_check, 20), "/home/rafa ... 🌈🌈🌈🌈🌈🌈.txt");
|
||||
assert_eq!(get_max_file_name(name_to_check, 19), "/home/rafa ... 🌈🌈🌈🌈🌈.txt");
|
||||
let name_to_check = "/home/rafal/🏳️🌈️🏳️🌈️🏳️🌈️🏳️🌈️🏳️🌈️🏳️🌈️🏳️🌈️🏳️🌈️🏳️🌈️.txt";
|
||||
assert_eq!(get_max_file_name(name_to_check, 21), "/home/rafa ... 🌈\u{fe0f}🏳\u{fe0f}\u{200d}🌈\u{fe0f}.txt");
|
||||
assert_eq!(get_max_file_name(name_to_check, 20), "/home/rafa ... \u{fe0f}🏳\u{fe0f}\u{200d}🌈\u{fe0f}.txt");
|
||||
assert_eq!(get_max_file_name(name_to_check, 19), "/home/rafa ... 🏳\u{fe0f}\u{200d}🌈\u{fe0f}.txt");
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use crate::help_functions::{get_all_boxes_from_widget, get_all_direct_children, get_pixbuf_from_dynamic_image};
|
||||
use gtk4::prelude::*;
|
||||
use gtk4::Orientation;
|
||||
use image::DynamicImage;
|
||||
|
||||
#[test]
|
||||
fn test_pixbuf_from_dynamic_image() {
|
||||
let dynamic_image = DynamicImage::new_rgb8(1, 1);
|
||||
get_pixbuf_from_dynamic_image(&dynamic_image).unwrap();
|
||||
get_pixbuf_from_dynamic_image(&dynamic_image).unwrap();
|
||||
get_pixbuf_from_dynamic_image(&dynamic_image).unwrap();
|
||||
get_pixbuf_from_dynamic_image(&dynamic_image).unwrap();
|
||||
}
|
||||
|
||||
#[gtk4::test]
|
||||
fn test_get_all_direct_children() {
|
||||
let obj = gtk4::Box::new(Orientation::Horizontal, 0);
|
||||
let obj2 = gtk4::Box::new(Orientation::Horizontal, 0);
|
||||
let obj3 = gtk4::Image::new();
|
||||
let obj4 = gtk4::Image::new();
|
||||
let obj5 = gtk4::Image::new();
|
||||
obj.append(&obj2);
|
||||
obj.append(&obj3);
|
||||
obj2.append(&obj4);
|
||||
obj2.append(&obj5);
|
||||
assert_eq!(get_all_direct_children(&obj).len(), 2);
|
||||
}
|
||||
|
||||
#[gtk4::test]
|
||||
fn test_get_all_boxes_from_widget() {
|
||||
let obj = gtk4::Box::new(Orientation::Horizontal, 0);
|
||||
let obj2 = gtk4::Box::new(Orientation::Horizontal, 0);
|
||||
let obj3 = gtk4::Image::new();
|
||||
let obj4 = gtk4::Image::new();
|
||||
let obj5 = gtk4::Image::new();
|
||||
obj.append(&obj2);
|
||||
obj.append(&obj3);
|
||||
obj2.append(&obj4);
|
||||
obj2.append(&obj5);
|
||||
assert_eq!(get_all_boxes_from_widget(&obj).len(), 2);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue