| 884 | } |
| 885 | |
| 886 | Uint32 UIDiffView::onKeyDown( const KeyEvent& event ) { |
| 887 | auto editor = mViewMode == ViewMode::Unified ? mEditor : mRightEditor; |
| 888 | |
| 889 | const auto moveLinesOffset = [editor]( int numLines ) { |
| 890 | Int64 curLine = static_cast<Int64>( editor->getVisibleLineRange().first ); |
| 891 | Int64 line = curLine + numLines; |
| 892 | editor->scrollToVisibleIndex( |
| 893 | std::clamp( line, (Int64)0, (Int64)editor->getTotalVisibleLines() ), false, true ); |
| 894 | }; |
| 895 | |
| 896 | if ( !event.getSanitizedMod() ) { |
| 897 | if ( event.getKeyCode() == Window::KEY_PAGEDOWN ) { |
| 898 | moveLinesOffset( editor->getViewPortLineCount().y ); |
| 899 | } else if ( event.getKeyCode() == Window::KEY_PAGEUP ) { |
| 900 | moveLinesOffset( -editor->getViewPortLineCount().y ); |
| 901 | } else if ( event.getKeyCode() == Window::KEY_DOWN ) { |
| 902 | moveLinesOffset( 1 ); |
| 903 | } else if ( event.getKeyCode() == Window::KEY_UP ) { |
| 904 | moveLinesOffset( -1 ); |
| 905 | } else if ( event.getKeyCode() == Window::KEY_HOME ) { |
| 906 | editor->scrollToVisibleIndex( 0, false, true ); |
| 907 | } else if ( event.getKeyCode() == Window::KEY_END ) { |
| 908 | editor->scrollToVisibleIndex( (Int64)editor->getTotalVisibleLines(), false, true ); |
| 909 | } |
| 910 | } |
| 911 | |
| 912 | return UIWidget::onKeyDown( event ); |
| 913 | } |
| 914 | |
| 915 | }}} // namespace EE::UI::Tools |
nothing calls this directly
no test coverage detected