Skip to content

Commit c53be49

Browse files
committed
Loaded
1 parent f0c6962 commit c53be49

5 files changed

Lines changed: 65 additions & 38 deletions

File tree

krokiet/src/set_initial_gui_info.rs

Lines changed: 58 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use czkawka_core::common::get_all_available_threads;
2-
use slint::{ComponentHandle, SharedString, VecModel};
3-
use slint::Model;
2+
use slint::{ComponentHandle, Model, SharedString};
43

54
use crate::settings::combo_box::StringComboBoxItems;
65
use crate::{GuiState, MainWindow, Settings};
@@ -29,8 +28,7 @@ pub(crate) fn set_initial_gui_infos(app: &MainWindow) {
2928
let languages_display_names = StringComboBoxItems::get_display_names(languages);
3029
let hash_size_display_names = StringComboBoxItems::get_display_names(hash_size);
3130
let resize_algorithm_display_names = StringComboBoxItems::get_display_names(resize_algorithm);
32-
let image_hash_alg_display_names = StringComboBoxItems::get_display_names(image_hash_alg
33-
);
31+
let image_hash_alg_display_names = StringComboBoxItems::get_display_names(image_hash_alg);
3432
let duplicates_hash_type_display_names = StringComboBoxItems::get_display_names(duplicates_hash_type);
3533
let biggest_files_method_display_names = StringComboBoxItems::get_display_names(biggest_files_method);
3634
let audio_check_type_display_names = StringComboBoxItems::get_display_names(audio_check_type);
@@ -43,21 +41,62 @@ pub(crate) fn set_initial_gui_infos(app: &MainWindow) {
4341
// Currently this is not possible due to slint bug - after 11.0 version I will try to fight with this - https://github.com/slint-ui/slint/issues/7632
4442
// For now I just assert that names will be in sync with slint files
4543

46-
// settings.set_languages_list(VecModel::from_slice(&StringComboBoxItems::get_display_names(&languages)));
47-
// settings.set_similar_images_sub_available_hash_size(VecModel::from_slice(&StringComboBoxItems::get_display_names(&hash_size)));
48-
// settings.set_similar_images_sub_available_resize_algorithm(VecModel::from_slice(&StringComboBoxItems::get_display_names(&resize_algorithm)));
49-
// settings.set_similar_images_sub_available_hash_type(VecModel::from_slice(&StringComboBoxItems::get_display_names(&image_hash_alg)));
50-
// settings.set_biggest_files_sub_method(VecModel::from_slice(&StringComboBoxItems::get_display_names(&biggest_files_method)));
51-
// settings.set_duplicates_sub_check_method(VecModel::from_slice(&StringComboBoxItems::get_display_names(&duplicates_check_method)));
52-
// settings.set_duplicates_sub_available_hash_type(VecModel::from_slice(&StringComboBoxItems::get_display_names(&duplicates_hash_type)));
53-
// settings.set_similar_music_sub_audio_check_type(VecModel::from_slice(&StringComboBoxItems::get_display_names(&audio_check_type)));
54-
// settings.set_similar_videos_crop_detect(VecModel::from_slice(&StringComboBoxItems::get_display_names(&videos_crop_detect)));
55-
// settings.set_video_optimizer_sub_crop_type(VecModel::from_slice(&StringComboBoxItems::get_display_names(&video_optimizer_crop_type)));
56-
// settings.set_video_optimizer_sub_mode(VecModel::from_slice(&StringComboBoxItems::get_display_names(&video_optimizer_mode)));
57-
// settings.set_video_optimizer_sub_video_codec_config(VecModel::from_slice(&StringComboBoxItems::get_display_names(&video_optimizer_video_codec)));
58-
44+
// settings.set_languages_list(VecModel::from_slice(&languages_display_names));
45+
// settings.set_similar_images_sub_available_hash_size(VecModel::from_slice(&hash_size_display_names));
46+
// settings.set_similar_images_sub_available_resize_algorithm(VecModel::from_slice(&resize_algorithm_display_names));
47+
// settings.set_similar_images_sub_available_hash_type(VecModel::from_slice(&image_hash_alg_display_names));
48+
// settings.set_biggest_files_sub_method(VecModel::from_slice(&biggest_files_method_display_names));
49+
// settings.set_duplicates_sub_check_method(VecModel::from_slice(&duplicates_check_method_display_names));
50+
// settings.set_duplicates_sub_available_hash_type(VecModel::from_slice(&duplicates_hash_type_display_names));
51+
// settings.set_similar_music_sub_audio_check_type(VecModel::from_slice(&audio_check_type_display_names));
52+
// settings.set_similar_videos_crop_detect(VecModel::from_slice(&videos_crop_detect_display_names));
53+
// settings.set_video_optimizer_sub_crop_type(VecModel::from_slice(&video_optimizer_crop_type_display_names));
54+
// settings.set_video_optimizer_sub_mode(VecModel::from_slice(&video_optimizer_mode_display_names));
55+
// settings.set_video_optimizer_sub_video_codec_config(VecModel::from_slice(&video_optimizer_video_codec_display_names));
5956

60-
// let a : () = settings.get_languages_list().iter().collect::<Vec<SharedString>>();
6157
assert_eq!(settings.get_languages_list().iter().collect::<Vec<SharedString>>(), languages_display_names);
62-
58+
assert_eq!(
59+
settings.get_similar_images_sub_available_hash_size().iter().collect::<Vec<SharedString>>(),
60+
hash_size_display_names
61+
);
62+
assert_eq!(
63+
settings.get_similar_images_sub_available_resize_algorithm().iter().collect::<Vec<SharedString>>(),
64+
resize_algorithm_display_names
65+
);
66+
assert_eq!(
67+
settings.get_similar_images_sub_available_hash_type().iter().collect::<Vec<SharedString>>(),
68+
image_hash_alg_display_names
69+
);
70+
assert_eq!(
71+
settings.get_biggest_files_sub_method().iter().collect::<Vec<SharedString>>(),
72+
biggest_files_method_display_names
73+
);
74+
assert_eq!(
75+
settings.get_duplicates_sub_check_method().iter().collect::<Vec<SharedString>>(),
76+
duplicates_check_method_display_names
77+
);
78+
assert_eq!(
79+
settings.get_duplicates_sub_available_hash_type().iter().collect::<Vec<SharedString>>(),
80+
duplicates_hash_type_display_names
81+
);
82+
assert_eq!(
83+
settings.get_similar_music_sub_audio_check_type().iter().collect::<Vec<SharedString>>(),
84+
audio_check_type_display_names
85+
);
86+
assert_eq!(
87+
settings.get_similar_videos_crop_detect().iter().collect::<Vec<SharedString>>(),
88+
videos_crop_detect_display_names
89+
);
90+
assert_eq!(
91+
settings.get_video_optimizer_sub_crop_type().iter().collect::<Vec<SharedString>>(),
92+
video_optimizer_crop_type_display_names
93+
);
94+
assert_eq!(
95+
settings.get_video_optimizer_sub_mode().iter().collect::<Vec<SharedString>>(),
96+
video_optimizer_mode_display_names
97+
);
98+
assert_eq!(
99+
settings.get_video_optimizer_sub_video_codec_config().iter().collect::<Vec<SharedString>>(),
100+
video_optimizer_video_codec_display_names
101+
);
63102
}

krokiet/src/settings/mod.rs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -353,16 +353,6 @@ pub(crate) fn set_combobox_custom_settings_items(settings: &Settings, custom_set
353353
let (idx, display_names) = StringComboBoxItems::get_item_and_idx_from_config_name(&custom_settings.video_optimizer_video_codec, &collected_items.video_optimizer_video_codec);
354354
settings.set_video_optimizer_sub_video_codec_index(idx as i32);
355355
settings.set_video_optimizer_sub_video_codec_value(display_names[idx].clone());
356-
357-
let codec_display_names = collected_items
358-
.video_optimizer_video_codec
359-
.iter()
360-
.map(|e| e.display_name.clone().into())
361-
.collect::<Vec<_>>();
362-
let codec_config_value = collected_items.video_optimizer_video_codec[idx].config_name.clone();
363-
settings.set_video_optimizer_sub_video_codec_config(ModelRc::new(VecModel::from(codec_display_names)));
364-
settings.set_video_optimizer_sub_video_codec_config_index(idx as i32);
365-
settings.set_video_optimizer_sub_video_codec_config_value(codec_config_value.into());
366356
}
367357

368358
pub(crate) fn set_settings_to_gui(app: &MainWindow, custom_settings: &SettingsCustom, base_settings: &BasicSettings, cli_args: Option<CliResult>) {

krokiet/ui/popup_crop_video.slint

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ export component PopupCropVideo inherits Rectangle {
4040
Text { text: Translations.subsettings_video_optimizer_video_codec_text; vertical_alignment: TextVerticalAlignment.center; }
4141
ComboBox {
4242
model <=> Settings.video_optimizer_sub_video_codec_config;
43-
current_index <=> Settings.video_optimizer_sub_video_codec_config_index;
44-
current_value <=> Settings.video_optimizer_sub_video_codec_config_value;
43+
current_index <=> Settings.video_optimizer_sub_video_codec_index;
44+
current_value <=> Settings.video_optimizer_sub_video_codec_value;
4545
enabled: Settings.popup_crop_video_reencode;
4646
}
4747
}

krokiet/ui/popup_optimize.slint

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ export component PopupReencodeVideo inherits Rectangle {
3838
Text { text: Translations.subsettings_video_optimizer_video_codec_text; vertical_alignment: TextVerticalAlignment.center; }
3939
ComboBox {
4040
model <=> Settings.video_optimizer_sub_video_codec_config;
41-
current_index <=> Settings.video_optimizer_sub_video_codec_config_index;
42-
current_value <=> Settings.video_optimizer_sub_video_codec_config_value;
41+
current_index <=> Settings.video_optimizer_sub_video_codec_index;
42+
current_value <=> Settings.video_optimizer_sub_video_codec_value;
4343
}
4444
}
4545

krokiet/ui/settings.slint

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ export global Settings {
6060
in-out property <[string]> similar_images_sub_available_hash_size: ["8", "16", "32", "64"];
6161
in-out property <int> similar_images_sub_hash_size_index: 1;
6262
in-out property <string> similar_images_sub_hash_size_value: "16";
63-
in-out property <[string]> similar_images_sub_available_resize_algorithm: ["Lanczos3", "Nearest", "Triangle", "Gaussian", "CatmullRom"];
63+
in-out property <[string]> similar_images_sub_available_resize_algorithm: ["Lanczos3", "Gaussian", "CatmullRom", "Triangle", "Nearest"];
6464
in-out property <int> similar_images_sub_resize_algorithm_index: 0;
6565
in-out property <string> similar_images_sub_resize_algorithm_value: "Lanczos3";
6666
in-out property <[string]> similar_images_sub_available_hash_type: ["Mean", "Gradient", "BlockHash", "VertGradient", "DoubleGradient", "Median"];
@@ -150,8 +150,6 @@ export global Settings {
150150
in-out property <string> video_optimizer_sub_max_samples: "60";
151151
in-out property <string> video_optimizer_sub_min_crop_size: "20";
152152

153-
in-out property <int> video_optimizer_sub_video_codec_index: 0;
154-
in-out property <string> video_optimizer_sub_video_codec_value: "HEVC/H265";
155153
in-out property <string> video_optimizer_sub_excluded_codecs: "h265,hevc,av1,vp9";
156154
in-out property <float> video_optimizer_sub_video_quality: 23;
157155
in-out property <float> video_optimizer_sub_video_quality_max: 51;
@@ -162,8 +160,8 @@ export global Settings {
162160

163161
// ComboBox model/value for optimizer codec (initialized from Rust)
164162
in-out property <[string]> video_optimizer_sub_video_codec_config: ["HEVC/H265", "H264", "VP9", "AV1"];
165-
in-out property <int> video_optimizer_sub_video_codec_config_index: 0;
166-
in-out property <string> video_optimizer_sub_video_codec_config_value: "h265";
163+
in-out property <int> video_optimizer_sub_video_codec_index: 0;
164+
in-out property <string> video_optimizer_sub_video_codec_value: "h265";
167165

168166
// Fail/overwrite/quality settings for optimizer (initialized from Rust)
169167
in-out property <bool> video_optimizer_sub_fail_if_bigger: false;

0 commit comments

Comments
 (0)