@@ -26,8 +26,7 @@ class MarketplaceModal(Widget):
2626 Binding ("p" , "preview_plugin" , "Preview" , show = False ),
2727 Binding ("j" , "cursor_down" , "Down" , show = False ),
2828 Binding ("k" , "cursor_up" , "Up" , show = False ),
29- Binding ("enter" , "select_node" , "Select" , show = False , priority = True ),
30- Binding ("space" , "select_node" , "Toggle" , show = False ),
29+ Binding ("space" , "toggle_node" , "Toggle" , show = False ),
3130 Binding ("right" , "expand_node" , "Expand" , show = False ),
3231 Binding ("l" , "expand_node" , "Expand" , show = False ),
3332 Binding ("left" , "collapse_node" , "Collapse" , show = False ),
@@ -169,7 +168,7 @@ def _update_footer(self, data: MarketplacePlugin | Marketplace | None) -> None:
169168 )
170169 elif isinstance (data , Marketplace ):
171170 footer .update (
172- "[bold]Enter [/] Expand [bold]u[/] Update "
171+ "[bold]Space [/] Toggle [bold]u[/] Update "
173172 "[bold]/[/] Search [bold]Esc[/] Close"
174173 )
175174 else :
@@ -179,21 +178,23 @@ def set_loader(self, loader: MarketplaceLoader) -> None:
179178 """Set the marketplace loader."""
180179 self ._loader = loader
181180
182- def show (self ) -> None :
181+ def show (self , preserve_state : bool = False ) -> None :
183182 """Show the modal and load marketplace data."""
184- self ._load_data ()
185- self ._build_tree ()
183+ if not preserve_state :
184+ self ._load_data ()
185+ self ._build_tree ()
186186 self .add_class ("visible" )
187187 if self ._tree :
188188 self ._tree .focus ()
189189
190- def hide (self ) -> None :
190+ def hide (self , preserve_state : bool = False ) -> None :
191191 """Hide the modal."""
192192 self .remove_class ("visible" )
193- self ._filter_query = ""
194- if self ._filter_input :
195- self ._filter_input .clear ()
196- self ._filter_input .hide ()
193+ if not preserve_state :
194+ self ._filter_query = ""
195+ if self ._filter_input :
196+ self ._filter_input .clear ()
197+ self ._filter_input .hide ()
197198
198199 def _load_data (self ) -> None :
199200 """Load marketplace data from the loader."""
@@ -395,15 +396,9 @@ def action_cursor_up(self) -> None:
395396 if self ._tree :
396397 self ._tree .action_cursor_up ()
397398
398- def action_select_node (self ) -> None :
399- """Toggle node expansion or preview plugin."""
400- if not self ._tree :
401- return
402-
403- node = self ._tree .cursor_node
404- if node and isinstance (node .data , MarketplacePlugin ):
405- self .post_message (self .PluginPreview (node .data ))
406- else :
399+ def action_toggle_node (self ) -> None :
400+ """Toggle node expansion."""
401+ if self ._tree :
407402 self ._tree .action_select_cursor ()
408403
409404 def action_expand_node (self ) -> None :
0 commit comments