Martin Gräßlin
d2884484bc
Move ::titlebarPosition to AbstractClient
2015-05-08 12:43:47 +02:00
Martin Gräßlin
a4d16debfc
Partly move shade implementation to AbstractClient
...
* properties defined in AbstractClient
* implementation of isShade moved to AbstractClient
* implementation of setShade(bool) moved to AbstractClient
* default implementation for isShadeable added to AbstractClient
* default implementation for shadeMode returning ShadeNone
* default implementation fo setShade which does nothing
2015-05-08 12:43:47 +02:00
Martin Gräßlin
254887155c
Implement virtual desktop handling in AbstractClient
2015-05-08 12:43:47 +02:00
Martin Gräßlin
1bfba1765c
Signal desktopPresenceChanged carries AbstractClient as argument
2015-05-08 12:43:47 +02:00
Martin Gräßlin
e672a53721
Move implementation of demanding attention to AbstractClient
2015-05-08 12:43:47 +02:00
Martin Gräßlin
16568804be
Demands Attention handling in Workspace operates on AbstractClient
...
Affects:
* list attention_chain
* clientAttentionChanged
* clientDemandsAttentionChanged
2015-05-08 12:43:47 +02:00
Martin Gräßlin
986308f938
Move implementation of isSpecialWindow to AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
4b27abd76b
Move implementation of wantsTabFocus to AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
1fcd1120d9
Move auto-raise handling to AbstractClient
...
Adds QTimer to AbstractClient and introduces new protected method to
start the timer.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
25e3af5988
Implement keepAbove and keepBelow in AbstractClient
...
Moves the properties and the base implementation into AbstractClient.
Methods invoke a new protected virtual method which is implemented in
Client to update the TabGroup.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
b84118a51b
Workspace::updateClientLayer operates on AbstractClient
...
Requires a virtual updateLayer in AbstractClient. Default implementation
does nothing.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
7d51838efc
Implement AbstractClient::isActive and ::setActive
...
Moves the implmentation to AbstractClient. Methods are no longer virtual,
setActive calls a virtual protected method which is implemented in Client
for Client specific activation code.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
3527f1d4b8
Implement AbstractClient::icon
...
Moves implementation, adds a protected setter and provides the property.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
2f59f3e8b4
Move property closeable to AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
4d466f9ab3
Implement AbstractClient::skipSwitcher
...
Moves implementation from Client to AbstractClient.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
3182c8f3e5
Implement AbstractClient::isFirstInTabBox
...
Moves implementation from Client to AbstractClient. Setter is protected,
getter is no longer virtual.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
4ac4a97c20
Implement AbstractClient::tabBoxClient
...
Moves the implementation from Client to AbstractClient.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
ab4e798837
Remove no longer needed casts from TabBox::establish/removeTabBoxGrab
2015-05-08 12:43:46 +02:00
Martin Gräßlin
1e7a28033b
Drop no longer needed dynamic_cast in Workspace::performWindowOperation
2015-05-08 12:43:46 +02:00
Martin Gräßlin
7a74413712
Drop dynamic_cast from UserActionsMenu::slotSendToDesktop
2015-05-08 12:43:46 +02:00
Martin Gräßlin
d4f7445749
Remove remaining Client usage from FocusChain
2015-05-08 12:43:46 +02:00
Martin Gräßlin
704b255234
Drop no longer needed dynamic_casts from TabBox
2015-05-08 12:43:46 +02:00
Martin Gräßlin
7d5236cac8
TabBox::shadeActivate operates on AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
9457b362c1
Drop not needed dynamic cast in WorkspaceWrapper::setActiveClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
fe8946740c
Remove no longer cast in Workspace::allowClientActivation
2015-05-08 12:43:46 +02:00
Martin Gräßlin
41cd927bce
Move Workspace::activeClient and ::mostRecentlyActivatedClient back to header
...
Now all is moved they can be inlined again.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
fdcaf2b86f
Make Workspace::active_client an AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
69f198e923
Move ::demandAttention to AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
af48d38d22
Workspace::should_get_focus becomes QList<AbstractClient*>
2015-05-08 12:43:46 +02:00
Martin Gräßlin
94ce47ef7b
Workspace::mostRecentlyActivatedClient returns an AbstractClient
...
Implementation temporarily moved to cpp. Needs to be moved back once
should_get_focus and active_client are AbstractClient.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
b1026aa162
Workspace::allowFullClientRaising operates on AbstractCliet
2015-05-08 12:43:46 +02:00
Martin Gräßlin
1d7d1787a8
Workspace::last_active_client becomes an AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
f28d759352
Workspace::allowClientActivation operates on AbstractClient
...
Still requires a dynamic_cast for check on should_get_focus. To be
removed once Workspace::should_get_focus is a list of AbstractClients.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
dde1947461
Move ::userTime to AbstractClient
...
Default implementation returns 0.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
1a7e8aeaf2
Move enum QuickTileFlag and ::setQuickTileMode to AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
5b53d2401e
Move ::packTo to AbstractClient
...
Base implementation which does nothing
2015-05-08 12:43:46 +02:00
Martin Gräßlin
683fc0613f
Workspace::packPosition* operates on AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
7a85ee5309
Make helper method isIrrelevant operate on AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
7ffc742a69
Move ::isCurrentTab to AbstractClient
...
Default implementation returns true.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
6feb1c6604
Move ::titlebarPosition and enum Position to AbstractClient
2015-05-08 12:43:46 +02:00
Martin Gräßlin
e5734f9e6c
Move (grow|shrink)(Horizontal|Vertical) to AbstractClient
...
A virtual base implementation is provided which does nothing. Needed
in AbstractClient to get Workspace::slotWindowGrow* to work with
active_client becoming an AbstractCliet.
2015-05-08 12:43:46 +02:00
Martin Gräßlin
138c1b2ff0
Workspace::sendClientToDesktop operates on AbstractClient
...
Unfortunately transient handling is still on Client, thus it's
still in a cast-if block.
2015-05-08 12:43:45 +02:00
Martin Gräßlin
4f1c98773e
Workspace::showWindowMenu operates on AbstractClient
2015-05-08 12:43:45 +02:00
Martin Gräßlin
c357ac01fe
Workspace::restackClientUnderActive operates on AbstractClient
2015-05-08 12:43:45 +02:00
Martin Gräßlin
ddcd4dab59
Workspace::slotWindowTo(Previous|Next)Desktop operates on AbstractClient
2015-05-08 12:43:45 +02:00
Martin Gräßlin
1d4701d67e
Workspace::takeActivity operates on AbstractClient
2015-05-08 12:43:45 +02:00
Martin Gräßlin
484f9b6e65
Workspace::activateClient and ::requestFocus changed to AbstractClient
...
requestFocus delegates to takeActivity which is not yet adjusted but
performs a nullptr check, thus we pass a casted Client.
2015-05-08 12:43:45 +02:00
Martin Gräßlin
8cfe0a9316
Workspace::clientActivated signal changed to AbstractClient
...
connections changed to new connect syntax to ensure they are correct.
2015-05-08 12:43:45 +02:00
Martin Gräßlin
3ad117ac28
Workspace::activeClient returns an AbstractClient
...
Still a few casts in some areas as setting activeClient still takes
a Client.
2015-05-08 12:43:45 +02:00
Martin Gräßlin
4b41c33268
Workspace::movingClient changed to AbstractClient
...
In events.cpp it's casted to Client as it's X11 specific.
In InputRedirections it's kind of broken, but window movement is
anyway broken.
2015-05-08 12:43:45 +02:00