summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2018-07-30 13:12:43 +0200
committerXisco FaulĂ­ <xiscofauli@libreoffice.org>2018-07-31 11:10:21 +0200
commitb917fe54aa1ab2b39d7a0b6ed7f66fc9c4f6d74e (patch)
tree9c0d451da198b4f6d2e219a9cddfe1e08d38f072 /sw
parent47b820d17c5fcab61e8db0f19b9b9b357c29f97c (diff)
tdf#118971: allow arrow keys to move images or drawing objects
Partially revert 2d5ce0e1b233c83f91481cd6b9306ac8de7f5ff8 Change-Id: Ie4c91529c1ce878f4b0474d815a3a88ed48769c2 Reviewed-on: https://gerrit.libreoffice.org/58318 Reviewed-by: Heiko Tietze <tietze.heiko@gmail.com> Tested-by: Heiko Tietze <tietze.heiko@gmail.com> Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit e1d73cb5552c2566c6d7463ce001e555523f3d92) Reviewed-on: https://gerrit.libreoffice.org/58342 Reviewed-by: Xisco FaulĂ­ <xiscofauli@libreoffice.org>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/uibase/docvw/edtwin.cxx30
1 files changed, 26 insertions, 4 deletions
diff --git a/sw/source/uibase/docvw/edtwin.cxx b/sw/source/uibase/docvw/edtwin.cxx
index 5e509ee18ec3..3be0d47726de 100644
--- a/sw/source/uibase/docvw/edtwin.cxx
+++ b/sw/source/uibase/docvw/edtwin.cxx
@@ -1768,7 +1768,11 @@ KEYINPUT_CHECKTABLE:
eFlyState = SwKeyState::Fly_Change;
nDir = MOVE_LEFT_BIG;
}
- break;
+ goto KEYINPUT_CHECKTABLE_INSDEL;
+ }
+ case KEY_RIGHT | KEY_MOD1:
+ {
+ goto KEYINPUT_CHECKTABLE_INSDEL;
}
case KEY_UP:
case KEY_UP | KEY_MOD1:
@@ -1779,7 +1783,7 @@ KEYINPUT_CHECKTABLE:
eFlyState = SwKeyState::Fly_Change;
nDir = MOVE_UP_BIG;
}
- break;
+ goto KEYINPUT_CHECKTABLE_INSDEL;
}
case KEY_DOWN:
case KEY_DOWN | KEY_MOD1:
@@ -1790,8 +1794,26 @@ KEYINPUT_CHECKTABLE:
eFlyState = SwKeyState::Fly_Change;
nDir = MOVE_DOWN_BIG;
}
- break;
+ goto KEYINPUT_CHECKTABLE_INSDEL;
+ }
+
+KEYINPUT_CHECKTABLE_INSDEL:
+ if( rSh.IsTableMode() || !rSh.GetTableFormat() )
+ {
+ const SelectionType nSelectionType = rSh.GetSelectionType();
+
+ eKeyState = SwKeyState::KeyToView;
+ if(SwKeyState::KeyToView != eFlyState)
+ {
+ if((nSelectionType & (SelectionType::DrawObject|SelectionType::DbForm)) &&
+ rSh.GetDrawView()->AreObjectsMarked())
+ eKeyState = SwKeyState::Draw_Change;
+ else if(nSelectionType & (SelectionType::Frame|SelectionType::Ole|SelectionType::Graphic))
+ eKeyState = SwKeyState::Fly_Change;
+ }
}
+ break;
+
case KEY_DELETE:
if ( !rSh.HasReadonlySel() || rSh.CursorInsideInputField())
@@ -1968,7 +1990,7 @@ KEYINPUT_CHECKTABLE:
{
eFlyState = SwKeyState::Fly_Change;
nDir = MOVE_RIGHT_BIG;
- break;
+ goto KEYINPUT_CHECKTABLE_INSDEL;
}
case KEY_TAB:
{