Changeset View
Changeset View
Standalone View
Standalone View
shell_client.cpp
Show First 20 Lines • Show All 819 Lines • ▼ Show 20 Line(s) | 819 | { | |||
---|---|---|---|---|---|
820 | if (changeMaximizeRecursion) { | 820 | if (changeMaximizeRecursion) { | ||
821 | return; | 821 | return; | ||
822 | } | 822 | } | ||
823 | 823 | | |||
824 | if (!isResizable()) { | 824 | if (!isResizable()) { | ||
825 | return; | 825 | return; | ||
826 | } | 826 | } | ||
827 | 827 | | |||
828 | const QRect clientArea = isElectricBorderMaximizing() ? | 828 | QRect clientArea = isElectricBorderMaximizing() ? | ||
829 | workspace()->clientArea(MaximizeArea, Cursor::pos(), desktop()) : | 829 | workspace()->clientArea(MaximizeArea, Cursor::pos(), desktop()) : | ||
830 | workspace()->clientArea(MaximizeArea, this); | 830 | workspace()->clientArea(MaximizeArea, this); | ||
831 | 831 | | |||
832 | if (!virtualKeyboardGeometry().isEmpty()) { | ||||
833 | clientArea.setHeight(clientArea.height() - virtualKeyboardGeometry().height()); | ||||
834 | } | ||||
835 | | ||||
832 | const MaximizeMode oldMode = m_requestedMaximizeMode; | 836 | const MaximizeMode oldMode = m_requestedMaximizeMode; | ||
833 | const QRect oldGeometry = geometry(); | 837 | const QRect oldGeometry = geometry(); | ||
834 | 838 | | |||
835 | StackingUpdatesBlocker blocker(workspace()); | 839 | StackingUpdatesBlocker blocker(workspace()); | ||
836 | RequestGeometryBlocker geometryBlocker(this); | 840 | RequestGeometryBlocker geometryBlocker(this); | ||
837 | // 'adjust == true' means to update the size only, e.g. after changing workspace size | 841 | // 'adjust == true' means to update the size only, e.g. after changing workspace size | ||
838 | if (!adjust) { | 842 | if (!adjust) { | ||
839 | if (vertical) | 843 | if (vertical) | ||
Show All 39 Lines | 882 | } else if ((oldMode == MaximizeVertical && m_requestedMaximizeMode == MaximizeRestore) || | |||
879 | (oldMode == MaximizeFull && m_requestedMaximizeMode == MaximizeHorizontal)) { | 883 | (oldMode == MaximizeFull && m_requestedMaximizeMode == MaximizeHorizontal)) { | ||
880 | // Modifying geometry of a tiled window | 884 | // Modifying geometry of a tiled window | ||
881 | updateQuickTileMode(QuickTileFlag::None); // Exit quick tile mode without restoring geometry | 885 | updateQuickTileMode(QuickTileFlag::None); // Exit quick tile mode without restoring geometry | ||
882 | } | 886 | } | ||
883 | } | 887 | } | ||
884 | 888 | | |||
885 | // TODO: check rules | 889 | // TODO: check rules | ||
886 | if (m_requestedMaximizeMode == MaximizeFull) { | 890 | if (m_requestedMaximizeMode == MaximizeFull) { | ||
891 | if (m_requestedMaximizeMode != maximizeMode()) { | ||||
887 | m_geomMaximizeRestore = oldGeometry; | 892 | m_geomMaximizeRestore = oldGeometry; | ||
893 | } | ||||
888 | // TODO: Client has more checks | 894 | // TODO: Client has more checks | ||
889 | if (options->electricBorderMaximize()) { | 895 | if (options->electricBorderMaximize()) { | ||
890 | updateQuickTileMode(QuickTileFlag::Maximize); | 896 | updateQuickTileMode(QuickTileFlag::Maximize); | ||
891 | } else { | 897 | } else { | ||
892 | updateQuickTileMode(QuickTileFlag::None); | 898 | updateQuickTileMode(QuickTileFlag::None); | ||
893 | } | 899 | } | ||
894 | if (quickTileMode() != oldQuickTileMode) { | 900 | if (quickTileMode() != oldQuickTileMode) { | ||
895 | emit quickTileModeChanged(); | 901 | emit quickTileModeChanged(); | ||
896 | } | 902 | } | ||
897 | setGeometry(workspace()->clientArea(MaximizeArea, this)); | 903 | | ||
904 | setGeometry(clientArea); | ||||
davidedmundson: why this? | |||||
this is the maximized area got at line 828, which may have been adjusted to consider the keyboard space, otherwise we always get the full maximized area mart: this is the maximized area got at line 828, which may have been adjusted to consider the… | |||||
898 | workspace()->raiseClient(this); | 905 | workspace()->raiseClient(this); | ||
899 | } else { | 906 | } else { | ||
900 | if (m_requestedMaximizeMode == MaximizeRestore) { | 907 | if (m_requestedMaximizeMode == MaximizeRestore) { | ||
901 | updateQuickTileMode(QuickTileFlag::None); | 908 | updateQuickTileMode(QuickTileFlag::None); | ||
902 | } | 909 | } | ||
903 | if (quickTileMode() != oldQuickTileMode) { | 910 | if (quickTileMode() != oldQuickTileMode) { | ||
904 | emit quickTileModeChanged(); | 911 | emit quickTileModeChanged(); | ||
905 | } | 912 | } | ||
▲ Show 20 Lines • Show All 1053 Lines • Show Last 20 Lines |
why this?