Skip to content

Commit b73a7be

Browse files
committed
sourceview: Fix Ctrl+Page Up/Down bindings override in textview
We want to be using the standard GtkNotebook bindings for switching pages here, but were getting the GtkTextView horizontal scrolling bindings instead.
1 parent f0442f7 commit b73a7be

1 file changed

Lines changed: 13 additions & 3 deletions

File tree

meld/sourceview.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,16 +175,26 @@ def set_show_line_numbers(self, show):
175175
(Gdk.KEY_KP_Left, Gdk.ModifierType.MOD1_MASK),
176176
(Gdk.KEY_Right, Gdk.ModifierType.MOD1_MASK),
177177
(Gdk.KEY_KP_Right, Gdk.ModifierType.MOD1_MASK),
178+
# ...and Ctrl+Page Up/Down
179+
(Gdk.KEY_Page_Up, Gdk.ModifierType.CONTROL_MASK),
180+
(Gdk.KEY_KP_Page_Up, Gdk.ModifierType.CONTROL_MASK),
181+
(Gdk.KEY_Page_Down, Gdk.ModifierType.CONTROL_MASK),
182+
(Gdk.KEY_KP_Page_Down, Gdk.ModifierType.CONTROL_MASK),
178183
)
179184

180185
def __init__(self, *args, **kwargs):
181186
super().__init__(*args, **kwargs)
182187

183188
self.drag_dest_add_uri_targets()
184189

185-
binding_set = Gtk.binding_set_find('GtkSourceView')
186-
for key, modifiers in self.replaced_entries:
187-
Gtk.binding_entry_remove(binding_set, key, modifiers)
190+
# Most bindings are on SourceView, except the Page Up/Down ones
191+
# which are on TextView.
192+
binding_set_names = ('GtkSourceView', 'GtkTextView')
193+
for set_name in binding_set_names:
194+
binding_set = Gtk.binding_set_find(set_name)
195+
for key, modifiers in self.replaced_entries:
196+
Gtk.binding_entry_remove(binding_set, key, modifiers)
197+
188198
self.anim_source_id = None
189199
self.animating_chunks = []
190200
self.syncpoints = []

0 commit comments

Comments
 (0)