def add_shortcuts(self, plugin, holder): for name, accel, category, desc, callback in holder.shortcuts: shortcut = Shortcut(name, accel, category, desc) shortcut.callback = callback path = register_shortcut(name, accel, category, desc) self.plugin_by_path[path] = (plugin, shortcut) self.shortcuts_by_plugins.setdefault(plugin, []).append(shortcut)
def __init__(self, session): super(TabbedEditorManager, self).__init__(session) self.last_switch_time = None self.panels = weakref.WeakKeyDictionary() self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.connect('delete-event', self.on_delete_event) self.window.set_property('default-width', 800) self.window.set_property('default-height', 500) self.activator = ContextShortcutActivator(self.window, self.get_context) self.main_pane = gtk.VPaned() self.main_pane_position_set = False self.window.add(self.main_pane) self.note = gtk.Notebook() self.note.set_show_tabs(self.snaked_conf['SHOW_TABS']) self.note.set_scrollable(True) self.note.set_property('tab-hborder', 10) self.note.set_property('homogeneous', False) self.note.connect_after('switch-page', self.on_switch_page) self.note.connect('page_removed', self.on_page_removed) self.note.connect('page_reordered', self.on_page_reordered) self.note.props.tab_pos = tab_bar_pos_mapping.get( self.snaked_conf['TAB_BAR_PLACEMENT'], gtk.POS_TOP) self.main_pane.add1(self.note) register_shortcut('toggle-tabs-visibility', '<alt>F11', 'Window', 'Toggles tabs visibility') register_shortcut('next-editor', '<alt>Right', 'Window', 'Switches to next editor') register_shortcut('prev-editor', '<alt>Left', 'Window', 'Switches to previous editor') register_shortcut('next-editor-alt', '<ctrl>Page_Down', 'Window', 'Switches to next editor') register_shortcut('prev-editor-alt', '<ctrl>Page_Up', 'Window', 'Switches to previous editor') register_shortcut('move-tab-left', '<shift><ctrl>Page_Up', 'Window', 'Move tab to the left') register_shortcut('move-tab-right', '<shift><ctrl>Page_Down', 'Window', 'Move tab to the right') register_shortcut('fullscreen', 'F11', 'Window', 'Toggles fullscreen mode') register_shortcut('toggle-console', '<alt>grave', 'Window', 'Toggles console') if self.snaked_conf['RESTORE_POSITION'] and 'LAST_POSITION' in self.snaked_conf: pos, size = self.snaked_conf['LAST_POSITION'] self.window.move(*pos) self.window.resize(*size) self.window.show_all() if self.snaked_conf['FULLSCREEN']: self.window.fullscreen()