MCPcopy Create free account
hub / github.com/BuddySirJava/SSH-Studio / _on_key_pressed

Method _on_key_pressed

src/ui/main_window.py:258–354  ·  view source on GitHub ↗
(self, controller, keyval, keycode, state)

Source from the content-addressed store, hash-verified

256 self._toggle_search()
257
258 def _on_key_pressed(self, controller, keyval, keycode, state):
259 ctrl_pressed = bool(state & Gdk.ModifierType.CONTROL_MASK)
260
261 if ctrl_pressed:
262 if keyval == Gdk.KEY_o:
263 self._on_open_config(None, None)
264 return True
265 elif keyval == Gdk.KEY_s:
266 self._on_save_clicked(None)
267 return True
268 elif keyval == Gdk.KEY_r:
269 self._on_reload(None, None)
270 return True
271 elif keyval == Gdk.KEY_n:
272 if hasattr(self.host_editor, "_on_add_clicked"):
273 self.host_editor._on_add_clicked(None)
274 return True
275 elif keyval == Gdk.KEY_d:
276 if hasattr(self.host_editor, "_on_duplicate_clicked"):
277 self.host_editor._on_duplicate_clicked(None)
278 return True
279 elif keyval == Gdk.KEY_f:
280 self._toggle_search()
281 return True
282 elif keyval == Gdk.KEY_comma:
283 self._on_preferences(None, None)
284 return True
285 elif keyval == Gdk.KEY_k:
286 self._on_manage_keys(None, None)
287 return True
288
289 if ctrl_pressed and keyval == Gdk.KEY_Delete:
290 if hasattr(self.host_editor, "_on_delete_clicked"):
291 self.host_editor._on_delete_clicked(None)
292 return True
293
294 if keyval == Gdk.KEY_Escape:
295 if self.host_list.search_bar.get_visible():
296 try:
297 focus_widget = None
298 try:
299 focus_widget = self.get_focus()
300 except Exception:
301 focus_widget = None
302
303 def _is_descendant(widget, ancestor):
304 try:
305 while widget is not None:
306 if widget == ancestor:
307 return True
308 widget = widget.get_parent()
309 except Exception:
310 pass
311 return False
312
313 if not _is_descendant(focus_widget, self.host_list.search_bar):
314 return False
315

Callers

nothing calls this directly

Calls 14

_on_open_configMethod · 0.95
_on_save_clickedMethod · 0.95
_on_reloadMethod · 0.95
_toggle_searchMethod · 0.95
_on_preferencesMethod · 0.95
_on_manage_keysMethod · 0.95
_on_add_clickedMethod · 0.80
_on_duplicate_clickedMethod · 0.80
filter_hostsMethod · 0.80
get_selected_hostMethod · 0.80
load_hostMethod · 0.80

Tested by

no test coverage detected