Skip to content

Commit

Permalink
Some renames, basic Cambalache view
Browse files Browse the repository at this point in the history
  • Loading branch information
qarmin committed Jan 25, 2023
1 parent c90c578 commit c8b96a4
Show file tree
Hide file tree
Showing 15 changed files with 197 additions and 72 deletions.
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions czkawka_gui/i18n/en/czkawka_gui.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,11 @@ popover_custom_all_in_group_label = Don't select all records in group
popover_custom_mode_unselect = Unselect Custom
popover_custom_mode_select = Select Custom
popover_sort_file_name = "Sort by file name"
popover_sort_folder_name = "Sort by folder name"
popover_sort_full_name = "Sort by full name"
popover_sort_size = "Sort by size"
popover_sort_selection = "Sort by selection"
popover_invalid_regex = Regex is invalid
popover_valid_regex = Regex is valid
Expand Down
38 changes: 19 additions & 19 deletions czkawka_gui/src/connect_things/connect_button_select.rs
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
use gtk4::prelude::*;

use crate::gui_structs::gui_data::GuiData;
use crate::gui_structs::gui_popovers::GuiPopovers;
use crate::gui_structs::gui_popovers_select::GuiSelectPopovers;
use crate::help_functions::PopoverTypes;
use crate::notebook_enums::*;
use crate::notebook_info::NOTEBOOKS_INFO;

pub fn connect_button_select(gui_data: &GuiData) {
let popovers = gui_data.popovers.clone();
let popovers_select = gui_data.popovers_select.clone();
let notebook_main = gui_data.main_notebook.notebook_main.clone();
let gc_buttons_select = gui_data.bottom_buttons.gc_buttons_select.clone();

gc_buttons_select.connect_pressed(move |_, _, _, _| {
show_required_popovers(&popovers, &to_notebook_main_enum(notebook_main.current_page().unwrap()));
show_required_popovers(&popovers_select, &to_notebook_main_enum(notebook_main.current_page().unwrap()));
});
}

fn show_required_popovers(popovers: &GuiPopovers, current_mode: &NotebookMainEnum) {
let buttons_popover_select_all = popovers.buttons_popover_select_all.clone();
let buttons_popover_unselect_all = popovers.buttons_popover_unselect_all.clone();
let buttons_popover_reverse = popovers.buttons_popover_reverse.clone();
let buttons_popover_select_all_except_oldest = popovers.buttons_popover_select_all_except_oldest.clone();
let buttons_popover_select_all_except_newest = popovers.buttons_popover_select_all_except_newest.clone();
let buttons_popover_select_one_oldest = popovers.buttons_popover_select_one_oldest.clone();
let buttons_popover_select_one_newest = popovers.buttons_popover_select_one_newest.clone();
let buttons_popover_select_custom = popovers.buttons_popover_select_custom.clone();
let buttons_popover_unselect_custom = popovers.buttons_popover_unselect_custom.clone();
let buttons_popover_select_all_images_except_biggest = popovers.buttons_popover_select_all_images_except_biggest.clone();
let buttons_popover_select_all_images_except_smallest = popovers.buttons_popover_select_all_images_except_smallest.clone();
fn show_required_popovers(popovers_select: &GuiSelectPopovers, current_mode: &NotebookMainEnum) {
let buttons_popover_select_all = popovers_select.buttons_popover_select_all.clone();
let buttons_popover_unselect_all = popovers_select.buttons_popover_unselect_all.clone();
let buttons_popover_reverse = popovers_select.buttons_popover_reverse.clone();
let buttons_popover_select_all_except_oldest = popovers_select.buttons_popover_select_all_except_oldest.clone();
let buttons_popover_select_all_except_newest = popovers_select.buttons_popover_select_all_except_newest.clone();
let buttons_popover_select_one_oldest = popovers_select.buttons_popover_select_one_oldest.clone();
let buttons_popover_select_one_newest = popovers_select.buttons_popover_select_one_newest.clone();
let buttons_popover_select_custom = popovers_select.buttons_popover_select_custom.clone();
let buttons_popover_unselect_custom = popovers_select.buttons_popover_unselect_custom.clone();
let buttons_popover_select_all_images_except_biggest = popovers_select.buttons_popover_select_all_images_except_biggest.clone();
let buttons_popover_select_all_images_except_smallest = popovers_select.buttons_popover_select_all_images_except_smallest.clone();

let separator_select_custom = popovers.separator_select_custom.clone();
let separator_select_date = popovers.separator_select_date.clone();
let separator_select_image_size = popovers.separator_select_image_size.clone();
let separator_select_reverse = popovers.separator_select_reverse.clone();
let separator_select_custom = popovers_select.separator_select_custom.clone();
let separator_select_date = popovers_select.separator_select_date.clone();
let separator_select_image_size = popovers_select.separator_select_image_size.clone();
let separator_select_reverse = popovers_select.separator_select_reverse.clone();

let arr = &NOTEBOOKS_INFO[current_mode.clone() as usize].available_modes;

Expand Down
12 changes: 6 additions & 6 deletions czkawka_gui/src/connect_things/connect_button_sort.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
use crate::gui_structs::gui_data::GuiData;

pub fn connect_button_sort(gui_data: &GuiData) {
let popovers = gui_data.popovers.clone();
let notebook_main = gui_data.main_notebook.notebook_main.clone();
let gc_buttons_select = gui_data.bottom_buttons.gc_buttons_select.clone();

gc_buttons_select.connect_pressed(move |_, _, _, _| ());
pub fn connect_button_sort(_gui_data: &GuiData) {
// let popovers_select = gui_data.popovers_select.clone();
// let notebook_main = gui_data.main_notebook.notebook_main.clone();
// let gc_buttons_select = gui_data.bottom_buttons.gc_buttons_select.clone();
//
// gc_buttons_select.connect_pressed(move |_, _, _, _| ());
}
Original file line number Diff line number Diff line change
Expand Up @@ -605,8 +605,8 @@ fn popover_all_except_biggest_smallest(
}

pub fn connect_popovers(gui_data: &GuiData) {
let popover_select = gui_data.popovers.popover_select.clone();
let buttons_popover_select_all = gui_data.popovers.buttons_popover_select_all.clone();
let popover_select = gui_data.popovers_select.popover_select.clone();
let buttons_popover_select_all = gui_data.popovers_select.buttons_popover_select_all.clone();
let notebook_main = gui_data.main_notebook.notebook_main.clone();
let main_tree_views = gui_data.main_notebook.get_main_tree_views();

Expand All @@ -618,8 +618,8 @@ pub fn connect_popovers(gui_data: &GuiData) {
popover_select_all(&popover_select, tree_view, nb_object.column_selection as u32, nb_object.column_header);
});

let popover_select = gui_data.popovers.popover_select.clone();
let buttons_popover_unselect_all = gui_data.popovers.buttons_popover_unselect_all.clone();
let popover_select = gui_data.popovers_select.popover_select.clone();
let buttons_popover_unselect_all = gui_data.popovers_select.buttons_popover_unselect_all.clone();
let notebook_main = gui_data.main_notebook.notebook_main.clone();
let main_tree_views = gui_data.main_notebook.get_main_tree_views();
buttons_popover_unselect_all.connect_clicked(move |_| {
Expand All @@ -630,8 +630,8 @@ pub fn connect_popovers(gui_data: &GuiData) {
popover_unselect_all(&popover_select, tree_view, nb_object.column_selection as u32);
});

let popover_select = gui_data.popovers.popover_select.clone();
let buttons_popover_reverse = gui_data.popovers.buttons_popover_reverse.clone();
let popover_select = gui_data.popovers_select.popover_select.clone();
let buttons_popover_reverse = gui_data.popovers_select.buttons_popover_reverse.clone();
let notebook_main = gui_data.main_notebook.notebook_main.clone();
let main_tree_views = gui_data.main_notebook.get_main_tree_views();
buttons_popover_reverse.connect_clicked(move |_| {
Expand All @@ -642,8 +642,8 @@ pub fn connect_popovers(gui_data: &GuiData) {
popover_reverse(&popover_select, tree_view, nb_object.column_selection as u32, nb_object.column_header);
});

let popover_select = gui_data.popovers.popover_select.clone();
let buttons_popover_select_all_except_oldest = gui_data.popovers.buttons_popover_select_all_except_oldest.clone();
let popover_select = gui_data.popovers_select.popover_select.clone();
let buttons_popover_select_all_except_oldest = gui_data.popovers_select.buttons_popover_select_all_except_oldest.clone();
let notebook_main = gui_data.main_notebook.notebook_main.clone();
let main_tree_views = gui_data.main_notebook.get_main_tree_views();
buttons_popover_select_all_except_oldest.connect_clicked(move |_| {
Expand All @@ -662,8 +662,8 @@ pub fn connect_popovers(gui_data: &GuiData) {
);
});

let popover_select = gui_data.popovers.popover_select.clone();
let buttons_popover_select_all_except_newest = gui_data.popovers.buttons_popover_select_all_except_newest.clone();
let popover_select = gui_data.popovers_select.popover_select.clone();
let buttons_popover_select_all_except_newest = gui_data.popovers_select.buttons_popover_select_all_except_newest.clone();
let notebook_main = gui_data.main_notebook.notebook_main.clone();
let main_tree_views = gui_data.main_notebook.get_main_tree_views();
buttons_popover_select_all_except_newest.connect_clicked(move |_| {
Expand All @@ -682,8 +682,8 @@ pub fn connect_popovers(gui_data: &GuiData) {
);
});

let popover_select = gui_data.popovers.popover_select.clone();
let buttons_popover_select_one_oldest = gui_data.popovers.buttons_popover_select_one_oldest.clone();
let popover_select = gui_data.popovers_select.popover_select.clone();
let buttons_popover_select_one_oldest = gui_data.popovers_select.buttons_popover_select_one_oldest.clone();
let notebook_main = gui_data.main_notebook.notebook_main.clone();
let main_tree_views = gui_data.main_notebook.get_main_tree_views();
buttons_popover_select_one_oldest.connect_clicked(move |_| {
Expand All @@ -702,8 +702,8 @@ pub fn connect_popovers(gui_data: &GuiData) {
);
});

let popover_select = gui_data.popovers.popover_select.clone();
let buttons_popover_select_one_newest = gui_data.popovers.buttons_popover_select_one_newest.clone();
let popover_select = gui_data.popovers_select.popover_select.clone();
let buttons_popover_select_one_newest = gui_data.popovers_select.buttons_popover_select_one_newest.clone();
let notebook_main = gui_data.main_notebook.notebook_main.clone();
let main_tree_views = gui_data.main_notebook.get_main_tree_views();
buttons_popover_select_one_newest.connect_clicked(move |_| {
Expand All @@ -722,8 +722,8 @@ pub fn connect_popovers(gui_data: &GuiData) {
);
});

let popover_select = gui_data.popovers.popover_select.clone();
let buttons_popover_select_custom = gui_data.popovers.buttons_popover_select_custom.clone();
let popover_select = gui_data.popovers_select.popover_select.clone();
let buttons_popover_select_custom = gui_data.popovers_select.buttons_popover_select_custom.clone();
let notebook_main = gui_data.main_notebook.notebook_main.clone();
let main_tree_views = gui_data.main_notebook.get_main_tree_views();
let window_main = gui_data.window_main.clone();
Expand All @@ -744,8 +744,8 @@ pub fn connect_popovers(gui_data: &GuiData) {
);
});

let popover_select = gui_data.popovers.popover_select.clone();
let buttons_popover_unselect_custom = gui_data.popovers.buttons_popover_unselect_custom.clone();
let popover_select = gui_data.popovers_select.popover_select.clone();
let buttons_popover_unselect_custom = gui_data.popovers_select.buttons_popover_unselect_custom.clone();
let notebook_main = gui_data.main_notebook.notebook_main.clone();
let main_tree_views = gui_data.main_notebook.get_main_tree_views();
let window_main = gui_data.window_main.clone();
Expand All @@ -766,8 +766,8 @@ pub fn connect_popovers(gui_data: &GuiData) {
);
});

let popover_select = gui_data.popovers.popover_select.clone();
let buttons_popover_select_all_images_except_biggest = gui_data.popovers.buttons_popover_select_all_images_except_biggest.clone();
let popover_select = gui_data.popovers_select.popover_select.clone();
let buttons_popover_select_all_images_except_biggest = gui_data.popovers_select.buttons_popover_select_all_images_except_biggest.clone();
let notebook_main = gui_data.main_notebook.notebook_main.clone();
let main_tree_views = gui_data.main_notebook.get_main_tree_views();
buttons_popover_select_all_images_except_biggest.connect_clicked(move |_| {
Expand All @@ -786,8 +786,8 @@ pub fn connect_popovers(gui_data: &GuiData) {
);
});

let popover_select = gui_data.popovers.popover_select.clone();
let buttons_popover_select_all_images_except_smallest = gui_data.popovers.buttons_popover_select_all_images_except_smallest.clone();
let popover_select = gui_data.popovers_select.popover_select.clone();
let buttons_popover_select_all_images_except_smallest = gui_data.popovers_select.buttons_popover_select_all_images_except_smallest.clone();
let notebook_main = gui_data.main_notebook.notebook_main.clone();
let main_tree_views = gui_data.main_notebook.get_main_tree_views();
buttons_popover_select_all_images_except_smallest.connect_clicked(move |_| {
Expand Down
2 changes: 1 addition & 1 deletion czkawka_gui/src/connect_things/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ pub mod connect_change_language;
pub mod connect_duplicate_buttons;
pub mod connect_header_buttons;
pub mod connect_notebook_tabs;
pub mod connect_popovers;
pub mod connect_popovers_select;
pub mod connect_progress_window;
pub mod connect_selection_of_directories;
pub mod connect_settings;
Expand Down
13 changes: 10 additions & 3 deletions czkawka_gui/src/gui_structs/gui_bottom_buttons.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,18 @@ pub struct GuiBottomButtons {
pub buttons_hardlink: gtk4::Button,
pub buttons_move: gtk4::Button,
pub buttons_compare: gtk4::Button,
pub buttons_sort: gtk4::Button, // TODO This should be menu button, but I don't have prepared menu
pub buttons_sort: gtk4::MenuButton,
pub buttons_show_errors: gtk4::Button,
pub buttons_show_upper_notebook: gtk4::Button,

pub label_buttons_select: gtk4::Label,
pub label_buttons_sort: gtk4::Label,

pub buttons_names: [BottomButtonsEnum; 9],
pub buttons_array: [Widget; 9],

pub gc_buttons_select: GestureClick,
pub gc_buttons_sort: GestureClick,
}

impl GuiBottomButtons {
Expand All @@ -40,16 +42,19 @@ impl GuiBottomButtons {
let buttons_hardlink: gtk4::Button = builder.object("buttons_hardlink").unwrap();
let buttons_move: gtk4::Button = builder.object("buttons_move").unwrap();
let buttons_compare: gtk4::Button = builder.object("buttons_compare").unwrap();
let buttons_sort: gtk4::Button = builder.object("buttons_sort").unwrap();
let buttons_sort: gtk4::MenuButton = builder.object("buttons_sort").unwrap();

let buttons_show_errors: gtk4::Button = builder.object("buttons_show_errors").unwrap();
let buttons_show_upper_notebook: gtk4::Button = builder.object("buttons_show_upper_notebook").unwrap();

let label_buttons_select: gtk4::Label = builder.object("label_buttons_select").unwrap();
let label_buttons_sort: gtk4::Label = builder.object("label_buttons_sort").unwrap();

let gc_buttons_select: GestureClick = GestureClick::new();
let gc_buttons_sort: GestureClick = GestureClick::new();

buttons_select.add_controller(&gc_buttons_select);
buttons_select.add_controller(&gc_buttons_sort);

set_icon_of_button(&buttons_search, CZK_ICON_SEARCH);
set_icon_of_button(&buttons_select, CZK_ICON_SELECT);
Expand Down Expand Up @@ -104,9 +109,11 @@ impl GuiBottomButtons {
buttons_show_errors,
buttons_show_upper_notebook,
label_buttons_select,
label_buttons_sort,
buttons_names,
buttons_array,
gc_buttons_select,
gc_buttons_sort,
}
}
pub fn update_language(&self) {
Expand All @@ -117,7 +124,7 @@ impl GuiBottomButtons {
get_custom_label_from_widget(&self.buttons_symlink.clone()).set_text(&flg!("bottom_symlink_button"));
get_custom_label_from_widget(&self.buttons_move.clone()).set_text(&flg!("bottom_move_button"));
get_custom_label_from_widget(&self.buttons_hardlink.clone()).set_text(&flg!("bottom_hardlink_button"));
get_custom_label_from_widget(&self.buttons_sort.clone()).set_text(&flg!("bottom_sort_button")); // TODO change to menu button
self.label_buttons_sort.set_text(&flg!("bottom_sort_button"));

self.buttons_search.set_tooltip_text(Some(&flg!("bottom_search_button_tooltip")));
self.buttons_select.set_tooltip_text(Some(&flg!("bottom_select_button_tooltip")));
Expand Down
17 changes: 11 additions & 6 deletions czkawka_gui/src/gui_structs/gui_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ use crate::gui_structs::gui_bottom_buttons::GuiBottomButtons;
use crate::gui_structs::gui_compare_images::GuiCompareImages;
use crate::gui_structs::gui_header::GuiHeader;
use crate::gui_structs::gui_main_notebook::GuiMainNotebook;
use crate::gui_structs::gui_popovers::GuiPopovers;
use crate::gui_structs::gui_popovers_select::GuiSelectPopovers;
use crate::gui_structs::gui_popovers_sort::GuiSortPopovers;
use crate::gui_structs::gui_progress_dialog::GuiProgressDialog;
use crate::gui_structs::gui_settings::GuiSettings;
use crate::gui_structs::gui_upper_notebook::GuiUpperNotebook;
Expand Down Expand Up @@ -65,7 +66,8 @@ pub struct GuiData {

pub main_notebook: GuiMainNotebook,
pub upper_notebook: GuiUpperNotebook,
pub popovers: GuiPopovers,
pub popovers_select: GuiSelectPopovers,
pub popovers_sort: GuiSortPopovers,
pub bottom_buttons: GuiBottomButtons,
pub progress_window: GuiProgressDialog,
pub about: GuiAbout,
Expand Down Expand Up @@ -123,8 +125,9 @@ impl GuiData {

let main_notebook = GuiMainNotebook::create_from_builder(&builder);
let upper_notebook = GuiUpperNotebook::create_from_builder(&builder);
let popovers = GuiPopovers::create_from_builder();
let bottom_buttons = GuiBottomButtons::create_from_builder(&builder, &popovers.popover_select);
let popovers_select = GuiSelectPopovers::create_from_builder();
let popovers_sort = GuiSortPopovers::create_from_builder();
let bottom_buttons = GuiBottomButtons::create_from_builder(&builder, &popovers_select.popover_select);
let progress_window = GuiProgressDialog::create_from_builder(&window_main);
let about = GuiAbout::create_from_builder(&window_main, &pixbuf);
let header = GuiHeader::create_from_builder(&builder);
Expand Down Expand Up @@ -185,7 +188,8 @@ impl GuiData {
window_main,
main_notebook,
upper_notebook,
popovers,
popovers_select,
popovers_sort,
bottom_buttons,
progress_window,
about,
Expand Down Expand Up @@ -219,7 +223,8 @@ impl GuiData {

self.main_notebook.update_language();
self.upper_notebook.update_language();
self.popovers.update_language();
self.popovers_select.update_language();
self.popovers_sort.update_language();
self.bottom_buttons.update_language();
self.progress_window.update_language();
self.about.update_language();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use gtk4::Builder;
use crate::flg;

#[derive(Clone)]
pub struct GuiPopovers {
pub struct GuiSelectPopovers {
pub buttons_popover_select_all: gtk4::Button,
pub buttons_popover_unselect_all: gtk4::Button,
pub buttons_popover_reverse: gtk4::Button,
Expand All @@ -29,7 +29,7 @@ pub struct GuiPopovers {
pub popover_right_click: gtk4::Popover,
}

impl GuiPopovers {
impl GuiSelectPopovers {
pub fn create_from_builder() -> Self {
let glade_src = include_str!("../../ui/popover_select.ui").to_string();
let builder = Builder::from_string(glade_src.as_str());
Expand Down
Loading

0 comments on commit c8b96a4

Please sign in to comment.