~gerboland/unity-2d/testability-test-fixes

« back to all changes in this revision

Viewing changes to shell/app/shelldeclarativeview.cpp

Small improvement for ShellDeclarativeView::updateShellPosition. Fixes: . Approved by Michał Sawicz.

Show diffs side-by-side

added added

removed removed

Lines of Context:
115
115
    const QRect availableGeometry = m_screenInfo->availableGeometry();
116
116
    QPoint posToMove = availableGeometry.topLeft();
117
117
    if (qApp->isRightToLeft()) {
118
 
        posToMove.setX(availableGeometry.width() - width());
 
118
        posToMove.rx() += (availableGeometry.width() - width());
119
119
    }
120
120
 
121
 
    QList<StrutManager *> strutManagers = rootObject()->findChildren<StrutManager*>();
122
 
    Q_FOREACH(StrutManager *strutManager, strutManagers) {
123
 
        if (strutManager->enabled()) {
124
 
            // Do not push ourselves
125
 
            switch (strutManager->edge()) {
126
 
                case Unity2dPanel::TopEdge:
127
 
                    posToMove.ry() -= strutManager->realHeight();
128
 
                break;
 
121
    if (rootObject() != NULL) {
 
122
        QList<StrutManager *> strutManagers = rootObject()->findChildren<StrutManager*>();
 
123
        Q_FOREACH(StrutManager *strutManager, strutManagers) {
 
124
            if (strutManager->enabled()) {
 
125
                // Do not push ourselves
 
126
                switch (strutManager->edge()) {
 
127
                    case Unity2dPanel::TopEdge:
 
128
                        posToMove.ry() -= strutManager->realHeight();
 
129
                    break;
129
130
 
130
 
                case Unity2dPanel::LeftEdge:
131
 
                    if (qApp->isLeftToRight()) {
132
 
                        posToMove.rx() -= strutManager->realWidth();
133
 
                    } else {
134
 
                        posToMove.rx() += strutManager->realWidth();
135
 
                    }
136
 
                break;
 
131
                    case Unity2dPanel::LeftEdge:
 
132
                        if (qApp->isLeftToRight()) {
 
133
                            posToMove.rx() -= strutManager->realWidth();
 
134
                        } else {
 
135
                            posToMove.rx() += strutManager->realWidth();
 
136
                        }
 
137
                    break;
 
138
                }
137
139
            }
138
140
        }
139
141
    }