1
0
Fork 0
mirror of synced 2024-06-02 10:35:02 +12:00

Fix deleting single item

This commit is contained in:
Rafał Mikrut 2022-05-22 09:30:58 +02:00
parent d2da7be828
commit daeb87219a
3 changed files with 14 additions and 9 deletions

View file

@ -482,7 +482,7 @@ impl BrokenFiles {
Some(Some(file_entry_clone))
}
},
Err(_inspected) => Some(None), // TODO maybe throw error or something
Err(_inspected) => Some(None),
},
TypeOfFile::PDF => {

View file

@ -3,7 +3,7 @@ use std::fs;
use std::fs::Metadata;
use gtk4::prelude::*;
use gtk4::{Align, CheckButton, Dialog, ResponseType, TextView};
use gtk4::{Align, CheckButton, Dialog, Orientation, ResponseType, TextView};
use crate::flg;
@ -144,6 +144,8 @@ fn create_dialog_ask_for_deletion(window_main: &gtk4::Window, number_of_selected
let button_ok = dialog.add_button(&flg!("general_ok_button"), ResponseType::Ok);
dialog.add_button(&flg!("general_close_button"), ResponseType::Cancel);
dialog.set_default_size(300, 0);
let label: gtk4::Label = gtk4::Label::new(Some(&flg!("delete_question_label")));
let label2: gtk4::Label = match number_of_selected_groups {
0 => gtk4::Label::new(Some(&flg!(
@ -161,11 +163,13 @@ fn create_dialog_ask_for_deletion(window_main: &gtk4::Window, number_of_selected
button_ok.grab_focus();
let internal_box = get_dialog_box_child(&dialog);
internal_box.append(&label);
internal_box.append(&label2);
internal_box.append(&check_button);
// internal_box.set_margin(5); // TODO
let parent = button_ok.parent().unwrap().parent().unwrap().downcast::<gtk4::Box>().unwrap(); // TODO Hack, but not so ugly as before
parent.set_orientation(Orientation::Vertical);
parent.insert_child_after(&label, None::<&gtk4::Widget>);
parent.insert_child_after(&label2, Some(&label));
parent.insert_child_after(&check_button, Some(&label2));
// parent.set_margin(5); // TODO
check_button.set_margin_top(5);
dialog.show();

View file

@ -707,6 +707,9 @@ pub fn check_how_much_elements_is_selected(tree_view: &TreeView, column_header:
}
}
} else {
if model.get::<bool>(&iter, column_selection) {
number_of_selected_items += 1;
}
loop {
if !model.iter_next(&iter) {
break;
@ -780,7 +783,6 @@ pub fn get_max_file_name(file_name: &str, max_length: usize) -> String {
}
}
// GTK 4
pub fn get_custom_label_from_widget<P: IsA<gtk4::Widget>>(item: &P) -> gtk4::Label {
let mut widgets_to_check = vec![item.clone().upcast::<gtk4::Widget>()];
@ -834,7 +836,6 @@ pub fn get_all_boxes_from_widget<P: IsA<gtk4::Widget>>(item: &P) -> Vec<gtk4::Bo
boxes
}
// GTK 4
pub fn get_all_children<P: IsA<gtk4::Widget>>(wid: &P) -> Vec<gtk4::Widget> {
let mut vector = vec![];
if let Some(mut child) = wid.first_child() {