From 8ad0b907ec35af4c523b6660397655d2a1b6350c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mikrut?= <41945903+qarmin@users.noreply.github.com> Date: Thu, 11 Mar 2021 14:31:41 +0100 Subject: [PATCH] Open file when clicking at the Enter button (#285) --- czkawka_gui/src/double_click_opening.rs | 64 ++++++++++++++++++++++++- czkawka_gui/src/initialize_gui.rs | 10 ++++ 2 files changed, 72 insertions(+), 2 deletions(-) diff --git a/czkawka_gui/src/double_click_opening.rs b/czkawka_gui/src/double_click_opening.rs index fc8ef05..2972d84 100644 --- a/czkawka_gui/src/double_click_opening.rs +++ b/czkawka_gui/src/double_click_opening.rs @@ -11,6 +11,12 @@ pub fn opening_double_click_function_duplicates(tree_view: >k::TreeView, event } gtk::Inhibit(false) } +pub fn opening_enter_function_duplicates(tree_view: >k::TreeView, event: &gdk::EventKey) -> gtk::Inhibit { + if event.get_keycode() == Some(36) { + common_open_function(tree_view, ColumnsDuplicates::Name as i32, ColumnsDuplicates::Path as i32, OpenMode::PathAndName); + } + gtk::Inhibit(false) +} pub fn opening_double_click_function_empty_folders(tree_view: >k::TreeView, event: &gdk::EventButton) -> gtk::Inhibit { if event.get_event_type() == gdk::EventType::DoubleButtonPress && event.get_button() == 1 { @@ -20,6 +26,12 @@ pub fn opening_double_click_function_empty_folders(tree_view: >k::TreeView, ev } gtk::Inhibit(false) } +pub fn opening_enter_function_empty_folders(tree_view: >k::TreeView, event: &gdk::EventKey) -> gtk::Inhibit { + if event.get_keycode() == Some(36) { + common_open_function(tree_view, ColumnsEmptyFolders::Name as i32, ColumnsEmptyFolders::Path as i32, OpenMode::PathAndName); + } + gtk::Inhibit(false) +} pub fn opening_double_click_function_empty_files(tree_view: >k::TreeView, event: &gdk::EventButton) -> gtk::Inhibit { if event.get_event_type() == gdk::EventType::DoubleButtonPress && event.get_button() == 1 { common_open_function(tree_view, ColumnsEmptyFiles::Name as i32, ColumnsEmptyFiles::Path as i32, OpenMode::PathAndName); @@ -28,6 +40,12 @@ pub fn opening_double_click_function_empty_files(tree_view: >k::TreeView, even } gtk::Inhibit(false) } +pub fn opening_enter_function_empty_files(tree_view: >k::TreeView, event: &gdk::EventKey) -> gtk::Inhibit { + if event.get_keycode() == Some(36) { + common_open_function(tree_view, ColumnsEmptyFiles::Name as i32, ColumnsEmptyFiles::Path as i32, OpenMode::PathAndName); + } + gtk::Inhibit(false) +} pub fn opening_double_click_function_temporary_files(tree_view: >k::TreeView, event: &gdk::EventButton) -> gtk::Inhibit { if event.get_event_type() == gdk::EventType::DoubleButtonPress && event.get_button() == 1 { @@ -37,6 +55,12 @@ pub fn opening_double_click_function_temporary_files(tree_view: >k::TreeView, } gtk::Inhibit(false) } +pub fn opening_enter_function_temporary_files(tree_view: >k::TreeView, event: &gdk::EventKey) -> gtk::Inhibit { + if event.get_keycode() == Some(36) { + common_open_function(tree_view, ColumnsTemporaryFiles::Name as i32, ColumnsTemporaryFiles::Path as i32, OpenMode::PathAndName); + } + gtk::Inhibit(false) +} pub fn opening_double_click_function_big_files(tree_view: >k::TreeView, event: &gdk::EventButton) -> gtk::Inhibit { if event.get_event_type() == gdk::EventType::DoubleButtonPress && event.get_button() == 1 { @@ -46,6 +70,12 @@ pub fn opening_double_click_function_big_files(tree_view: >k::TreeView, event: } gtk::Inhibit(false) } +pub fn opening_enter_function_big_files(tree_view: >k::TreeView, event: &gdk::EventKey) -> gtk::Inhibit { + if event.get_keycode() == Some(36) { + common_open_function(tree_view, ColumnsBigFiles::Name as i32, ColumnsBigFiles::Path as i32, OpenMode::PathAndName); + } + gtk::Inhibit(false) +} pub fn opening_double_click_function_zeroed_files(tree_view: >k::TreeView, event: &gdk::EventButton) -> gtk::Inhibit { if event.get_event_type() == gdk::EventType::DoubleButtonPress && event.get_button() == 1 { @@ -55,6 +85,12 @@ pub fn opening_double_click_function_zeroed_files(tree_view: >k::TreeView, eve } gtk::Inhibit(false) } +pub fn opening_enter_function_zeroed_files(tree_view: >k::TreeView, event: &gdk::EventKey) -> gtk::Inhibit { + if event.get_keycode() == Some(36) { + common_open_function(tree_view, ColumnsZeroedFiles::Name as i32, ColumnsZeroedFiles::Path as i32, OpenMode::PathAndName); + } + gtk::Inhibit(false) +} pub fn opening_double_click_function_same_music(tree_view: >k::TreeView, event: &gdk::EventButton) -> gtk::Inhibit { if event.get_event_type() == gdk::EventType::DoubleButtonPress && event.get_button() == 1 { @@ -64,6 +100,12 @@ pub fn opening_double_click_function_same_music(tree_view: >k::TreeView, event } gtk::Inhibit(false) } +pub fn opening_enter_function_same_music(tree_view: >k::TreeView, event: &gdk::EventKey) -> gtk::Inhibit { + if event.get_keycode() == Some(36) { + common_open_function(tree_view, ColumnsSameMusic::Name as i32, ColumnsSameMusic::Path as i32, OpenMode::PathAndName); + } + gtk::Inhibit(false) +} pub fn opening_double_click_function_similar_images(tree_view: >k::TreeView, event: &gdk::EventButton) -> gtk::Inhibit { if event.get_event_type() == gdk::EventType::DoubleButtonPress && event.get_button() == 1 { @@ -73,6 +115,12 @@ pub fn opening_double_click_function_similar_images(tree_view: >k::TreeView, e } gtk::Inhibit(false) } +pub fn opening_enter_function_similar_images(tree_view: >k::TreeView, event: &gdk::EventKey) -> gtk::Inhibit { + if event.get_keycode() == Some(36) { + common_open_function(tree_view, ColumnsSimilarImages::Name as i32, ColumnsSimilarImages::Path as i32, OpenMode::PathAndName); + } + gtk::Inhibit(false) +} pub fn opening_double_click_function_invalid_symlinks(tree_view: >k::TreeView, event: &gdk::EventButton) -> gtk::Inhibit { if event.get_event_type() == gdk::EventType::DoubleButtonPress && event.get_button() == 1 { @@ -82,12 +130,24 @@ pub fn opening_double_click_function_invalid_symlinks(tree_view: >k::TreeView, } gtk::Inhibit(false) } +pub fn opening_enter_function_invalid_symlinks(tree_view: >k::TreeView, event: &gdk::EventKey) -> gtk::Inhibit { + if event.get_keycode() == Some(36) { + common_open_function(tree_view, ColumnsInvalidSymlinks::Name as i32, ColumnsInvalidSymlinks::Path as i32, OpenMode::PathAndName); + } + gtk::Inhibit(false) +} pub fn opening_double_click_function_broken_files(tree_view: >k::TreeView, event: &gdk::EventButton) -> gtk::Inhibit { if event.get_event_type() == gdk::EventType::DoubleButtonPress && event.get_button() == 1 { - common_open_function(tree_view, ColumnsInvalidSymlinks::Name as i32, ColumnsInvalidSymlinks::Path as i32, OpenMode::PathAndName); + common_open_function(tree_view, ColumnsBrokenFiles::Name as i32, ColumnsBrokenFiles::Path as i32, OpenMode::PathAndName); } else if event.get_event_type() == gdk::EventType::DoubleButtonPress && event.get_button() == 3 { - common_open_function(tree_view, ColumnsInvalidSymlinks::Name as i32, ColumnsInvalidSymlinks::Path as i32, OpenMode::OnlyPath); + common_open_function(tree_view, ColumnsBrokenFiles::Name as i32, ColumnsBrokenFiles::Path as i32, OpenMode::OnlyPath); + } + gtk::Inhibit(false) +} +pub fn opening_enter_function_broken_files(tree_view: >k::TreeView, event: &gdk::EventKey) -> gtk::Inhibit { + if event.get_keycode() == Some(36) { + common_open_function(tree_view, ColumnsBrokenFiles::Name as i32, ColumnsBrokenFiles::Path as i32, OpenMode::PathAndName); } gtk::Inhibit(false) } diff --git a/czkawka_gui/src/initialize_gui.rs b/czkawka_gui/src/initialize_gui.rs index bc49e42..ab2de03 100644 --- a/czkawka_gui/src/initialize_gui.rs +++ b/czkawka_gui/src/initialize_gui.rs @@ -70,6 +70,7 @@ pub fn initialize_gui(gui_data: &mut GuiData) { create_tree_view_duplicates(&mut tree_view); tree_view.connect_button_press_event(opening_double_click_function_duplicates); + tree_view.connect_key_press_event(opening_enter_function_duplicates); tree_view.connect_button_release_event(move |_tree_view, _e| { // println!("{}", e.get_button()); @@ -114,6 +115,7 @@ pub fn initialize_gui(gui_data: &mut GuiData) { create_tree_view_empty_folders(&mut tree_view); tree_view.connect_button_press_event(opening_double_click_function_empty_folders); + tree_view.connect_key_press_event(opening_enter_function_empty_folders); gui_data.main_notebook.tree_view_empty_folder_finder = tree_view.clone(); scrolled_window_empty_folder_finder.add(&tree_view); @@ -142,6 +144,7 @@ pub fn initialize_gui(gui_data: &mut GuiData) { create_tree_view_empty_files(&mut tree_view); tree_view.connect_button_press_event(opening_double_click_function_empty_files); + tree_view.connect_key_press_event(opening_enter_function_empty_files); gui_data.main_notebook.tree_view_empty_files_finder = tree_view.clone(); scrolled_window_empty_files_finder.add(&tree_view); @@ -170,6 +173,7 @@ pub fn initialize_gui(gui_data: &mut GuiData) { create_tree_view_temporary_files(&mut tree_view); tree_view.connect_button_press_event(opening_double_click_function_temporary_files); + tree_view.connect_key_press_event(opening_enter_function_temporary_files); gui_data.main_notebook.tree_view_temporary_files_finder = tree_view.clone(); scrolled_window_temporary_files_finder.add(&tree_view); @@ -198,6 +202,7 @@ pub fn initialize_gui(gui_data: &mut GuiData) { create_tree_view_big_files(&mut tree_view); tree_view.connect_button_press_event(opening_double_click_function_big_files); + tree_view.connect_key_press_event(opening_enter_function_big_files); gui_data.main_notebook.tree_view_big_files_finder = tree_view.clone(); scrolled_window_big_files_finder.add(&tree_view); @@ -241,6 +246,7 @@ pub fn initialize_gui(gui_data: &mut GuiData) { create_tree_view_similar_images(&mut tree_view); tree_view.connect_button_press_event(opening_double_click_function_similar_images); + tree_view.connect_key_press_event(opening_enter_function_similar_images); tree_view.connect_button_release_event(move |tree_view, _event| { show_preview(tree_view, &text_view_errors, &check_button_settings_show_preview_similar_images, &image_preview_similar_images); gtk::Inhibit(false) @@ -289,6 +295,7 @@ pub fn initialize_gui(gui_data: &mut GuiData) { create_tree_view_zeroed_files(&mut tree_view); tree_view.connect_button_press_event(opening_double_click_function_zeroed_files); + tree_view.connect_key_press_event(opening_enter_function_zeroed_files); gui_data.main_notebook.tree_view_zeroed_files_finder = tree_view.clone(); scrolled_window_zeroed_files_finder.add(&tree_view); @@ -332,6 +339,7 @@ pub fn initialize_gui(gui_data: &mut GuiData) { tree_view.get_selection().set_select_function(Some(Box::new(select_function_same_music))); tree_view.connect_button_press_event(opening_double_click_function_same_music); + tree_view.connect_key_press_event(opening_enter_function_same_music); gui_data.main_notebook.tree_view_same_music_finder = tree_view.clone(); scrolled_window_same_music_finder.add(&tree_view); @@ -371,6 +379,7 @@ pub fn initialize_gui(gui_data: &mut GuiData) { create_tree_view_invalid_symlinks(&mut tree_view); tree_view.connect_button_press_event(opening_double_click_function_invalid_symlinks); + tree_view.connect_key_press_event(opening_enter_function_invalid_symlinks); gui_data.main_notebook.tree_view_invalid_symlinks = tree_view.clone(); scrolled_window_invalid_symlinks.add(&tree_view); @@ -399,6 +408,7 @@ pub fn initialize_gui(gui_data: &mut GuiData) { create_tree_view_broken_files(&mut tree_view); tree_view.connect_button_press_event(opening_double_click_function_broken_files); + tree_view.connect_key_press_event(opening_enter_function_broken_files); gui_data.main_notebook.tree_view_broken_files = tree_view.clone(); scrolled_window_broken_files.add(&tree_view);