diff options
Diffstat (limited to 'kxkb/layoutmap.cpp')
-rw-r--r-- | kxkb/layoutmap.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/kxkb/layoutmap.cpp b/kxkb/layoutmap.cpp index 106f70950..62b44da10 100644 --- a/kxkb/layoutmap.cpp +++ b/kxkb/layoutmap.cpp @@ -88,19 +88,28 @@ LayoutState& LayoutMap::getNextLayout() { layoutQueue.enqueue(layoutState); kdDebug() << "map: Next layout: " << layoutQueue.head()->layoutUnit.toPair() - << " group: " << layoutQueue.head()->layoutUnit.defaultGroup << " for " << m_currentWinId << endl; + << " for " << m_currentWinId << endl; return *layoutQueue.head(); } -void LayoutMap::setCurrentGroup(int group) { - getCurrentLayout().group = group; +LayoutState& LayoutMap::getPrevLayout() { + LayoutQueue& layoutQueue = getCurrentLayoutQueue(m_currentWinId); + for (int i = 1; i < layoutQueue.count(); ++i) { + LayoutState* layoutState = layoutQueue.dequeue(); + layoutQueue.enqueue(layoutState); + } + + kdDebug() << "map: Next layout: " << layoutQueue.head()->layoutUnit.toPair() + << " for " << m_currentWinId << endl; + + return *layoutQueue.head(); } void LayoutMap::setCurrentLayout(const LayoutUnit& layoutUnit) { LayoutQueue& layoutQueue = getCurrentLayoutQueue(m_currentWinId); kdDebug() << "map: Storing layout: " << layoutUnit.toPair() - << " group: " << layoutUnit.defaultGroup << " for " << m_currentWinId << endl; + << " for " << m_currentWinId << endl; int queueSize = (int)layoutQueue.count(); for(int ii=0; ii<queueSize; ii++) { |