def change_single_shortcut(code, event, shortcut_label): key_val_name = Gdk.keyval_name(event.keyval).lower() print(key_val_name) mods_list = [] state = event.get_state() if state & Gdk.ModifierType.CONTROL_MASK: mods_list.append("CTRL") if state & Gdk.ModifierType.MOD1_MASK: mods_list.append("ALT") if state & Gdk.ModifierType.SHIFT_MASK: mods_list.append("SHIFT") elif state & Gdk.ModifierType.LOCK_MASK: # CapsLock is used as an equivalent to SHIFT. mods_list.append("SHIFT") shortcut_info_str = shortcuts.get_shortcut_info_for_keyname_and_modlist( key_val_name, mods_list) if shortcuts.is_blocked_shortcut(key_val_name, mods_list): return shortcut_info_str shortcut_label.set_text(shortcut_info_str) shortcuts.change_custom_shortcut(code, key_val_name, mods_list) shortcuts.set_keyboard_shortcuts() return None
def _delete_new_kb_shortcuts_group(dialog, response_id): if response_id == Gtk.ResponseType.ACCEPT: shortcuts.delete_active_custom_shortcuts_xml() shortcuts.set_keyboard_shortcuts() guicomponents.update_shortcuts_combo(dialogs.shortcuts_combo) dialogs.display_keyboard_shortcuts(editorpersistance.prefs.shortcuts, workflow.get_tline_tool_working_set(), dialogs.scroll_hold_panel) dialog.destroy()
def keyboard_shortcuts_callback(dialog, response_id, presets_combo): selected_shortcuts_index = presets_combo.get_active() dialog.destroy() selected_xml = shortcuts.shortcut_files[selected_shortcuts_index] if selected_xml == editorpersistance.prefs.shortcuts: return editorpersistance.prefs.shortcuts = selected_xml editorpersistance.save() shortcuts.set_keyboard_shortcuts()
def keyboard_shortcuts_callback(dialog, response_id, presets_combo): selected_shortcuts_index = presets_combo.get_active() dialog.destroy() if response_id == Gtk.ResponseType.REJECT: return selected_xml = shortcuts.shortcut_files[selected_shortcuts_index] if selected_xml == editorpersistance.prefs.shortcuts: return editorpersistance.prefs.shortcuts = selected_xml shortcuts.set_keyboard_shortcuts()
def _create_new_kb_shortcuts_group(dialog, response_id, entry): if response_id != Gtk.ResponseType.REJECT: name = entry.get_text() if name == "": # No need for info dialog, user should really get this. dialog.destroy() return custom_xml_file_name = shortcuts.create_custom_shortcuts_xml(name) editorpersistance.prefs.shortcuts = custom_xml_file_name editorpersistance.save() shortcuts.shortcut_files.append(custom_xml_file_name) root = shortcuts.get_root() shortcuts.shortcut_files_display_names.append(root.get('name')) shortcuts.set_keyboard_shortcuts() guicomponents.update_shortcuts_combo(dialogs.shortcuts_combo) dialogs.display_keyboard_shortcuts(editorpersistance.prefs.shortcuts, workflow.get_tline_tool_working_set(), dialogs.scroll_hold_panel) dialog.destroy()