Browse Source

Minor fix to apple+arrow keys on OS X.

merge-requests/365/head
eidheim 11 years ago
parent
commit
5096474944
  1. 24
      src/window.cc

24
src/window.cc

@ -230,24 +230,16 @@ bool Window::on_key_press_event(GdkEventKey *event) {
event->hardware_keycode=119;
}
else if(event->keyval==GDK_KEY_Up) {
if(auto text_view=dynamic_cast<Gtk::TextView*>(get_focus())) {
if(event->state & GDK_SHIFT_MASK)
text_view->get_buffer()->select_range(text_view->get_buffer()->begin(), text_view->get_buffer()->get_insert()->get_iter());
else
text_view->get_buffer()->place_cursor(text_view->get_buffer()->begin());
text_view->scroll_to(text_view->get_buffer()->get_insert());
}
return true;
event->keyval=GDK_KEY_Home;
event->state=event->state & GDK_SHIFT_MASK;
event->state+=GDK_CONTROL_MASK;
event->hardware_keycode=115;
}
else if(event->keyval==GDK_KEY_Down) {
if(auto text_view=dynamic_cast<Gtk::TextView*>(get_focus())) {
if(event->state & GDK_SHIFT_MASK)
text_view->get_buffer()->select_range(text_view->get_buffer()->end(), text_view->get_buffer()->get_insert()->get_iter());
else
text_view->get_buffer()->place_cursor(text_view->get_buffer()->end());
text_view->scroll_to(text_view->get_buffer()->get_insert());
}
return true;
event->keyval=GDK_KEY_End;
event->state=event->state & GDK_SHIFT_MASK;
event->state+=GDK_CONTROL_MASK;
event->hardware_keycode=119;
}
}
#endif

Loading…
Cancel
Save