|
|
|
|
@ -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 |
|
|
|
|
|