Skip to content

Commit 3546bbe

Browse files
committed
Linter
1 parent bd4d397 commit 3546bbe

7 files changed

Lines changed: 99 additions & 25 deletions

File tree

krokiet/i18n/en/krokiet.ftl

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,15 @@ sort_by_size = Sort by size
4343
sort_by_modification_date = Sort by modification date
4444
sort_by_selection = Sort by selection
4545
sort_reverse = Reverse sort
46-
selection_all = Select All
47-
selection_deselect_all = Deselect All
46+
selection_all = Select all
47+
selection_deselect_all = Unselect all
48+
selection_invert_selection = Invert selection
49+
selection_the_biggest_size = Select the biggest size
50+
selection_the_biggest_resolution = Select the biggest resolution
51+
selection_the_smallest_size = Select the smallest size
4852
selection_the_smallest_resolution = Select the smallest resolution
53+
selection_newest = Select newest
54+
selection_oldest = Select oldest
4955
stage_current = Current Stage:
5056
stage_all = All Stages:
5157
subsettings = Subsettings

krokiet/i18n/pl/krokiet.ftl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ tool_temporary_files = Pliki tymczasowe
3333
tool_similar_images = Podobne obrazy
3434
tool_similar_videos = Podobne wideo
3535
tool_music_duplicates = Zduplikowana muzyka
36-
tool_invalid_symlinks = Nieprawidłowe dowiązania symboliczne
36+
tool_invalid_symlinks = Błędne dowiązania
3737
tool_broken_files = Uszkodzone pliki
3838
tool_bad_extensions = Złe rozszerzenia
3939
sort_by_item_name = Sortuj według nazwy elementu

krokiet/src/connect_select.rs

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use slint::{ComponentHandle, Model, ModelRc, VecModel};
33
use crate::common::{
44
connect_i32_into_u64, get_int_height_idx, get_int_modification_date_idx, get_int_size_idx, get_int_width_idx, get_is_header_mode, get_tool_model, set_tool_model,
55
};
6+
use crate::connect_translation::translate_select_mode;
67
use crate::{Callabler, CurrentTab, GuiState, MainListModel, MainWindow, SelectMode, SelectModel};
78

89
// TODO optimize this, not sure if it is possible to not copy entire model to just select item
@@ -73,28 +74,14 @@ fn set_select_buttons(app: &MainWindow) {
7374
let new_select_model = base_buttons
7475
.into_iter()
7576
.map(|e| SelectModel {
76-
name: translate_select_mode(e).into(),
77+
name: translate_select_mode(e),
7778
data: e,
7879
})
7980
.collect::<Vec<_>>();
8081

8182
app.global::<GuiState>().set_select_results_list(ModelRc::new(VecModel::from(new_select_model)));
8283
}
8384

84-
fn translate_select_mode(select_mode: SelectMode) -> String {
85-
match select_mode {
86-
SelectMode::SelectAll => "Select all".into(),
87-
SelectMode::UnselectAll => "Unselect all".into(),
88-
SelectMode::InvertSelection => "Invert selection".into(),
89-
SelectMode::SelectTheBiggestSize => "Select the biggest size".into(),
90-
SelectMode::SelectTheBiggestResolution => "Select the biggest resolution".into(),
91-
SelectMode::SelectTheSmallestSize => "Select the smallest size".into(),
92-
SelectMode::SelectTheSmallestResolution => "Select the smallest resolution".into(),
93-
SelectMode::SelectNewest => "Select newest".into(),
94-
SelectMode::SelectOldest => "Select oldest".into(),
95-
}
96-
}
97-
9885
// TODO, when model will be able to contain i64 instead two i32, this function could be merged with select_by_size_date
9986
fn select_by_resolution(model: &ModelRc<MainListModel>, active_tab: CurrentTab, biggest: bool) -> ModelRc<MainListModel> {
10087
let is_header_mode = get_is_header_mode(active_tab);

krokiet/src/connect_translation.rs

Lines changed: 77 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,25 @@
1+
use crate::{Callabler, CurrentTab, GuiState, MainWindow, SelectMode, Settings, SortMode, SortModel, Translations, flk, localizer_krokiet};
2+
use czkawka_core::TOOLS_NUMBER;
13
use i18n_embed::unic_langid::LanguageIdentifier;
24
use log::error;
35
use slint::{ComponentHandle, ModelRc, SharedString, VecModel};
46

5-
use crate::{Callabler, MainWindow, Settings, Translations, flk, localizer_krokiet};
6-
77
struct Language {
88
long_name: &'static str,
99
short_name: &'static str,
10+
left_panel_size: f32, // Currently don't know how to automatically calculate this, so each language has its own size
1011
}
1112

1213
const LANGUAGE_LIST: &[Language] = &[
1314
Language {
1415
long_name: "English",
1516
short_name: "en",
17+
left_panel_size: 120.0,
1618
},
1719
Language {
1820
long_name: "Polski (Polish)",
1921
short_name: "pl",
22+
left_panel_size: 150.0,
2023
},
2124
];
2225

@@ -38,15 +41,16 @@ fn change_language(app: &MainWindow) {
3841
];
3942

4043
let lang = app.global::<Settings>().get_language_index();
41-
let language = LANGUAGE_LIST[lang as usize].short_name;
44+
let lang_items = &LANGUAGE_LIST[lang as usize];
4245

43-
let lang_identifier = vec![LanguageIdentifier::from_bytes(language.as_bytes()).expect("Failed to create LanguageIdentifier")];
46+
let lang_identifier = vec![LanguageIdentifier::from_bytes(lang_items.short_name.as_bytes()).expect("Failed to create LanguageIdentifier")];
4447
for (lib, localizer) in localizers {
4548
if let Err(error) = localizer.select(&lang_identifier) {
4649
error!("Error while loadings languages for {lib} {error:?}");
4750
}
4851
}
4952

53+
app.global::<GuiState>().set_left_panel_width(lang_items.left_panel_size);
5054
translate_items(app);
5155
}
5256

@@ -109,7 +113,13 @@ fn translate_items(app: &MainWindow) {
109113
translation.set_sort_reverse_text(flk!("sort_reverse").into());
110114
translation.set_selection_all_text(flk!("selection_all").into());
111115
translation.set_selection_deselect_all_text(flk!("selection_deselect_all").into());
116+
translation.set_selection_invert_selection_text(flk!("selection_invert_selection").into());
117+
translation.set_selection_the_biggest_size_text(flk!("selection_the_biggest_size").into());
118+
translation.set_selection_the_biggest_resolution_text(flk!("selection_the_biggest_resolution").into());
119+
translation.set_selection_the_smallest_size_text(flk!("selection_the_smallest_size").into());
112120
translation.set_selection_the_smallest_resolution_text(flk!("selection_the_smallest_resolution").into());
121+
translation.set_selection_newest_text(flk!("selection_newest").into());
122+
translation.set_selection_oldest_text(flk!("selection_oldest").into());
113123
translation.set_stage_current_text(flk!("stage_current").into());
114124
translation.set_stage_all_text(flk!("stage_all").into());
115125
translation.set_subsettings_text(flk!("subsettings").into());
@@ -192,4 +202,67 @@ fn translate_items(app: &MainWindow) {
192202
translation.set_delete_confirmation_text(flk!("delete_confirmation").into());
193203
translation.set_stopping_scan_text(flk!("stopping_scan").into());
194204
translation.set_searching_text(flk!("searching").into());
205+
206+
let tools_model: [(SharedString, CurrentTab); TOOLS_NUMBER] = [
207+
(flk!("tool_duplicate_files").into(), CurrentTab::DuplicateFiles),
208+
(flk!("tool_empty_folders").into(), CurrentTab::EmptyFolders),
209+
(flk!("tool_big_files").into(), CurrentTab::BigFiles),
210+
(flk!("tool_empty_files").into(), CurrentTab::EmptyFiles),
211+
(flk!("tool_temporary_files").into(), CurrentTab::TemporaryFiles),
212+
(flk!("tool_similar_images").into(), CurrentTab::SimilarImages),
213+
(flk!("tool_similar_videos").into(), CurrentTab::SimilarVideos),
214+
(flk!("tool_music_duplicates").into(), CurrentTab::SimilarMusic),
215+
(flk!("tool_invalid_symlinks").into(), CurrentTab::InvalidSymlinks),
216+
(flk!("tool_broken_files").into(), CurrentTab::BrokenFiles),
217+
(flk!("tool_bad_extensions").into(), CurrentTab::BadExtensions),
218+
];
219+
let gui_state = app.global::<GuiState>();
220+
gui_state.set_tools_model(ModelRc::new(VecModel::from(tools_model.to_vec())));
221+
222+
let sort_model: [SortModel; 7] = [
223+
SortModel {
224+
data: SortMode::ItemName,
225+
name: flk!("sort_by_item_name").into(),
226+
},
227+
SortModel {
228+
data: SortMode::ParentName,
229+
name: flk!("sort_by_parent_name").into(),
230+
},
231+
SortModel {
232+
data: SortMode::FullName,
233+
name: flk!("sort_by_full_name").into(),
234+
},
235+
SortModel {
236+
data: SortMode::Size,
237+
name: flk!("sort_by_size").into(),
238+
},
239+
SortModel {
240+
data: SortMode::ModificationDate,
241+
name: flk!("sort_by_modification_date").into(),
242+
},
243+
SortModel {
244+
data: SortMode::Selection,
245+
name: flk!("sort_by_selection").into(),
246+
},
247+
SortModel {
248+
data: SortMode::Reverse,
249+
name: flk!("sort_reverse").into(),
250+
},
251+
];
252+
253+
gui_state.set_sort_results_list(ModelRc::new(VecModel::from(sort_model.to_vec())));
254+
}
255+
256+
pub(crate) fn translate_select_mode(select_mode: SelectMode) -> SharedString {
257+
match select_mode {
258+
SelectMode::SelectAll => flk!("selection_all_text").into(),
259+
SelectMode::UnselectAll => flk!("selection_deselect_all_text").into(),
260+
SelectMode::InvertSelection => flk!("selection_invert_selection_text").into(),
261+
SelectMode::SelectTheBiggestSize => flk!("selection_the_biggest_size_text").into(),
262+
SelectMode::SelectTheBiggestResolution => flk!("selection_the_biggest_resolution_text").into(),
263+
SelectMode::SelectTheSmallestSize => flk!("selection_the_smallest_size_text").into(),
264+
SelectMode::SelectTheSmallestResolution => flk!("selection_the_smallest_resolution_text").into(),
265+
SelectMode::SelectNewest => flk!("selection_newest_text").into(),
266+
SelectMode::SelectOldest => flk!("selection_oldest_text").into(),
267+
}
195268
}

krokiet/ui/gui_state.slint

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ export global GuiState {
1313
in-out property <image> preview_image;
1414
in-out property <string> preview_image_path;
1515

16+
in-out property <length> left_panel_width: 120px;
17+
1618
in-out property <float> maximum_threads: 40;
1719

1820
in-out property <bool> choosing_include_directories;

krokiet/ui/left_side_panel.slint

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ component TabItem {
6767
export component LeftSidePanel {
6868
in-out property <bool> scanning;
6969
callback changed_current_tab();
70-
width: 120px;
70+
preferred-width: GuiState.left_panel_width;
7171
VerticalLayout {
7272
spacing: 2px;
7373
Rectangle {

krokiet/ui/translations.slint

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,15 @@ export global Translations {
5858
in-out property <string> sort_reverse_text: "Reverse sort";
5959

6060
// Selection
61-
in-out property <string> selection_all_text: "Select All";
62-
in-out property <string> selection_deselect_all_text: "Deselect All";
61+
in-out property <string> selection_all_text: "Select all";
62+
in-out property <string> selection_deselect_all_text: "Unselect all";
63+
in-out property <string> selection_invert_selection_text: "Invert selection";
64+
in-out property <string> selection_the_biggest_size_text: "Select the biggest size";
65+
in-out property <string> selection_the_biggest_resolution_text: "Select the biggest resolution";
66+
in-out property <string> selection_the_smallest_size_text: "Select the smallest size";
6367
in-out property <string> selection_the_smallest_resolution_text: "Select the smallest resolution";
68+
in-out property <string> selection_newest_text: "Select newest";
69+
in-out property <string> selection_oldest_text: "Select oldest";
6470

6571
// Progress
6672
in-out property <string> stage_current_text: "Current Stage:";

0 commit comments

Comments
 (0)