Skip to content

Commit f21327d

Browse files
committed
Popover
1 parent 38ef5cb commit f21327d

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

czkawka_gui/src/connect_things/connect_popovers_select.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -405,15 +405,17 @@ fn popover_custom_select_unselect(
405405
confirmation_dialog_select_unselect.close();
406406
return;
407407
};
408+
let using_reference_folders = column_header.is_some_and(|e| model.get::<bool>(&iter, e)) && !model.get::<String>(&iter, column_file_name).is_empty();
408409

409410
let mut number_of_all_things = 0;
410411
let mut number_of_already_selected_things = 0;
411412
let mut vec_of_iters: Vec<TreeIter> = Vec::new();
412413
loop {
414+
// If went to header and all previous items were selected, then deselect last item
413415
if let Some(column_header) = column_header {
414416
if model.get::<bool>(&iter, column_header) {
415417
if select_things {
416-
if check_all_selected && (number_of_all_things - number_of_already_selected_things == vec_of_iters.len()) {
418+
if !using_reference_folders && check_all_selected && (number_of_all_things - number_of_already_selected_things == vec_of_iters.len()) {
417419
vec_of_iters.pop();
418420
}
419421
for iter in vec_of_iters {
@@ -486,9 +488,10 @@ fn popover_custom_select_unselect(
486488
}
487489
}
488490

491+
// If went to last item and all previous items were selected, then deselect last item
489492
if !model.iter_next(&iter) {
490493
if select_things {
491-
if check_all_selected && (number_of_all_things - number_of_already_selected_things == vec_of_iters.len()) {
494+
if !using_reference_folders && check_all_selected && (number_of_all_things - number_of_already_selected_things == vec_of_iters.len()) {
492495
vec_of_iters.pop();
493496
}
494497
for iter in vec_of_iters {

0 commit comments

Comments
 (0)