+ if (m_view->layoutDirection() == Qt::RightToLeft) {
+ if (horizontalScrolling) {
+ // swap up and down arrow keys
+ switch (key) {
+ case Qt::Key_Up:
+ key = Qt::Key_Down;
+ break;
+ case Qt::Key_Down:
+ key = Qt::Key_Up;
+ break;
+ default:
+ break;
+ }
+ } else if (!m_view->supportsItemExpanding()) {
+ // swap left and right arrow keys
+ switch (key) {
+ case Qt::Key_Left:
+ key = Qt::Key_Right;
+ break;
+ case Qt::Key_Right:
+ key = Qt::Key_Left;
+ break;
+ default:
+ break;
+ }
+ }
+ }
+