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; event->hardware_keycode=119;
} }
else if(event->keyval==GDK_KEY_Up) { else if(event->keyval==GDK_KEY_Up) {
if(auto text_view=dynamic_cast<Gtk::TextView*>(get_focus())) { event->keyval=GDK_KEY_Home;
if(event->state & GDK_SHIFT_MASK) event->state=event->state & GDK_SHIFT_MASK;
text_view->get_buffer()->select_range(text_view->get_buffer()->begin(), text_view->get_buffer()->get_insert()->get_iter()); event->state+=GDK_CONTROL_MASK;
else event->hardware_keycode=115;
text_view->get_buffer()->place_cursor(text_view->get_buffer()->begin());
text_view->scroll_to(text_view->get_buffer()->get_insert());
}
return true;
} }
else if(event->keyval==GDK_KEY_Down) { else if(event->keyval==GDK_KEY_Down) {
if(auto text_view=dynamic_cast<Gtk::TextView*>(get_focus())) { event->keyval=GDK_KEY_End;
if(event->state & GDK_SHIFT_MASK) event->state=event->state & GDK_SHIFT_MASK;
text_view->get_buffer()->select_range(text_view->get_buffer()->end(), text_view->get_buffer()->get_insert()->get_iter()); event->state+=GDK_CONTROL_MASK;
else event->hardware_keycode=119;
text_view->get_buffer()->place_cursor(text_view->get_buffer()->end());
text_view->scroll_to(text_view->get_buffer()->get_insert());
}
return true;
} }
} }
#endif #endif

Loading…
Cancel
Save