Use (set)GeometryRestore() instead of geom_restore in Client::setQuickTileMode

Preparation step to move the implementation to AbstractClient.
This commit is contained in:
Martin Gräßlin 2015-10-13 13:56:07 +02:00
parent 15f5886426
commit 61caf788e3

View file

@ -3238,7 +3238,7 @@ void Client::setQuickTileMode(QuickTileMode mode, bool keyboard)
if (maximizeMode() == MaximizeFull) { if (maximizeMode() == MaximizeFull) {
setMaximize(false, false); setMaximize(false, false);
} else { } else {
QRect prev_geom_restore = geom_restore; // setMaximize() would set moveResizeGeom as geom_restore QRect prev_geom_restore = geometryRestore(); // setMaximize() would set moveResizeGeom as geom_restore
setMaximize(true, true); setMaximize(true, true);
QRect clientArea = workspace()->clientArea(MaximizeArea, this); QRect clientArea = workspace()->clientArea(MaximizeArea, this);
if (geometry().top() != clientArea.top()) { if (geometry().top() != clientArea.top()) {
@ -3247,7 +3247,7 @@ void Client::setQuickTileMode(QuickTileMode mode, bool keyboard)
setGeometry(r); setGeometry(r);
} }
quick_tile_mode = QuickTileMaximize; quick_tile_mode = QuickTileMaximize;
geom_restore = prev_geom_restore; setGeometryRestore(prev_geom_restore);
} }
emit quickTileModeChanged(); emit quickTileModeChanged();
return; return;
@ -3320,7 +3320,7 @@ void Client::setQuickTileMode(QuickTileMode mode, bool keyboard)
mode = QuickTileNone; // No other screens, toggle tiling mode = QuickTileNone; // No other screens, toggle tiling
} else { } else {
// Move to other screen // Move to other screen
geom_restore.translate(screens[nextScreen].topLeft() - screens[curScreen].topLeft()); setGeometry(geometryRestore().translated(screens[nextScreen].topLeft() - screens[curScreen].topLeft()));
whichScreen = screens[nextScreen].center(); whichScreen = screens[nextScreen].center();
// Swap sides // Swap sides
@ -3330,7 +3330,7 @@ void Client::setQuickTileMode(QuickTileMode mode, bool keyboard)
} else if (quick_tile_mode == QuickTileNone) { } else if (quick_tile_mode == QuickTileNone) {
// Not coming out of an existing tile, not shifting monitors, we're setting a brand new tile. // Not coming out of an existing tile, not shifting monitors, we're setting a brand new tile.
// Store geometry first, so we can go out of this tile later. // Store geometry first, so we can go out of this tile later.
geom_restore = geometry(); setGeometryRestore(geometry());
} }
if (mode != QuickTileNone) { if (mode != QuickTileNone) {
@ -3351,11 +3351,11 @@ void Client::setQuickTileMode(QuickTileMode mode, bool keyboard)
quick_tile_mode = QuickTileNone; quick_tile_mode = QuickTileNone;
// Untiling, so just restore geometry, and we're done. // Untiling, so just restore geometry, and we're done.
if (!geom_restore.isValid()) // invalid if we started maximized and wait for placement if (!geometryRestore().isValid()) // invalid if we started maximized and wait for placement
geom_restore = geometry(); setGeometryRestore(geometry());
// decorations may turn off some borders when tiled // decorations may turn off some borders when tiled
const ForceGeometry_t geom_mode = isDecorated() ? ForceGeometrySet : NormalGeometrySet; const ForceGeometry_t geom_mode = isDecorated() ? ForceGeometrySet : NormalGeometrySet;
setGeometry(geom_restore, geom_mode); setGeometry(geometryRestore(), geom_mode);
checkWorkspacePosition(); // Just in case it's a different screen checkWorkspacePosition(); // Just in case it's a different screen
} }
emit quickTileModeChanged(); emit quickTileModeChanged();