diff src/luan_editor/find.luan @ 70:f4e393a13d59

no find toggle
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 10 Jun 2025 22:34:24 -0600
parents 3867e9e1b94c
children
line wrap: on
line diff
--- a/src/luan_editor/find.luan	Tue Jun 10 20:47:20 2025 -0600
+++ b/src/luan_editor/find.luan	Tue Jun 10 22:34:24 2025 -0600
@@ -189,7 +189,7 @@
 				action_listener = replace_match
 			}
 			new_panel{
-				constraints = "span,wrap"
+				constraints = "span,grow,wrap"
 				layout = new_mig_layout("insets 0,gap 16px")
 				children = {
 					regex_check_box
@@ -199,22 +199,28 @@
 							browse("https://www.reactionary.software/learn.html#regex")
 						end
 					}
+					new_button{
+						constraints = "pushx, align right"
+						text = "Close"
+						action_listener = function(_)
+							window.hide_find_panel()
+						end
+					}
 				}
 			}
 		}
 	}
-	function window.show_find_panel(is_visible)
-		find_panel.is_visible = is_visible
-		if is_visible then
-			find_field.request_focus_in_window()
-			find_field.select_all()
-		else
-			text_area.clear_hightlights()
-		end
+	function window.show_find_panel()
+		find_panel.is_visible = true
+		find_field.request_focus_in_window()
+		find_field.select_all()
+	end
+	function window.hide_find_panel()
+		find_panel.is_visible = false
+		text_area.clear_hightlights()
 	end
 	function window.find_case_insensitive(_)
-		find_panel.visible = true
-		window.find_menu_item.is_selected = true
+		find_panel.is_visible = true
 		regex_check_box.is_selected = true
 		find_field.text = "(?i)\Q\E"
 		find_field.set_selection(7)
@@ -222,8 +228,7 @@
 		status_bar.text = [[Put search text between "\Q" and "\E"]]
 	end
 	function window.tabs_to_spaces(_)
-		find_panel.visible = true
-		window.find_menu_item.is_selected = true
+		find_panel.is_visible = true
 		regex_check_box.is_selected = true
 		find_field.text = [[(?m)^(\t*)\t]]
 		local spaces = repeated( " ", text_area.tab_size )
@@ -231,8 +236,7 @@
 		status_bar.text = [[Do "Replace All" until 0 replacements]]
 	end
 	function window.spaces_to_tabs(_)
-		find_panel.visible = true
-		window.find_menu_item.is_selected = true
+		find_panel.is_visible = true
 		regex_check_box.is_selected = true
 		local tab_size = text_area.tab_size
 		find_field.text = `%>(?m)^(( {<%=tab_size%>})*) {<%=tab_size%>}<%`