Modernize popovers code and simplify later changes (#137)
This commit is contained in:
parent
123bba381f
commit
d84722aa51
|
@ -218,7 +218,7 @@ Author: Rafał Mikrut
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
<object class="GtkPopover" id="popover_select_duplicate">
|
<object class="GtkPopover" id="popover_select">
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkBox">
|
<object class="GtkBox">
|
||||||
|
@ -226,8 +226,8 @@ Author: Rafał Mikrut
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="orientation">vertical</property>
|
<property name="orientation">vertical</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="buttons_popover_duplicate_select_all">
|
<object class="GtkButton" id="buttons_popover_select_custom">
|
||||||
<property name="label" translatable="yes">Select All</property>
|
<property name="label" translatable="yes">Select custom</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
|
@ -239,8 +239,8 @@ Author: Rafał Mikrut
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="buttons_popover_duplicate_unselect_all">
|
<object class="GtkButton" id="buttons_popover_unselect_custom">
|
||||||
<property name="label" translatable="yes">Unselect All</property>
|
<property name="label" translatable="yes">Unselect custom</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
|
@ -252,7 +252,7 @@ Author: Rafał Mikrut
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkSeparator">
|
<object class="GtkSeparator" id="separator_select_custom">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
</object>
|
</object>
|
||||||
|
@ -263,8 +263,8 @@ Author: Rafał Mikrut
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="buttons_popover_duplicate_reverse">
|
<object class="GtkButton" id="buttons_popover_select_all_images_except_biggest">
|
||||||
<property name="label" translatable="yes">Reverse Selection</property>
|
<property name="label" translatable="yes">Select all except biggest</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
|
@ -276,9 +276,11 @@ Author: Rafał Mikrut
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkSeparator">
|
<object class="GtkButton" id="buttons_popover_select_all_images_except_smallest">
|
||||||
|
<property name="label" translatable="yes">Select all except smallest</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">True</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
@ -287,11 +289,9 @@ Author: Rafał Mikrut
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="buttons_popover_duplicate_select_all_except_oldest">
|
<object class="GtkSeparator" id="separator_select_image_size">
|
||||||
<property name="label" translatable="yes">Select all except oldest</property>
|
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="receives_default">True</property>
|
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
@ -300,8 +300,8 @@ Author: Rafał Mikrut
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="buttons_popover_duplicate_select_all_except_newest">
|
<object class="GtkButton" id="buttons_popover_select_all_except_oldest">
|
||||||
<property name="label" translatable="yes">Select all except newest</property>
|
<property name="label" translatable="yes">Select all except oldest</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
|
@ -313,8 +313,8 @@ Author: Rafał Mikrut
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="buttons_popover_duplicate_select_one_oldest">
|
<object class="GtkButton" id="buttons_popover_select_all_except_newest">
|
||||||
<property name="label" translatable="yes">Select one oldest</property>
|
<property name="label" translatable="yes">Select all except newest</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
|
@ -326,8 +326,8 @@ Author: Rafał Mikrut
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="buttons_popover_duplicate_select_one_newest">
|
<object class="GtkButton" id="buttons_popover_select_one_oldest">
|
||||||
<property name="label" translatable="yes">Select one newest</property>
|
<property name="label" translatable="yes">Select one oldest</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
|
@ -339,9 +339,11 @@ Author: Rafał Mikrut
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkSeparator">
|
<object class="GtkButton" id="buttons_popover_select_one_newest">
|
||||||
|
<property name="label" translatable="yes">Select one newest</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">True</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
@ -350,11 +352,9 @@ Author: Rafał Mikrut
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="buttons_popover_duplicate_select_custom">
|
<object class="GtkSeparator" id="separator_select_date">
|
||||||
<property name="label" translatable="yes">Select custom</property>
|
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="receives_default">True</property>
|
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
@ -363,8 +363,8 @@ Author: Rafał Mikrut
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="buttons_popover_duplicate_unselect_custom">
|
<object class="GtkButton" id="buttons_popover_reverse">
|
||||||
<property name="label" translatable="yes">Unselect custom</property>
|
<property name="label" translatable="yes">Reverse Selection</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
|
@ -375,18 +375,19 @@ Author: Rafał Mikrut
|
||||||
<property name="position">11</property>
|
<property name="position">11</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<object class="GtkPopover" id="popover_select_simple_list">
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="buttons_popover_simple_list_select_all">
|
<object class="GtkSeparator" id="separator_select_reverse">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">12</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="buttons_popover_select_all">
|
||||||
<property name="label" translatable="yes">Select All</property>
|
<property name="label" translatable="yes">Select All</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
|
@ -395,11 +396,11 @@ Author: Rafał Mikrut
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
<property name="position">0</property>
|
<property name="position">13</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="buttons_popover_simple_list_unselect_all">
|
<object class="GtkButton" id="buttons_popover_unselect_all">
|
||||||
<property name="label" translatable="yes">Unselect All</property>
|
<property name="label" translatable="yes">Unselect All</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
|
@ -408,128 +409,7 @@ Author: Rafał Mikrut
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
<property name="position">1</property>
|
<property name="position">14</property>
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkSeparator">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">2</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="buttons_popover_simple_list_reverse">
|
|
||||||
<property name="label" translatable="yes">Reverse Selection</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="receives_default">True</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">3</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkSeparator">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">4</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="buttons_popover_simple_list_select_custom">
|
|
||||||
<property name="label" translatable="yes">Select custom</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="receives_default">True</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">5</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="buttons_popover_simple_list_unselect_custom">
|
|
||||||
<property name="label" translatable="yes">Unselect custom</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="receives_default">True</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">6</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<object class="GtkPopover" id="popover_select_very_simple_list">
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="buttons_popover_very_simple_list_select_all">
|
|
||||||
<property name="label" translatable="yes">Select All</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="receives_default">True</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">0</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="buttons_popover_very_simple_list_unselect_all">
|
|
||||||
<property name="label" translatable="yes">Unselect All</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="receives_default">True</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">1</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkSeparator">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">2</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="buttons_popover_very_simple_list_reverse">
|
|
||||||
<property name="label" translatable="yes">Reverse Selection</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="receives_default">True</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">3</property>
|
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
|
|
|
@ -1,28 +1,138 @@
|
||||||
extern crate gtk;
|
extern crate gtk;
|
||||||
use crate::gui_data::GuiData;
|
use crate::gui_data::GuiData;
|
||||||
use gtk::prelude::*;
|
use gtk::prelude::*;
|
||||||
|
use std::collections::HashMap;
|
||||||
|
|
||||||
pub fn connect_button_select(gui_data: &GuiData) {
|
pub fn connect_button_select(gui_data: &GuiData) {
|
||||||
|
// let mode = ["all", "image_size", "reverse", "custom", "date"];
|
||||||
|
let mut hashmap: HashMap<&str, Vec<&str>> = Default::default();
|
||||||
|
{
|
||||||
|
// Remember to update connect_popovers file, because this data are connected to each others
|
||||||
|
hashmap.insert("images", vec!["all", "image_size", "reverse", "custom", "date"]);
|
||||||
|
hashmap.insert("duplicate", vec!["all", "reverse", "custom", "date"]);
|
||||||
|
hashmap.insert("music", vec!["all", "reverse", "custom", "date"]);
|
||||||
|
|
||||||
|
hashmap.insert("empty_files", vec!["all", "reverse", "custom"]);
|
||||||
|
hashmap.insert("empty_folders", vec!["all", "reverse", "custom"]);
|
||||||
|
hashmap.insert("big", vec!["all", "reverse", "custom"]);
|
||||||
|
hashmap.insert("symlinks", vec!["all", "reverse", "custom"]);
|
||||||
|
hashmap.insert("zeroed", vec!["all", "reverse", "custom"]);
|
||||||
|
hashmap.insert("temporary", vec!["all", "reverse", "custom"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
let gui_data = gui_data.clone();
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
let notebook_main = gui_data.notebook_main.clone();
|
||||||
let buttons_select_clone = gui_data.buttons_select.clone();
|
let buttons_select_clone = gui_data.buttons_select.clone();
|
||||||
let popover_select_duplicate = gui_data.popover_select_duplicate.clone();
|
let popover_select = gui_data.popover_select.clone();
|
||||||
let popover_select_simple_list = gui_data.popover_select_simple_list.clone();
|
|
||||||
let popover_select_very_simple_list = gui_data.popover_select_very_simple_list.clone();
|
|
||||||
let buttons_select = gui_data.buttons_select.clone();
|
let buttons_select = gui_data.buttons_select.clone();
|
||||||
buttons_select_clone.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
|
||||||
"notebook_main_duplicate_finder_label" | "notebook_main_same_music_finder" | "notebook_main_similar_images_finder_label" => {
|
buttons_select_clone.connect_clicked(move |_| {
|
||||||
popover_select_duplicate.set_relative_to(Some(&buttons_select));
|
let current_mode;
|
||||||
popover_select_duplicate.popup();
|
|
||||||
|
match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
||||||
|
"notebook_main_duplicate_finder_label" => {
|
||||||
|
current_mode = "duplicate";
|
||||||
|
}
|
||||||
|
"notebook_main_same_music_finder" => {
|
||||||
|
current_mode = "music";
|
||||||
|
}
|
||||||
|
"notebook_main_similar_images_finder_label" => {
|
||||||
|
current_mode = "images";
|
||||||
|
}
|
||||||
|
"scrolled_window_main_empty_folder_finder" => {
|
||||||
|
current_mode = "empty_folders";
|
||||||
|
}
|
||||||
|
"scrolled_window_main_empty_files_finder" => {
|
||||||
|
current_mode = "empty_files";
|
||||||
|
}
|
||||||
|
"scrolled_window_main_temporary_files_finder" => {
|
||||||
|
current_mode = "temporary";
|
||||||
|
}
|
||||||
|
"notebook_big_main_file_finder" => {
|
||||||
|
current_mode = "big";
|
||||||
|
}
|
||||||
|
"notebook_main_zeroed_files_finder" => {
|
||||||
|
current_mode = "zeroed";
|
||||||
|
}
|
||||||
|
"scrolled_window_invalid_symlinks" => {
|
||||||
|
current_mode = "symlinks";
|
||||||
|
}
|
||||||
|
e => panic!("Not existent {}", e),
|
||||||
}
|
}
|
||||||
"scrolled_window_main_empty_folder_finder" | "scrolled_window_main_empty_files_finder" | "scrolled_window_main_temporary_files_finder" | "notebook_big_main_file_finder" | "notebook_main_zeroed_files_finder" => {
|
show_required_popovers(&gui_data, current_mode, &hashmap);
|
||||||
popover_select_simple_list.set_relative_to(Some(&buttons_select));
|
popover_select.set_relative_to(Some(&buttons_select));
|
||||||
popover_select_simple_list.popup();
|
popover_select.popup();
|
||||||
}
|
|
||||||
"scrolled_window_invalid_symlinks" => {
|
|
||||||
popover_select_very_simple_list.set_relative_to(Some(&buttons_select));
|
|
||||||
popover_select_very_simple_list.popup();
|
|
||||||
}
|
|
||||||
e => panic!("Not existent {}", e),
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn show_required_popovers(gui_data: &GuiData, current_mode: &str, hashmap: &HashMap<&str, Vec<&str>>) {
|
||||||
|
let buttons_popover_select_all = gui_data.buttons_popover_select_all.clone();
|
||||||
|
let buttons_popover_unselect_all = gui_data.buttons_popover_unselect_all.clone();
|
||||||
|
let buttons_popover_reverse = gui_data.buttons_popover_reverse.clone();
|
||||||
|
let buttons_popover_select_all_except_oldest = gui_data.buttons_popover_select_all_except_oldest.clone();
|
||||||
|
let buttons_popover_select_all_except_newest = gui_data.buttons_popover_select_all_except_newest.clone();
|
||||||
|
let buttons_popover_select_one_oldest = gui_data.buttons_popover_select_one_oldest.clone();
|
||||||
|
let buttons_popover_select_one_newest = gui_data.buttons_popover_select_one_newest.clone();
|
||||||
|
let buttons_popover_select_custom = gui_data.buttons_popover_select_custom.clone();
|
||||||
|
let buttons_popover_unselect_custom = gui_data.buttons_popover_unselect_custom.clone();
|
||||||
|
let buttons_popover_select_all_images_except_biggest = gui_data.buttons_popover_select_all_images_except_biggest.clone();
|
||||||
|
let buttons_popover_select_all_images_except_smallest = gui_data.buttons_popover_select_all_images_except_smallest.clone();
|
||||||
|
|
||||||
|
let separator_select_custom = gui_data.separator_select_custom.clone();
|
||||||
|
let separator_select_date = gui_data.separator_select_date.clone();
|
||||||
|
let separator_select_image_size = gui_data.separator_select_image_size.clone();
|
||||||
|
let separator_select_reverse = gui_data.separator_select_reverse.clone();
|
||||||
|
|
||||||
|
let vec = hashmap.get(current_mode).unwrap();
|
||||||
|
|
||||||
|
if vec.contains(&"all") {
|
||||||
|
buttons_popover_select_all.show();
|
||||||
|
buttons_popover_unselect_all.show();
|
||||||
|
} else {
|
||||||
|
buttons_popover_select_all.hide();
|
||||||
|
buttons_popover_unselect_all.hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
if vec.contains(&"image_size") {
|
||||||
|
buttons_popover_select_all_images_except_biggest.show();
|
||||||
|
buttons_popover_select_all_images_except_smallest.show();
|
||||||
|
separator_select_image_size.show();
|
||||||
|
} else {
|
||||||
|
buttons_popover_select_all_images_except_biggest.hide();
|
||||||
|
buttons_popover_select_all_images_except_smallest.hide();
|
||||||
|
separator_select_image_size.hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
if vec.contains(&"reverse") {
|
||||||
|
buttons_popover_reverse.show();
|
||||||
|
separator_select_reverse.show();
|
||||||
|
} else {
|
||||||
|
buttons_popover_reverse.hide();
|
||||||
|
separator_select_reverse.hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
if vec.contains(&"custom") {
|
||||||
|
buttons_popover_select_custom.show();
|
||||||
|
buttons_popover_unselect_custom.show();
|
||||||
|
separator_select_custom.show();
|
||||||
|
} else {
|
||||||
|
buttons_popover_select_custom.hide();
|
||||||
|
buttons_popover_unselect_custom.hide();
|
||||||
|
separator_select_custom.hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
if vec.contains(&"date") {
|
||||||
|
buttons_popover_select_all_except_oldest.show();
|
||||||
|
buttons_popover_select_all_except_newest.show();
|
||||||
|
buttons_popover_select_one_oldest.show();
|
||||||
|
buttons_popover_select_one_newest.show();
|
||||||
|
separator_select_date.show();
|
||||||
|
} else {
|
||||||
|
buttons_popover_select_all_except_oldest.hide();
|
||||||
|
buttons_popover_select_all_except_newest.hide();
|
||||||
|
buttons_popover_select_one_oldest.hide();
|
||||||
|
buttons_popover_select_one_newest.hide();
|
||||||
|
separator_select_date.hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -398,15 +398,16 @@ pub fn connect_compute_results(gui_data: &GuiData, glib_stop_receiver: Receiver<
|
||||||
{
|
{
|
||||||
let list_store = get_list_store(&scrolled_window_similar_images_finder);
|
let list_store = get_list_store(&scrolled_window_similar_images_finder);
|
||||||
|
|
||||||
let col_indices = [0, 1, 2, 3, 4, 5, 6, 7, 8];
|
let col_indices = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
||||||
|
|
||||||
let vec_struct_similar = sf.get_similar_images();
|
let vec_struct_similar = sf.get_similar_images();
|
||||||
|
|
||||||
for vec_file_entry in vec_struct_similar.iter() {
|
for vec_file_entry in vec_struct_similar.iter() {
|
||||||
// Header
|
// Header
|
||||||
let values: [&dyn ToValue; 9] = [
|
let values: [&dyn ToValue; 10] = [
|
||||||
&"".to_string(),
|
&"".to_string(),
|
||||||
&"".to_string(),
|
&"".to_string(),
|
||||||
|
&(0),
|
||||||
&"".to_string(),
|
&"".to_string(),
|
||||||
&"".to_string(),
|
&"".to_string(),
|
||||||
&"".to_string(),
|
&"".to_string(),
|
||||||
|
@ -420,9 +421,10 @@ pub fn connect_compute_results(gui_data: &GuiData, glib_stop_receiver: Receiver<
|
||||||
// Meat
|
// Meat
|
||||||
for file_entry in vec_file_entry.iter() {
|
for file_entry in vec_file_entry.iter() {
|
||||||
let (directory, file) = split_path(&file_entry.path);
|
let (directory, file) = split_path(&file_entry.path);
|
||||||
let values: [&dyn ToValue; 9] = [
|
let values: [&dyn ToValue; 10] = [
|
||||||
&(get_text_from_similarity(&file_entry.similarity).to_string()),
|
&(get_text_from_similarity(&file_entry.similarity).to_string()),
|
||||||
&file_entry.size.file_size(options::BINARY).unwrap(),
|
&file_entry.size.file_size(options::BINARY).unwrap(),
|
||||||
|
&file_entry.size,
|
||||||
&file_entry.dimensions,
|
&file_entry.dimensions,
|
||||||
&file,
|
&file,
|
||||||
&directory,
|
&directory,
|
||||||
|
@ -472,14 +474,15 @@ pub fn connect_compute_results(gui_data: &GuiData, glib_stop_receiver: Receiver<
|
||||||
{
|
{
|
||||||
let list_store = get_list_store(&scrolled_window_zeroed_files_finder);
|
let list_store = get_list_store(&scrolled_window_zeroed_files_finder);
|
||||||
|
|
||||||
let col_indices = [0, 1, 2, 3];
|
let col_indices = [0, 1, 2, 3, 4];
|
||||||
|
|
||||||
let vector = zf.get_zeroed_files();
|
let vector = zf.get_zeroed_files();
|
||||||
|
|
||||||
for file_entry in vector {
|
for file_entry in vector {
|
||||||
let (directory, file) = split_path(&file_entry.path);
|
let (directory, file) = split_path(&file_entry.path);
|
||||||
let values: [&dyn ToValue; 4] = [
|
let values: [&dyn ToValue; 5] = [
|
||||||
&(file_entry.size.file_size(options::BINARY).unwrap()),
|
&(file_entry.size.file_size(options::BINARY).unwrap()),
|
||||||
|
&(file_entry.size),
|
||||||
&file,
|
&file,
|
||||||
&directory,
|
&directory,
|
||||||
&(NaiveDateTime::from_timestamp(file_entry.modified_date as i64, 0).to_string()),
|
&(NaiveDateTime::from_timestamp(file_entry.modified_date as i64, 0).to_string()),
|
||||||
|
@ -521,7 +524,7 @@ pub fn connect_compute_results(gui_data: &GuiData, glib_stop_receiver: Receiver<
|
||||||
{
|
{
|
||||||
let list_store = get_list_store(&scrolled_window_same_music_finder);
|
let list_store = get_list_store(&scrolled_window_same_music_finder);
|
||||||
|
|
||||||
let col_indices = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
let col_indices = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
|
||||||
|
|
||||||
let vector = mf.get_duplicated_music_entries();
|
let vector = mf.get_duplicated_music_entries();
|
||||||
|
|
||||||
|
@ -536,8 +539,9 @@ pub fn connect_compute_results(gui_data: &GuiData, glib_stop_receiver: Receiver<
|
||||||
let text: String = "-----".to_string();
|
let text: String = "-----".to_string();
|
||||||
|
|
||||||
for vec_file_entry in vector {
|
for vec_file_entry in vector {
|
||||||
let values: [&dyn ToValue; 12] = [
|
let values: [&dyn ToValue; 13] = [
|
||||||
&"".to_string(),
|
&"".to_string(),
|
||||||
|
&(0),
|
||||||
&"".to_string(),
|
&"".to_string(),
|
||||||
&"".to_string(),
|
&"".to_string(),
|
||||||
&(match is_title {
|
&(match is_title {
|
||||||
|
@ -568,8 +572,9 @@ pub fn connect_compute_results(gui_data: &GuiData, glib_stop_receiver: Receiver<
|
||||||
list_store.set(&list_store.append(), &col_indices, &values);
|
list_store.set(&list_store.append(), &col_indices, &values);
|
||||||
for file_entry in vec_file_entry {
|
for file_entry in vec_file_entry {
|
||||||
let (directory, file) = split_path(&file_entry.path);
|
let (directory, file) = split_path(&file_entry.path);
|
||||||
let values: [&dyn ToValue; 12] = [
|
let values: [&dyn ToValue; 13] = [
|
||||||
&file_entry.size.file_size(options::BINARY).unwrap(),
|
&file_entry.size.file_size(options::BINARY).unwrap(),
|
||||||
|
&file_entry.size,
|
||||||
&file,
|
&file,
|
||||||
&directory,
|
&directory,
|
||||||
&file_entry.title,
|
&file_entry.title,
|
||||||
|
|
|
@ -527,540 +527,256 @@ fn popover_unselect_custom(popover: >k::Popover, gui_data: &GuiData, scrolled_
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Clone)]
|
||||||
|
pub struct PopoverObject {
|
||||||
|
pub name: String,
|
||||||
|
pub available_modes: Vec<String>,
|
||||||
|
pub scrolled_windows: gtk::ScrolledWindow,
|
||||||
|
pub column_path: Option<i32>,
|
||||||
|
pub column_name: Option<i32>,
|
||||||
|
pub column_color: Option<i32>,
|
||||||
|
pub column_dimensions: Option<i32>,
|
||||||
|
pub column_size: Option<i32>,
|
||||||
|
pub column_size_as_bytes: Option<i32>,
|
||||||
|
pub column_modification_as_secs: Option<i32>,
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn find_name(name: &str, vec: &[PopoverObject]) -> Option<PopoverObject> {
|
||||||
|
for e in vec {
|
||||||
|
if e.name == *name {
|
||||||
|
return Some(e.clone());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
None
|
||||||
|
}
|
||||||
|
|
||||||
pub fn connect_popovers(gui_data: &GuiData) {
|
pub fn connect_popovers(gui_data: &GuiData) {
|
||||||
connect_select_all(&gui_data);
|
let popover_objects = vec![
|
||||||
connect_unselect_all(&gui_data);
|
PopoverObject {
|
||||||
connect_reverse(&gui_data);
|
name: "notebook_main_duplicate_finder_label".to_string(),
|
||||||
|
available_modes: vec!["all", "reverse", "custom", "date"].iter().map(|e| e.to_string()).collect(),
|
||||||
|
scrolled_windows: gui_data.scrolled_window_duplicate_finder.clone(),
|
||||||
|
column_path: Some(ColumnsDuplicates::Path as i32),
|
||||||
|
column_name: Some(ColumnsDuplicates::Name as i32),
|
||||||
|
column_color: Some(ColumnsDuplicates::Color as i32),
|
||||||
|
column_dimensions: None,
|
||||||
|
column_size: None,
|
||||||
|
column_size_as_bytes: None,
|
||||||
|
column_modification_as_secs: Some(ColumnsDuplicates::ModificationAsSecs as i32),
|
||||||
|
},
|
||||||
|
PopoverObject {
|
||||||
|
name: "notebook_main_same_music_finder".to_string(),
|
||||||
|
available_modes: vec!["all", "reverse", "custom", "date"].iter().map(|e| e.to_string()).collect(),
|
||||||
|
scrolled_windows: gui_data.scrolled_window_same_music_finder.clone(),
|
||||||
|
column_path: Some(ColumnsSameMusic::Path as i32),
|
||||||
|
column_name: Some(ColumnsSameMusic::Name as i32),
|
||||||
|
column_color: Some(ColumnsSameMusic::Color as i32),
|
||||||
|
column_dimensions: None,
|
||||||
|
column_size: None,
|
||||||
|
column_size_as_bytes: Some(ColumnsSameMusic::SizeAsBytes as i32),
|
||||||
|
column_modification_as_secs: Some(ColumnsSameMusic::ModificationAsSecs as i32),
|
||||||
|
},
|
||||||
|
PopoverObject {
|
||||||
|
name: "notebook_main_similar_images_finder_label".to_string(),
|
||||||
|
available_modes: vec!["all", "reverse", "custom", "date"].iter().map(|e| e.to_string()).collect(),
|
||||||
|
scrolled_windows: gui_data.scrolled_window_similar_images_finder.clone(),
|
||||||
|
column_path: Some(ColumnsSimilarImages::Path as i32),
|
||||||
|
column_name: Some(ColumnsSimilarImages::Name as i32),
|
||||||
|
column_color: Some(ColumnsSimilarImages::Color as i32),
|
||||||
|
column_dimensions: Some(ColumnsSimilarImages::Dimensions as i32),
|
||||||
|
column_size: Some(ColumnsSimilarImages::Size as i32),
|
||||||
|
column_size_as_bytes: Some(ColumnsSimilarImages::SizeAsBytes as i32),
|
||||||
|
column_modification_as_secs: Some(ColumnsSimilarImages::ModificationAsSecs as i32),
|
||||||
|
},
|
||||||
|
PopoverObject {
|
||||||
|
name: "scrolled_window_main_empty_folder_finder".to_string(),
|
||||||
|
available_modes: vec!["all", "reverse", "custom"].iter().map(|e| e.to_string()).collect(),
|
||||||
|
scrolled_windows: gui_data.scrolled_window_main_empty_folder_finder.clone(),
|
||||||
|
column_path: Some(ColumnsEmptyFolders::Path as i32),
|
||||||
|
column_name: Some(ColumnsEmptyFolders::Name as i32),
|
||||||
|
column_color: None,
|
||||||
|
column_dimensions: None,
|
||||||
|
column_size: None,
|
||||||
|
column_size_as_bytes: None,
|
||||||
|
column_modification_as_secs: None,
|
||||||
|
},
|
||||||
|
PopoverObject {
|
||||||
|
name: "scrolled_window_main_empty_files_finder".to_string(),
|
||||||
|
available_modes: vec!["all", "reverse", "custom"].iter().map(|e| e.to_string()).collect(),
|
||||||
|
scrolled_windows: gui_data.scrolled_window_main_empty_files_finder.clone(),
|
||||||
|
column_path: Some(ColumnsEmptyFiles::Path as i32),
|
||||||
|
column_name: Some(ColumnsEmptyFiles::Name as i32),
|
||||||
|
column_color: None,
|
||||||
|
column_dimensions: None,
|
||||||
|
column_size: None,
|
||||||
|
column_size_as_bytes: None,
|
||||||
|
column_modification_as_secs: None,
|
||||||
|
},
|
||||||
|
PopoverObject {
|
||||||
|
name: "scrolled_window_main_temporary_files_finder".to_string(),
|
||||||
|
available_modes: vec!["all", "reverse", "custom"].iter().map(|e| e.to_string()).collect(),
|
||||||
|
scrolled_windows: gui_data.scrolled_window_main_temporary_files_finder.clone(),
|
||||||
|
column_path: Some(ColumnsTemporaryFiles::Path as i32),
|
||||||
|
column_name: Some(ColumnsTemporaryFiles::Name as i32),
|
||||||
|
column_color: None,
|
||||||
|
column_dimensions: None,
|
||||||
|
column_size: None,
|
||||||
|
column_size_as_bytes: None,
|
||||||
|
column_modification_as_secs: None,
|
||||||
|
},
|
||||||
|
PopoverObject {
|
||||||
|
name: "notebook_big_main_file_finder".to_string(),
|
||||||
|
available_modes: vec!["all", "reverse", "custom"].iter().map(|e| e.to_string()).collect(),
|
||||||
|
scrolled_windows: gui_data.scrolled_window_big_files_finder.clone(),
|
||||||
|
column_path: Some(ColumnsBigFiles::Path as i32),
|
||||||
|
column_name: Some(ColumnsBigFiles::Name as i32),
|
||||||
|
column_color: None,
|
||||||
|
column_dimensions: None,
|
||||||
|
column_size: None,
|
||||||
|
column_size_as_bytes: None,
|
||||||
|
column_modification_as_secs: None,
|
||||||
|
},
|
||||||
|
PopoverObject {
|
||||||
|
name: "notebook_main_zeroed_files_finder".to_string(),
|
||||||
|
available_modes: vec!["all", "reverse", "custom"].iter().map(|e| e.to_string()).collect(),
|
||||||
|
scrolled_windows: gui_data.scrolled_window_zeroed_files_finder.clone(),
|
||||||
|
column_path: Some(ColumnsZeroedFiles::Path as i32),
|
||||||
|
column_name: Some(ColumnsZeroedFiles::Name as i32),
|
||||||
|
column_color: None,
|
||||||
|
column_dimensions: None,
|
||||||
|
column_size: None,
|
||||||
|
column_size_as_bytes: Some(ColumnsZeroedFiles::SizeAsBytes as i32),
|
||||||
|
column_modification_as_secs: None,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
connect_all_except_oldest(&gui_data);
|
let popover_select = gui_data.popover_select.clone();
|
||||||
connect_all_except_newest(&gui_data);
|
|
||||||
connect_one_oldest(&gui_data);
|
|
||||||
connect_one_newest(&gui_data);
|
|
||||||
|
|
||||||
connect_select_custom(&gui_data);
|
|
||||||
connect_unselect_custom(&gui_data);
|
|
||||||
}
|
|
||||||
pub fn connect_select_all(gui_data: &GuiData) {
|
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
||||||
|
let buttons_popover_select_all = gui_data.buttons_popover_select_all.clone();
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
let notebook_main = gui_data.notebook_main.clone();
|
||||||
|
let vec_popover_objects = popover_objects.clone();
|
||||||
let scrolled_window_main_empty_folder_finder = gui_data.scrolled_window_main_empty_folder_finder.clone();
|
buttons_popover_select_all.connect_clicked(move |_| {
|
||||||
let scrolled_window_big_files_finder = gui_data.scrolled_window_big_files_finder.clone();
|
let object_popover = find_name(notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap(), &vec_popover_objects).unwrap();
|
||||||
let scrolled_window_main_empty_files_finder = gui_data.scrolled_window_main_empty_files_finder.clone();
|
popover_select_all(&popover_select, &object_popover.scrolled_windows);
|
||||||
let scrolled_window_main_temporary_files_finder = gui_data.scrolled_window_main_temporary_files_finder.clone();
|
|
||||||
let scrolled_window_similar_images_finder = gui_data.scrolled_window_similar_images_finder.clone();
|
|
||||||
let scrolled_window_zeroed_files_finder = gui_data.scrolled_window_zeroed_files_finder.clone();
|
|
||||||
let scrolled_window_same_music_finder = gui_data.scrolled_window_same_music_finder.clone();
|
|
||||||
let scrolled_window_duplicate_finder = gui_data.scrolled_window_duplicate_finder.clone();
|
|
||||||
let scrolled_window_invalid_symlinks = gui_data.scrolled_window_invalid_symlinks.clone();
|
|
||||||
let popover_select_duplicate = gui_data.popover_select_duplicate.clone();
|
|
||||||
let popover_select_simple_list = gui_data.popover_select_simple_list.clone();
|
|
||||||
let popover_select_very_simple_list = gui_data.popover_select_very_simple_list.clone();
|
|
||||||
let buttons_popover_simple_list_select_all = gui_data.buttons_popover_simple_list_select_all.clone();
|
|
||||||
let buttons_popover_very_simple_list_select_all = gui_data.buttons_popover_very_simple_list_select_all.clone();
|
|
||||||
let buttons_popover_duplicate_select_all = gui_data.buttons_popover_duplicate_select_all.clone();
|
|
||||||
buttons_popover_duplicate_select_all.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
|
||||||
"notebook_main_duplicate_finder_label" => {
|
|
||||||
popover_select_all(&popover_select_duplicate, &scrolled_window_duplicate_finder);
|
|
||||||
}
|
|
||||||
"notebook_main_same_music_finder" => {
|
|
||||||
popover_select_all(&popover_select_duplicate, &scrolled_window_same_music_finder);
|
|
||||||
}
|
|
||||||
"notebook_main_similar_images_finder_label" => {
|
|
||||||
popover_select_all(&popover_select_duplicate, &scrolled_window_similar_images_finder);
|
|
||||||
}
|
|
||||||
e => panic!("Not existent {}", e),
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let popover_select = gui_data.popover_select.clone();
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
||||||
|
let buttons_popover_unselect_all = gui_data.buttons_popover_unselect_all.clone();
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
let notebook_main = gui_data.notebook_main.clone();
|
||||||
buttons_popover_simple_list_select_all.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
let vec_popover_objects = popover_objects.clone();
|
||||||
"scrolled_window_main_empty_folder_finder" => {
|
buttons_popover_unselect_all.connect_clicked(move |_| {
|
||||||
popover_select_all(&popover_select_simple_list, &scrolled_window_main_empty_folder_finder);
|
let object_popover = find_name(notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap(), &vec_popover_objects).unwrap();
|
||||||
}
|
popover_unselect_all(&popover_select, &object_popover.scrolled_windows);
|
||||||
"scrolled_window_main_empty_files_finder" => {
|
|
||||||
popover_select_all(&popover_select_simple_list, &scrolled_window_main_empty_files_finder);
|
|
||||||
}
|
|
||||||
"scrolled_window_main_temporary_files_finder" => {
|
|
||||||
popover_select_all(&popover_select_simple_list, &scrolled_window_main_temporary_files_finder);
|
|
||||||
}
|
|
||||||
"notebook_main_zeroed_files_finder" => {
|
|
||||||
popover_select_all(&popover_select_simple_list, &scrolled_window_zeroed_files_finder);
|
|
||||||
}
|
|
||||||
"notebook_big_main_file_finder" => {
|
|
||||||
popover_select_all(&popover_select_simple_list, &scrolled_window_big_files_finder);
|
|
||||||
}
|
|
||||||
e => panic!("Not existent {}", e),
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let popover_select = gui_data.popover_select.clone();
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
||||||
|
let buttons_popover_reverse = gui_data.buttons_popover_reverse.clone();
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
let notebook_main = gui_data.notebook_main.clone();
|
||||||
buttons_popover_very_simple_list_select_all.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
let vec_popover_objects = popover_objects.clone();
|
||||||
"scrolled_window_invalid_symlinks" => {
|
buttons_popover_reverse.connect_clicked(move |_| {
|
||||||
popover_select_all(&popover_select_very_simple_list, &scrolled_window_invalid_symlinks);
|
let object_popover = find_name(notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap(), &vec_popover_objects).unwrap();
|
||||||
}
|
popover_reverse(&popover_select, &object_popover.scrolled_windows);
|
||||||
e => panic!("Not existent {}", e),
|
});
|
||||||
});
|
|
||||||
}
|
let popover_select = gui_data.popover_select.clone();
|
||||||
pub fn connect_unselect_all(gui_data: &GuiData) {
|
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
let buttons_popover_select_all_except_oldest = gui_data.buttons_popover_select_all_except_oldest.clone();
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
let notebook_main = gui_data.notebook_main.clone();
|
||||||
|
let vec_popover_objects = popover_objects.clone();
|
||||||
let scrolled_window_main_empty_folder_finder = gui_data.scrolled_window_main_empty_folder_finder.clone();
|
buttons_popover_select_all_except_oldest.connect_clicked(move |_| {
|
||||||
let scrolled_window_big_files_finder = gui_data.scrolled_window_big_files_finder.clone();
|
let object_popover = find_name(notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap(), &vec_popover_objects).unwrap();
|
||||||
let scrolled_window_main_empty_files_finder = gui_data.scrolled_window_main_empty_files_finder.clone();
|
popover_all_except_oldest(
|
||||||
let scrolled_window_main_temporary_files_finder = gui_data.scrolled_window_main_temporary_files_finder.clone();
|
&popover_select,
|
||||||
let scrolled_window_similar_images_finder = gui_data.scrolled_window_similar_images_finder.clone();
|
&object_popover.scrolled_windows,
|
||||||
let scrolled_window_zeroed_files_finder = gui_data.scrolled_window_zeroed_files_finder.clone();
|
object_popover.column_color.unwrap(),
|
||||||
let scrolled_window_same_music_finder = gui_data.scrolled_window_same_music_finder.clone();
|
object_popover.column_modification_as_secs.unwrap(),
|
||||||
let scrolled_window_duplicate_finder = gui_data.scrolled_window_duplicate_finder.clone();
|
object_popover.column_name.unwrap(),
|
||||||
let scrolled_window_invalid_symlinks = gui_data.scrolled_window_invalid_symlinks.clone();
|
);
|
||||||
let popover_select_duplicate = gui_data.popover_select_duplicate.clone();
|
});
|
||||||
let popover_select_simple_list = gui_data.popover_select_simple_list.clone();
|
|
||||||
let popover_select_very_simple_list = gui_data.popover_select_very_simple_list.clone();
|
let popover_select = gui_data.popover_select.clone();
|
||||||
let buttons_popover_simple_list_unselect_all = gui_data.buttons_popover_simple_list_unselect_all.clone();
|
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
||||||
let buttons_popover_very_simple_list_unselect_all = gui_data.buttons_popover_very_simple_list_unselect_all.clone();
|
let buttons_popover_select_all_except_newest = gui_data.buttons_popover_select_all_except_newest.clone();
|
||||||
let buttons_popover_duplicate_unselect_all = gui_data.buttons_popover_duplicate_unselect_all.clone();
|
let notebook_main = gui_data.notebook_main.clone();
|
||||||
buttons_popover_duplicate_unselect_all.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
let vec_popover_objects = popover_objects.clone();
|
||||||
"notebook_main_duplicate_finder_label" => {
|
buttons_popover_select_all_except_newest.connect_clicked(move |_| {
|
||||||
popover_unselect_all(&popover_select_duplicate, &scrolled_window_duplicate_finder);
|
let object_popover = find_name(notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap(), &vec_popover_objects).unwrap();
|
||||||
}
|
popover_all_except_newest(
|
||||||
"notebook_main_same_music_finder" => {
|
&popover_select,
|
||||||
popover_unselect_all(&popover_select_duplicate, &scrolled_window_same_music_finder);
|
&object_popover.scrolled_windows,
|
||||||
}
|
object_popover.column_color.unwrap(),
|
||||||
"notebook_main_similar_images_finder_label" => {
|
object_popover.column_modification_as_secs.unwrap(),
|
||||||
popover_unselect_all(&popover_select_duplicate, &scrolled_window_similar_images_finder);
|
object_popover.column_name.unwrap(),
|
||||||
}
|
);
|
||||||
e => panic!("Not existent {}", e),
|
});
|
||||||
});
|
|
||||||
|
let popover_select = gui_data.popover_select.clone();
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
let buttons_popover_select_one_oldest = gui_data.buttons_popover_select_one_oldest.clone();
|
||||||
buttons_popover_simple_list_unselect_all.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
let notebook_main = gui_data.notebook_main.clone();
|
||||||
"scrolled_window_main_empty_folder_finder" => {
|
let vec_popover_objects = popover_objects.clone();
|
||||||
popover_unselect_all(&popover_select_simple_list, &scrolled_window_main_empty_folder_finder);
|
buttons_popover_select_one_oldest.connect_clicked(move |_| {
|
||||||
}
|
let object_popover = find_name(notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap(), &vec_popover_objects).unwrap();
|
||||||
"scrolled_window_main_empty_files_finder" => {
|
popover_one_oldest(
|
||||||
popover_unselect_all(&popover_select_simple_list, &scrolled_window_main_empty_files_finder);
|
&popover_select,
|
||||||
}
|
&object_popover.scrolled_windows,
|
||||||
"scrolled_window_main_temporary_files_finder" => {
|
object_popover.column_color.unwrap(),
|
||||||
popover_unselect_all(&popover_select_simple_list, &scrolled_window_main_temporary_files_finder);
|
object_popover.column_modification_as_secs.unwrap(),
|
||||||
}
|
object_popover.column_name.unwrap(),
|
||||||
"notebook_main_zeroed_files_finder" => {
|
);
|
||||||
popover_unselect_all(&popover_select_simple_list, &scrolled_window_zeroed_files_finder);
|
});
|
||||||
}
|
|
||||||
"notebook_big_main_file_finder" => {
|
let popover_select = gui_data.popover_select.clone();
|
||||||
popover_unselect_all(&popover_select_simple_list, &scrolled_window_big_files_finder);
|
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
||||||
}
|
let buttons_popover_select_one_newest = gui_data.buttons_popover_select_one_newest.clone();
|
||||||
e => panic!("Not existent {}", e),
|
let notebook_main = gui_data.notebook_main.clone();
|
||||||
});
|
let vec_popover_objects = popover_objects.clone();
|
||||||
|
buttons_popover_select_one_newest.connect_clicked(move |_| {
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
let object_popover = find_name(notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap(), &vec_popover_objects).unwrap();
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
popover_one_newest(
|
||||||
buttons_popover_very_simple_list_unselect_all.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
&popover_select,
|
||||||
"scrolled_window_invalid_symlinks" => {
|
&object_popover.scrolled_windows,
|
||||||
popover_unselect_all(&popover_select_very_simple_list, &scrolled_window_invalid_symlinks);
|
object_popover.column_color.unwrap(),
|
||||||
}
|
object_popover.column_modification_as_secs.unwrap(),
|
||||||
e => panic!("Not existent {}", e),
|
object_popover.column_name.unwrap(),
|
||||||
});
|
);
|
||||||
}
|
});
|
||||||
pub fn connect_reverse(gui_data: &GuiData) {
|
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
let popover_select = gui_data.popover_select.clone();
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
||||||
|
let buttons_popover_select_custom = gui_data.buttons_popover_select_custom.clone();
|
||||||
let scrolled_window_main_empty_folder_finder = gui_data.scrolled_window_main_empty_folder_finder.clone();
|
let notebook_main = gui_data.notebook_main.clone();
|
||||||
let scrolled_window_big_files_finder = gui_data.scrolled_window_big_files_finder.clone();
|
let vec_popover_objects = popover_objects.clone();
|
||||||
let scrolled_window_main_empty_files_finder = gui_data.scrolled_window_main_empty_files_finder.clone();
|
let gui_data_clone = gui_data.clone();
|
||||||
let scrolled_window_main_temporary_files_finder = gui_data.scrolled_window_main_temporary_files_finder.clone();
|
buttons_popover_select_custom.connect_clicked(move |_| {
|
||||||
let scrolled_window_similar_images_finder = gui_data.scrolled_window_similar_images_finder.clone();
|
let object_popover = find_name(notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap(), &vec_popover_objects).unwrap();
|
||||||
let scrolled_window_zeroed_files_finder = gui_data.scrolled_window_zeroed_files_finder.clone();
|
popover_select_custom(
|
||||||
let scrolled_window_same_music_finder = gui_data.scrolled_window_same_music_finder.clone();
|
&popover_select,
|
||||||
let scrolled_window_duplicate_finder = gui_data.scrolled_window_duplicate_finder.clone();
|
&gui_data_clone,
|
||||||
let scrolled_window_invalid_symlinks = gui_data.scrolled_window_invalid_symlinks.clone();
|
&object_popover.scrolled_windows,
|
||||||
let popover_select_duplicate = gui_data.popover_select_duplicate.clone();
|
object_popover.column_color,
|
||||||
let popover_select_simple_list = gui_data.popover_select_simple_list.clone();
|
object_popover.column_name.unwrap(),
|
||||||
let popover_select_very_simple_list = gui_data.popover_select_very_simple_list.clone();
|
object_popover.column_path.unwrap(),
|
||||||
let buttons_popover_simple_list_reverse = gui_data.buttons_popover_simple_list_reverse.clone();
|
);
|
||||||
let buttons_popover_very_simple_list_reverse = gui_data.buttons_popover_very_simple_list_reverse.clone();
|
});
|
||||||
let buttons_popover_duplicate_reverse = gui_data.buttons_popover_duplicate_reverse.clone();
|
|
||||||
buttons_popover_duplicate_reverse.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
let popover_select = gui_data.popover_select.clone();
|
||||||
"notebook_main_duplicate_finder_label" => {
|
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
||||||
popover_reverse(&popover_select_duplicate, &scrolled_window_duplicate_finder);
|
let buttons_popover_unselect_custom = gui_data.buttons_popover_unselect_custom.clone();
|
||||||
}
|
let notebook_main = gui_data.notebook_main.clone();
|
||||||
"notebook_main_same_music_finder" => {
|
let vec_popover_objects = popover_objects; //.clone();
|
||||||
popover_reverse(&popover_select_duplicate, &scrolled_window_same_music_finder);
|
let gui_data_clone = gui_data.clone();
|
||||||
}
|
buttons_popover_unselect_custom.connect_clicked(move |_| {
|
||||||
"notebook_main_similar_images_finder_label" => {
|
let object_popover = find_name(notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap(), &vec_popover_objects).unwrap();
|
||||||
popover_reverse(&popover_select_duplicate, &scrolled_window_similar_images_finder);
|
popover_unselect_custom(
|
||||||
}
|
&popover_select,
|
||||||
e => panic!("Not existent {}", e),
|
&gui_data_clone,
|
||||||
});
|
&object_popover.scrolled_windows,
|
||||||
|
object_popover.column_color,
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
object_popover.column_name.unwrap(),
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
object_popover.column_path.unwrap(),
|
||||||
buttons_popover_simple_list_reverse.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
);
|
||||||
"scrolled_window_main_empty_folder_finder" => {
|
|
||||||
popover_reverse(&popover_select_simple_list, &scrolled_window_main_empty_folder_finder);
|
|
||||||
}
|
|
||||||
"scrolled_window_main_empty_files_finder" => {
|
|
||||||
popover_reverse(&popover_select_simple_list, &scrolled_window_main_empty_files_finder);
|
|
||||||
}
|
|
||||||
"scrolled_window_main_temporary_files_finder" => {
|
|
||||||
popover_reverse(&popover_select_simple_list, &scrolled_window_main_temporary_files_finder);
|
|
||||||
}
|
|
||||||
"notebook_main_zeroed_files_finder" => {
|
|
||||||
popover_reverse(&popover_select_simple_list, &scrolled_window_zeroed_files_finder);
|
|
||||||
}
|
|
||||||
"notebook_big_main_file_finder" => {
|
|
||||||
popover_reverse(&popover_select_simple_list, &scrolled_window_big_files_finder);
|
|
||||||
}
|
|
||||||
e => panic!("Not existent {}", e),
|
|
||||||
});
|
|
||||||
|
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
|
||||||
buttons_popover_very_simple_list_reverse.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
|
||||||
"scrolled_window_invalid_symlinks" => {
|
|
||||||
popover_reverse(&popover_select_very_simple_list, &scrolled_window_invalid_symlinks);
|
|
||||||
}
|
|
||||||
e => panic!("Not existent {}", e),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn connect_all_except_oldest(gui_data: &GuiData) {
|
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
|
||||||
|
|
||||||
let scrolled_window_similar_images_finder = gui_data.scrolled_window_similar_images_finder.clone();
|
|
||||||
let scrolled_window_same_music_finder = gui_data.scrolled_window_same_music_finder.clone();
|
|
||||||
let scrolled_window_duplicate_finder = gui_data.scrolled_window_duplicate_finder.clone();
|
|
||||||
let popover_select_duplicate = gui_data.popover_select_duplicate.clone();
|
|
||||||
let buttons_popover_duplicate_select_all_except_oldest = gui_data.buttons_popover_duplicate_select_all_except_oldest.clone();
|
|
||||||
buttons_popover_duplicate_select_all_except_oldest.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
|
||||||
"notebook_main_duplicate_finder_label" => {
|
|
||||||
popover_all_except_oldest(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&scrolled_window_duplicate_finder,
|
|
||||||
ColumnsDuplicates::Color as i32,
|
|
||||||
ColumnsDuplicates::ModificationAsSecs as i32,
|
|
||||||
ColumnsDuplicates::Name as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"notebook_main_same_music_finder" => {
|
|
||||||
popover_all_except_oldest(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&scrolled_window_same_music_finder,
|
|
||||||
ColumnsSameMusic::Color as i32,
|
|
||||||
ColumnsSameMusic::ModificationAsSecs as i32,
|
|
||||||
ColumnsSameMusic::Name as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"notebook_main_similar_images_finder_label" => {
|
|
||||||
popover_all_except_oldest(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&scrolled_window_similar_images_finder,
|
|
||||||
ColumnsSimilarImages::Color as i32,
|
|
||||||
ColumnsSimilarImages::ModificationAsSecs as i32,
|
|
||||||
ColumnsSimilarImages::Name as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
e => panic!("Not existent {}", e),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
pub fn connect_all_except_newest(gui_data: &GuiData) {
|
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
|
||||||
|
|
||||||
let scrolled_window_similar_images_finder = gui_data.scrolled_window_similar_images_finder.clone();
|
|
||||||
let scrolled_window_same_music_finder = gui_data.scrolled_window_same_music_finder.clone();
|
|
||||||
let scrolled_window_duplicate_finder = gui_data.scrolled_window_duplicate_finder.clone();
|
|
||||||
let popover_select_duplicate = gui_data.popover_select_duplicate.clone();
|
|
||||||
let buttons_popover_duplicate_select_all_except_newest = gui_data.buttons_popover_duplicate_select_all_except_newest.clone();
|
|
||||||
buttons_popover_duplicate_select_all_except_newest.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
|
||||||
"notebook_main_duplicate_finder_label" => {
|
|
||||||
popover_all_except_newest(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&scrolled_window_duplicate_finder,
|
|
||||||
ColumnsDuplicates::Color as i32,
|
|
||||||
ColumnsDuplicates::ModificationAsSecs as i32,
|
|
||||||
ColumnsDuplicates::Name as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"notebook_main_same_music_finder" => {
|
|
||||||
popover_all_except_newest(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&scrolled_window_same_music_finder,
|
|
||||||
ColumnsSameMusic::Color as i32,
|
|
||||||
ColumnsSameMusic::ModificationAsSecs as i32,
|
|
||||||
ColumnsSameMusic::Name as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"notebook_main_similar_images_finder_label" => {
|
|
||||||
popover_all_except_newest(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&scrolled_window_similar_images_finder,
|
|
||||||
ColumnsSimilarImages::Color as i32,
|
|
||||||
ColumnsSimilarImages::ModificationAsSecs as i32,
|
|
||||||
ColumnsSimilarImages::Name as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
e => panic!("Not existent {}", e),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
pub fn connect_one_newest(gui_data: &GuiData) {
|
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
|
||||||
|
|
||||||
let scrolled_window_similar_images_finder = gui_data.scrolled_window_similar_images_finder.clone();
|
|
||||||
let scrolled_window_same_music_finder = gui_data.scrolled_window_same_music_finder.clone();
|
|
||||||
let scrolled_window_duplicate_finder = gui_data.scrolled_window_duplicate_finder.clone();
|
|
||||||
let popover_select_duplicate = gui_data.popover_select_duplicate.clone();
|
|
||||||
let buttons_popover_duplicate_select_one_newest = gui_data.buttons_popover_duplicate_select_one_newest.clone();
|
|
||||||
buttons_popover_duplicate_select_one_newest.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
|
||||||
"notebook_main_duplicate_finder_label" => {
|
|
||||||
popover_one_newest(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&scrolled_window_duplicate_finder,
|
|
||||||
ColumnsDuplicates::Color as i32,
|
|
||||||
ColumnsDuplicates::ModificationAsSecs as i32,
|
|
||||||
ColumnsDuplicates::Name as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"notebook_main_same_music_finder" => {
|
|
||||||
popover_one_newest(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&scrolled_window_same_music_finder,
|
|
||||||
ColumnsSameMusic::Color as i32,
|
|
||||||
ColumnsSameMusic::ModificationAsSecs as i32,
|
|
||||||
ColumnsSameMusic::Name as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"notebook_main_similar_images_finder_label" => {
|
|
||||||
popover_one_newest(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&scrolled_window_similar_images_finder,
|
|
||||||
ColumnsSimilarImages::Color as i32,
|
|
||||||
ColumnsSimilarImages::ModificationAsSecs as i32,
|
|
||||||
ColumnsSimilarImages::Name as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
e => panic!("Not existent {}", e),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
pub fn connect_one_oldest(gui_data: &GuiData) {
|
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
|
||||||
|
|
||||||
let scrolled_window_similar_images_finder = gui_data.scrolled_window_similar_images_finder.clone();
|
|
||||||
let scrolled_window_same_music_finder = gui_data.scrolled_window_same_music_finder.clone();
|
|
||||||
let scrolled_window_duplicate_finder = gui_data.scrolled_window_duplicate_finder.clone();
|
|
||||||
let popover_select_duplicate = gui_data.popover_select_duplicate.clone();
|
|
||||||
let buttons_popover_duplicate_select_one_oldest = gui_data.buttons_popover_duplicate_select_one_oldest.clone();
|
|
||||||
buttons_popover_duplicate_select_one_oldest.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
|
||||||
"notebook_main_duplicate_finder_label" => {
|
|
||||||
popover_one_oldest(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&scrolled_window_duplicate_finder,
|
|
||||||
ColumnsDuplicates::Color as i32,
|
|
||||||
ColumnsDuplicates::ModificationAsSecs as i32,
|
|
||||||
ColumnsDuplicates::Name as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"notebook_main_same_music_finder" => {
|
|
||||||
popover_one_oldest(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&scrolled_window_same_music_finder,
|
|
||||||
ColumnsSameMusic::Color as i32,
|
|
||||||
ColumnsSameMusic::ModificationAsSecs as i32,
|
|
||||||
ColumnsSameMusic::Name as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"notebook_main_similar_images_finder_label" => {
|
|
||||||
popover_one_oldest(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&scrolled_window_similar_images_finder,
|
|
||||||
ColumnsSimilarImages::Color as i32,
|
|
||||||
ColumnsSimilarImages::ModificationAsSecs as i32,
|
|
||||||
ColumnsSimilarImages::Name as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
e => panic!("Not existent {}", e),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn connect_select_custom(gui_data: &GuiData) {
|
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
|
||||||
|
|
||||||
let gui_data = gui_data.clone();
|
|
||||||
let second_gui_data = gui_data.clone();
|
|
||||||
let scrolled_window_main_empty_folder_finder = gui_data.scrolled_window_main_empty_folder_finder.clone();
|
|
||||||
let scrolled_window_big_files_finder = gui_data.scrolled_window_big_files_finder.clone();
|
|
||||||
let scrolled_window_main_empty_files_finder = gui_data.scrolled_window_main_empty_files_finder.clone();
|
|
||||||
let scrolled_window_main_temporary_files_finder = gui_data.scrolled_window_main_temporary_files_finder.clone();
|
|
||||||
let scrolled_window_similar_images_finder = gui_data.scrolled_window_similar_images_finder.clone();
|
|
||||||
let scrolled_window_zeroed_files_finder = gui_data.scrolled_window_zeroed_files_finder.clone();
|
|
||||||
let scrolled_window_same_music_finder = gui_data.scrolled_window_same_music_finder.clone();
|
|
||||||
let scrolled_window_duplicate_finder = gui_data.scrolled_window_duplicate_finder.clone();
|
|
||||||
let popover_select_duplicate = gui_data.popover_select_duplicate.clone();
|
|
||||||
let popover_select_simple_list = gui_data.popover_select_simple_list.clone();
|
|
||||||
let buttons_popover_simple_list_select_custom = gui_data.buttons_popover_simple_list_select_custom.clone();
|
|
||||||
let buttons_popover_duplicate_select_custom = gui_data.buttons_popover_duplicate_select_custom.clone();
|
|
||||||
buttons_popover_duplicate_select_custom.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
|
||||||
"notebook_main_duplicate_finder_label" => {
|
|
||||||
popover_select_custom(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&gui_data,
|
|
||||||
&scrolled_window_duplicate_finder,
|
|
||||||
Some(ColumnsDuplicates::Color as i32),
|
|
||||||
ColumnsDuplicates::Name as i32,
|
|
||||||
ColumnsDuplicates::Path as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"notebook_main_same_music_finder" => {
|
|
||||||
popover_select_custom(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&gui_data,
|
|
||||||
&scrolled_window_same_music_finder,
|
|
||||||
Some(ColumnsSameMusic::Color as i32),
|
|
||||||
ColumnsSameMusic::Name as i32,
|
|
||||||
ColumnsSameMusic::Path as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"notebook_main_similar_images_finder_label" => {
|
|
||||||
popover_select_custom(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&gui_data,
|
|
||||||
&scrolled_window_similar_images_finder,
|
|
||||||
Some(ColumnsSimilarImages::Color as i32),
|
|
||||||
ColumnsSimilarImages::Name as i32,
|
|
||||||
ColumnsSimilarImages::Path as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
e => panic!("Not existent {}", e),
|
|
||||||
});
|
|
||||||
|
|
||||||
let gui_data = second_gui_data;
|
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
|
||||||
buttons_popover_simple_list_select_custom.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
|
||||||
"scrolled_window_main_empty_folder_finder" => {
|
|
||||||
popover_select_custom(
|
|
||||||
&popover_select_simple_list,
|
|
||||||
&gui_data,
|
|
||||||
&scrolled_window_main_empty_folder_finder,
|
|
||||||
None,
|
|
||||||
ColumnsEmptyFolders::Name as i32,
|
|
||||||
ColumnsEmptyFolders::Path as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"scrolled_window_main_empty_files_finder" => {
|
|
||||||
popover_select_custom(&popover_select_simple_list, &gui_data, &scrolled_window_main_empty_files_finder, None, ColumnsEmptyFiles::Name as i32, ColumnsEmptyFiles::Path as i32);
|
|
||||||
}
|
|
||||||
"scrolled_window_main_temporary_files_finder" => {
|
|
||||||
popover_select_custom(
|
|
||||||
&popover_select_simple_list,
|
|
||||||
&gui_data,
|
|
||||||
&scrolled_window_main_temporary_files_finder,
|
|
||||||
None,
|
|
||||||
ColumnsTemporaryFiles::Name as i32,
|
|
||||||
ColumnsTemporaryFiles::Path as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"notebook_main_zeroed_files_finder" => {
|
|
||||||
popover_select_custom(&popover_select_simple_list, &gui_data, &scrolled_window_zeroed_files_finder, None, ColumnsZeroedFiles::Name as i32, ColumnsZeroedFiles::Path as i32);
|
|
||||||
}
|
|
||||||
"notebook_big_main_file_finder" => {
|
|
||||||
popover_select_custom(&popover_select_simple_list, &gui_data, &scrolled_window_big_files_finder, None, ColumnsBigFiles::Name as i32, ColumnsBigFiles::Path as i32);
|
|
||||||
}
|
|
||||||
e => panic!("Not existent {}", e),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
pub fn connect_unselect_custom(gui_data: &GuiData) {
|
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
|
||||||
|
|
||||||
let gui_data = gui_data.clone();
|
|
||||||
let second_gui_data = gui_data.clone();
|
|
||||||
let scrolled_window_main_empty_folder_finder = gui_data.scrolled_window_main_empty_folder_finder.clone();
|
|
||||||
let scrolled_window_big_files_finder = gui_data.scrolled_window_big_files_finder.clone();
|
|
||||||
let scrolled_window_main_empty_files_finder = gui_data.scrolled_window_main_empty_files_finder.clone();
|
|
||||||
let scrolled_window_main_temporary_files_finder = gui_data.scrolled_window_main_temporary_files_finder.clone();
|
|
||||||
let scrolled_window_similar_images_finder = gui_data.scrolled_window_similar_images_finder.clone();
|
|
||||||
let scrolled_window_zeroed_files_finder = gui_data.scrolled_window_zeroed_files_finder.clone();
|
|
||||||
let scrolled_window_same_music_finder = gui_data.scrolled_window_same_music_finder.clone();
|
|
||||||
let scrolled_window_duplicate_finder = gui_data.scrolled_window_duplicate_finder.clone();
|
|
||||||
let popover_select_duplicate = gui_data.popover_select_duplicate.clone();
|
|
||||||
let popover_select_simple_list = gui_data.popover_select_simple_list.clone();
|
|
||||||
let buttons_popover_simple_list_unselect_custom = gui_data.buttons_popover_simple_list_unselect_custom.clone();
|
|
||||||
let buttons_popover_duplicate_unselect_custom = gui_data.buttons_popover_duplicate_unselect_custom.clone();
|
|
||||||
buttons_popover_duplicate_unselect_custom.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
|
||||||
"notebook_main_duplicate_finder_label" => {
|
|
||||||
popover_unselect_custom(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&gui_data,
|
|
||||||
&scrolled_window_duplicate_finder,
|
|
||||||
Some(ColumnsDuplicates::Color as i32),
|
|
||||||
ColumnsDuplicates::Name as i32,
|
|
||||||
ColumnsDuplicates::Path as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"notebook_main_same_music_finder" => {
|
|
||||||
popover_unselect_custom(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&gui_data,
|
|
||||||
&scrolled_window_same_music_finder,
|
|
||||||
Some(ColumnsSameMusic::Color as i32),
|
|
||||||
ColumnsSameMusic::Name as i32,
|
|
||||||
ColumnsSameMusic::Path as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"notebook_main_similar_images_finder_label" => {
|
|
||||||
popover_unselect_custom(
|
|
||||||
&popover_select_duplicate,
|
|
||||||
&gui_data,
|
|
||||||
&scrolled_window_similar_images_finder,
|
|
||||||
Some(ColumnsSimilarImages::Color as i32),
|
|
||||||
ColumnsSimilarImages::Name as i32,
|
|
||||||
ColumnsSimilarImages::Path as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
e => panic!("Not existent {}", e),
|
|
||||||
});
|
|
||||||
|
|
||||||
let gui_data = second_gui_data;
|
|
||||||
let notebook_main_children_names = gui_data.notebook_main_children_names.clone();
|
|
||||||
let notebook_main = gui_data.notebook_main.clone();
|
|
||||||
buttons_popover_simple_list_unselect_custom.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
|
|
||||||
"scrolled_window_main_empty_folder_finder" => {
|
|
||||||
popover_unselect_custom(
|
|
||||||
&popover_select_simple_list,
|
|
||||||
&gui_data,
|
|
||||||
&scrolled_window_main_empty_folder_finder,
|
|
||||||
None,
|
|
||||||
ColumnsEmptyFolders::Name as i32,
|
|
||||||
ColumnsEmptyFolders::Path as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"scrolled_window_main_empty_files_finder" => {
|
|
||||||
popover_unselect_custom(&popover_select_simple_list, &gui_data, &scrolled_window_main_empty_files_finder, None, ColumnsEmptyFiles::Name as i32, ColumnsEmptyFiles::Path as i32);
|
|
||||||
}
|
|
||||||
"scrolled_window_main_temporary_files_finder" => {
|
|
||||||
popover_unselect_custom(
|
|
||||||
&popover_select_simple_list,
|
|
||||||
&gui_data,
|
|
||||||
&scrolled_window_main_temporary_files_finder,
|
|
||||||
None,
|
|
||||||
ColumnsTemporaryFiles::Name as i32,
|
|
||||||
ColumnsTemporaryFiles::Path as i32,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
"notebook_main_zeroed_files_finder" => {
|
|
||||||
popover_unselect_custom(&popover_select_simple_list, &gui_data, &scrolled_window_zeroed_files_finder, None, ColumnsZeroedFiles::Name as i32, ColumnsZeroedFiles::Path as i32);
|
|
||||||
}
|
|
||||||
"notebook_big_main_file_finder" => {
|
|
||||||
popover_unselect_custom(&popover_select_simple_list, &gui_data, &scrolled_window_big_files_finder, None, ColumnsBigFiles::Name as i32, ColumnsBigFiles::Path as i32);
|
|
||||||
}
|
|
||||||
e => panic!("Not existent {}", e),
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,33 +69,28 @@ pub struct GuiData {
|
||||||
pub buttons_remove_excluded_directory: gtk::Button,
|
pub buttons_remove_excluded_directory: gtk::Button,
|
||||||
|
|
||||||
// Buttons search popover buttons
|
// Buttons search popover buttons
|
||||||
pub buttons_popover_duplicate_select_all: gtk::Button,
|
pub buttons_popover_select_all: gtk::Button,
|
||||||
pub buttons_popover_duplicate_unselect_all: gtk::Button,
|
pub buttons_popover_unselect_all: gtk::Button,
|
||||||
pub buttons_popover_duplicate_reverse: gtk::Button,
|
pub buttons_popover_reverse: gtk::Button,
|
||||||
pub buttons_popover_duplicate_select_all_except_oldest: gtk::Button,
|
pub buttons_popover_select_all_except_oldest: gtk::Button,
|
||||||
pub buttons_popover_duplicate_select_all_except_newest: gtk::Button,
|
pub buttons_popover_select_all_except_newest: gtk::Button,
|
||||||
pub buttons_popover_duplicate_select_one_oldest: gtk::Button,
|
pub buttons_popover_select_one_oldest: gtk::Button,
|
||||||
pub buttons_popover_duplicate_select_one_newest: gtk::Button,
|
pub buttons_popover_select_one_newest: gtk::Button,
|
||||||
pub buttons_popover_duplicate_select_custom: gtk::Button,
|
pub buttons_popover_select_custom: gtk::Button,
|
||||||
pub buttons_popover_duplicate_unselect_custom: gtk::Button,
|
pub buttons_popover_unselect_custom: gtk::Button,
|
||||||
|
pub buttons_popover_select_all_images_except_biggest: gtk::Button,
|
||||||
|
pub buttons_popover_select_all_images_except_smallest: gtk::Button,
|
||||||
|
|
||||||
pub buttons_popover_simple_list_select_all: gtk::Button,
|
pub separator_select_image_size: gtk::Separator,
|
||||||
pub buttons_popover_simple_list_unselect_all: gtk::Button,
|
pub separator_select_reverse: gtk::Separator,
|
||||||
pub buttons_popover_simple_list_reverse: gtk::Button,
|
pub separator_select_date: gtk::Separator,
|
||||||
pub buttons_popover_simple_list_select_custom: gtk::Button,
|
pub separator_select_custom: gtk::Separator,
|
||||||
pub buttons_popover_simple_list_unselect_custom: gtk::Button,
|
|
||||||
|
|
||||||
pub buttons_popover_very_simple_list_select_all: gtk::Button,
|
|
||||||
pub buttons_popover_very_simple_list_unselect_all: gtk::Button,
|
|
||||||
pub buttons_popover_very_simple_list_reverse: gtk::Button,
|
|
||||||
|
|
||||||
pub buttons_popover_right_click_open_file: gtk::Button,
|
pub buttons_popover_right_click_open_file: gtk::Button,
|
||||||
pub buttons_popover_right_click_open_folder: gtk::Button,
|
pub buttons_popover_right_click_open_folder: gtk::Button,
|
||||||
|
|
||||||
//// Popovers
|
//// Popovers
|
||||||
pub popover_select_duplicate: gtk::Popover,
|
pub popover_select: gtk::Popover,
|
||||||
pub popover_select_simple_list: gtk::Popover,
|
|
||||||
pub popover_select_very_simple_list: gtk::Popover,
|
|
||||||
pub popover_right_click: gtk::Popover,
|
pub popover_right_click: gtk::Popover,
|
||||||
|
|
||||||
//// Check Buttons
|
//// Check Buttons
|
||||||
|
@ -287,33 +282,28 @@ impl GuiData {
|
||||||
let buttons_remove_excluded_directory: gtk::Button = builder.get_object("buttons_remove_excluded_directory").unwrap();
|
let buttons_remove_excluded_directory: gtk::Button = builder.get_object("buttons_remove_excluded_directory").unwrap();
|
||||||
|
|
||||||
// Buttons search popover buttons
|
// Buttons search popover buttons
|
||||||
let buttons_popover_duplicate_select_all: gtk::Button = builder.get_object("buttons_popover_duplicate_select_all").unwrap();
|
let buttons_popover_select_all: gtk::Button = builder.get_object("buttons_popover_select_all").unwrap();
|
||||||
let buttons_popover_duplicate_unselect_all: gtk::Button = builder.get_object("buttons_popover_duplicate_unselect_all").unwrap();
|
let buttons_popover_unselect_all: gtk::Button = builder.get_object("buttons_popover_unselect_all").unwrap();
|
||||||
let buttons_popover_duplicate_reverse: gtk::Button = builder.get_object("buttons_popover_duplicate_reverse").unwrap();
|
let buttons_popover_reverse: gtk::Button = builder.get_object("buttons_popover_reverse").unwrap();
|
||||||
let buttons_popover_duplicate_select_all_except_oldest: gtk::Button = builder.get_object("buttons_popover_duplicate_select_all_except_oldest").unwrap();
|
let buttons_popover_select_all_except_oldest: gtk::Button = builder.get_object("buttons_popover_select_all_except_oldest").unwrap();
|
||||||
let buttons_popover_duplicate_select_all_except_newest: gtk::Button = builder.get_object("buttons_popover_duplicate_select_all_except_newest").unwrap();
|
let buttons_popover_select_all_except_newest: gtk::Button = builder.get_object("buttons_popover_select_all_except_newest").unwrap();
|
||||||
let buttons_popover_duplicate_select_one_oldest: gtk::Button = builder.get_object("buttons_popover_duplicate_select_one_oldest").unwrap();
|
let buttons_popover_select_one_oldest: gtk::Button = builder.get_object("buttons_popover_select_one_oldest").unwrap();
|
||||||
let buttons_popover_duplicate_select_one_newest: gtk::Button = builder.get_object("buttons_popover_duplicate_select_one_newest").unwrap();
|
let buttons_popover_select_one_newest: gtk::Button = builder.get_object("buttons_popover_select_one_newest").unwrap();
|
||||||
let buttons_popover_duplicate_select_custom: gtk::Button = builder.get_object("buttons_popover_duplicate_select_custom").unwrap();
|
let buttons_popover_select_custom: gtk::Button = builder.get_object("buttons_popover_select_custom").unwrap();
|
||||||
let buttons_popover_duplicate_unselect_custom: gtk::Button = builder.get_object("buttons_popover_duplicate_unselect_custom").unwrap();
|
let buttons_popover_unselect_custom: gtk::Button = builder.get_object("buttons_popover_unselect_custom").unwrap();
|
||||||
|
let buttons_popover_select_all_images_except_biggest: gtk::Button = builder.get_object("buttons_popover_select_all_images_except_biggest").unwrap();
|
||||||
|
let buttons_popover_select_all_images_except_smallest: gtk::Button = builder.get_object("buttons_popover_select_all_images_except_smallest").unwrap();
|
||||||
|
|
||||||
let buttons_popover_simple_list_select_all: gtk::Button = builder.get_object("buttons_popover_simple_list_select_all").unwrap();
|
let separator_select_image_size: gtk::Separator = builder.get_object("separator_select_image_size").unwrap();
|
||||||
let buttons_popover_simple_list_unselect_all: gtk::Button = builder.get_object("buttons_popover_simple_list_unselect_all").unwrap();
|
let separator_select_reverse: gtk::Separator = builder.get_object("separator_select_reverse").unwrap();
|
||||||
let buttons_popover_simple_list_reverse: gtk::Button = builder.get_object("buttons_popover_simple_list_reverse").unwrap();
|
let separator_select_date: gtk::Separator = builder.get_object("separator_select_date").unwrap();
|
||||||
let buttons_popover_simple_list_select_custom: gtk::Button = builder.get_object("buttons_popover_simple_list_select_custom").unwrap();
|
let separator_select_custom: gtk::Separator = builder.get_object("separator_select_custom").unwrap();
|
||||||
let buttons_popover_simple_list_unselect_custom: gtk::Button = builder.get_object("buttons_popover_simple_list_unselect_custom").unwrap();
|
|
||||||
|
|
||||||
let buttons_popover_very_simple_list_select_all: gtk::Button = builder.get_object("buttons_popover_very_simple_list_select_all").unwrap();
|
|
||||||
let buttons_popover_very_simple_list_unselect_all: gtk::Button = builder.get_object("buttons_popover_very_simple_list_unselect_all").unwrap();
|
|
||||||
let buttons_popover_very_simple_list_reverse: gtk::Button = builder.get_object("buttons_popover_very_simple_list_reverse").unwrap();
|
|
||||||
|
|
||||||
let buttons_popover_right_click_open_file: gtk::Button = builder.get_object("buttons_popover_right_click_open_file").unwrap();
|
let buttons_popover_right_click_open_file: gtk::Button = builder.get_object("buttons_popover_right_click_open_file").unwrap();
|
||||||
let buttons_popover_right_click_open_folder: gtk::Button = builder.get_object("buttons_popover_right_click_open_folder").unwrap();
|
let buttons_popover_right_click_open_folder: gtk::Button = builder.get_object("buttons_popover_right_click_open_folder").unwrap();
|
||||||
|
|
||||||
//// Popovers
|
//// Popovers
|
||||||
let popover_select_duplicate: gtk::Popover = builder.get_object("popover_select_duplicate").unwrap();
|
let popover_select: gtk::Popover = builder.get_object("popover_select").unwrap();
|
||||||
let popover_select_simple_list: gtk::Popover = builder.get_object("popover_select_simple_list").unwrap();
|
|
||||||
let popover_select_very_simple_list: gtk::Popover = builder.get_object("popover_select_very_simple_list").unwrap();
|
|
||||||
let popover_right_click: gtk::Popover = builder.get_object("popover_right_click").unwrap();
|
let popover_right_click: gtk::Popover = builder.get_object("popover_right_click").unwrap();
|
||||||
|
|
||||||
//// Check Buttons
|
//// Check Buttons
|
||||||
|
@ -442,28 +432,24 @@ impl GuiData {
|
||||||
buttons_remove_included_directory,
|
buttons_remove_included_directory,
|
||||||
buttons_add_excluded_directory,
|
buttons_add_excluded_directory,
|
||||||
buttons_remove_excluded_directory,
|
buttons_remove_excluded_directory,
|
||||||
buttons_popover_duplicate_select_all,
|
buttons_popover_select_all,
|
||||||
buttons_popover_duplicate_unselect_all,
|
buttons_popover_unselect_all,
|
||||||
buttons_popover_duplicate_reverse,
|
buttons_popover_reverse,
|
||||||
buttons_popover_duplicate_select_all_except_oldest,
|
buttons_popover_select_all_except_oldest,
|
||||||
buttons_popover_duplicate_select_all_except_newest,
|
buttons_popover_select_all_except_newest,
|
||||||
buttons_popover_duplicate_select_one_oldest,
|
buttons_popover_select_one_oldest,
|
||||||
buttons_popover_duplicate_select_one_newest,
|
buttons_popover_select_one_newest,
|
||||||
buttons_popover_duplicate_select_custom,
|
buttons_popover_select_custom,
|
||||||
buttons_popover_duplicate_unselect_custom,
|
buttons_popover_unselect_custom,
|
||||||
buttons_popover_simple_list_select_all,
|
buttons_popover_select_all_images_except_biggest,
|
||||||
buttons_popover_simple_list_unselect_all,
|
buttons_popover_select_all_images_except_smallest,
|
||||||
buttons_popover_simple_list_reverse,
|
separator_select_image_size,
|
||||||
buttons_popover_simple_list_select_custom,
|
separator_select_reverse,
|
||||||
buttons_popover_simple_list_unselect_custom,
|
separator_select_date,
|
||||||
buttons_popover_very_simple_list_select_all,
|
separator_select_custom,
|
||||||
buttons_popover_very_simple_list_unselect_all,
|
|
||||||
buttons_popover_very_simple_list_reverse,
|
|
||||||
buttons_popover_right_click_open_file,
|
buttons_popover_right_click_open_file,
|
||||||
buttons_popover_right_click_open_folder,
|
buttons_popover_right_click_open_folder,
|
||||||
popover_select_duplicate,
|
popover_select,
|
||||||
popover_select_simple_list,
|
|
||||||
popover_select_very_simple_list,
|
|
||||||
popover_right_click,
|
popover_right_click,
|
||||||
check_button_recursive,
|
check_button_recursive,
|
||||||
check_button_music_title,
|
check_button_music_title,
|
||||||
|
|
|
@ -65,6 +65,7 @@ pub enum ColumnsTemporaryFiles {
|
||||||
pub enum ColumnsSimilarImages {
|
pub enum ColumnsSimilarImages {
|
||||||
Similarity = 0,
|
Similarity = 0,
|
||||||
Size,
|
Size,
|
||||||
|
SizeAsBytes,
|
||||||
Dimensions,
|
Dimensions,
|
||||||
Name,
|
Name,
|
||||||
Path,
|
Path,
|
||||||
|
@ -75,12 +76,14 @@ pub enum ColumnsSimilarImages {
|
||||||
}
|
}
|
||||||
pub enum ColumnsZeroedFiles {
|
pub enum ColumnsZeroedFiles {
|
||||||
Size = 0,
|
Size = 0,
|
||||||
|
SizeAsBytes,
|
||||||
Name,
|
Name,
|
||||||
Path,
|
Path,
|
||||||
Modification,
|
Modification,
|
||||||
}
|
}
|
||||||
pub enum ColumnsSameMusic {
|
pub enum ColumnsSameMusic {
|
||||||
Size = 0,
|
Size = 0,
|
||||||
|
SizeAsBytes,
|
||||||
Name,
|
Name,
|
||||||
Path,
|
Path,
|
||||||
Title,
|
Title,
|
||||||
|
|
|
@ -135,9 +135,10 @@ pub fn initialize_gui(gui_data: &GuiData) {
|
||||||
{
|
{
|
||||||
image_preview_similar_images.hide();
|
image_preview_similar_images.hide();
|
||||||
|
|
||||||
let col_types: [glib::types::Type; 9] = [
|
let col_types: [glib::types::Type; 10] = [
|
||||||
glib::types::Type::String,
|
glib::types::Type::String,
|
||||||
glib::types::Type::String,
|
glib::types::Type::String,
|
||||||
|
glib::types::Type::U64,
|
||||||
glib::types::Type::String,
|
glib::types::Type::String,
|
||||||
glib::types::Type::String,
|
glib::types::Type::String,
|
||||||
glib::types::Type::String,
|
glib::types::Type::String,
|
||||||
|
@ -235,7 +236,7 @@ pub fn initialize_gui(gui_data: &GuiData) {
|
||||||
}
|
}
|
||||||
// Zeroed Files
|
// Zeroed Files
|
||||||
{
|
{
|
||||||
let col_types: [glib::types::Type; 4] = [glib::types::Type::String, glib::types::Type::String, glib::types::Type::String, glib::types::Type::String];
|
let col_types: [glib::types::Type; 5] = [glib::types::Type::String, glib::types::Type::U64, glib::types::Type::String, glib::types::Type::String, glib::types::Type::String];
|
||||||
let list_store: gtk::ListStore = gtk::ListStore::new(&col_types);
|
let list_store: gtk::ListStore = gtk::ListStore::new(&col_types);
|
||||||
|
|
||||||
let mut tree_view: gtk::TreeView = TreeView::with_model(&list_store);
|
let mut tree_view: gtk::TreeView = TreeView::with_model(&list_store);
|
||||||
|
@ -249,10 +250,11 @@ pub fn initialize_gui(gui_data: &GuiData) {
|
||||||
scrolled_window_zeroed_files_finder.add(&tree_view);
|
scrolled_window_zeroed_files_finder.add(&tree_view);
|
||||||
scrolled_window_zeroed_files_finder.show_all();
|
scrolled_window_zeroed_files_finder.show_all();
|
||||||
}
|
}
|
||||||
// Same Files
|
// Same Music
|
||||||
{
|
{
|
||||||
let col_types: [glib::types::Type; 12] = [
|
let col_types: [glib::types::Type; 13] = [
|
||||||
glib::types::Type::String,
|
glib::types::Type::String,
|
||||||
|
glib::types::Type::U64,
|
||||||
glib::types::Type::String,
|
glib::types::Type::String,
|
||||||
glib::types::Type::String,
|
glib::types::Type::String,
|
||||||
glib::types::Type::String,
|
glib::types::Type::String,
|
||||||
|
|
Loading…
Reference in a new issue