kwin/tabbox
Martin Gräßlin 4a0a4bc27e Split out handling of focus chain into an own class
The new class FocusChain manages two different kind of focus chains.
First of all there is a most recently used focus chain which is primarily
used for TabBox.

Then there is one focus chain per virtual desktop. These chains are used
to determine which Client needs to be activated when e.g. switching to a
virtual desktop.

The individual chains are implemented as a simple QList of Client* with
the most recently used Client as the last element. That way one can see
it as a LIFO like structure.

The desktop focus chains are internally represented as a hash with the id
of the virtual desktop as the key and a list as described as the value.

FocusChain is a singleton which provides some methods to manipulate the
chains and to get a specific Client for a task (e.g. TabBox).

While splitting out the code some unused code inside TabBox got removed
as well as some activities related code (windows cannot be moved while
switching activities).

REVIEW: 107494
2013-02-21 09:57:46 +01:00
..
qml fix some typo in tabbox qml 2013-02-14 15:38:50 -05:00
tests Port non-composited Outline to XCB 2013-02-04 08:55:21 +01:00
clientmodel.cpp Fix non-const ref iterator issues reported by Krazy2 checker foreach 2013-01-02 18:35:46 +01:00
clientmodel.h Mark most ctors as explicit as reported by Krazy2 checker 2013-01-02 18:35:46 +01:00
CMakeLists.txt Verify pointer is valid when calculating the longest caption 2012-07-22 19:23:36 +02:00
declarative.cpp Use translucent/dialogs/background elements where possible 2013-01-30 15:14:54 +01:00
declarative.h Mark most ctors as explicit as reported by Krazy2 checker 2013-01-02 18:35:46 +01:00
desktopchain.cpp Move Desktop Chain management from Workspace into own class 2013-01-07 09:47:51 +01:00
desktopchain.h Move Desktop Chain management from Workspace into own class 2013-01-07 09:47:51 +01:00
desktopmodel.cpp Remove outdated options from TabBoxConfig 2012-08-10 16:57:25 +02:00
desktopmodel.h Mark most ctors as explicit as reported by Krazy2 checker 2013-01-02 18:35:46 +01:00
kwinwindowswitcher.desktop SVN_SILENT made messages (.desktop file) 2013-01-31 16:31:28 +01:00
tabbox.cpp Split out handling of focus chain into an own class 2013-02-21 09:57:46 +01:00
tabbox.h Split out handling of focus chain into an own class 2013-02-21 09:57:46 +01:00
tabboxconfig.cpp Merge branch 'KDE/4.9' 2012-08-11 22:13:59 +02:00
tabboxconfig.h Remove outdated options from TabBoxConfig 2012-08-10 16:57:25 +02:00
tabboxhandler.cpp Port non-composited Outline to XCB 2013-02-04 08:55:21 +01:00
tabboxhandler.h Port non-composited Outline to XCB 2013-02-04 08:55:21 +01:00