Commit Graph

21 Commits (73153c861c242813f9439c17a37fb49ee60bf221)

Author SHA1 Message Date
Montel Laurent 62c5a5e276 normalize signal/slots 2011-08-17 23:51:55 +02:00
Martin Gräßlin f213b7da70 Drop KWin::TimeLine from kwineffects
The KWin::TimeLine class was only a small wrapper around QTimeLine
without adding anything to QTimeLine what is not present in QTimeLine.
The initial idea was to make it possible to provide more curve shapes.
This is now obsoleted by Qt shipping more useful curves with QTimeLine.

So let's clean up a little bit and use QTimeLine directly instead of
the small wrapper.

All effects are adjusted to use QTimeLine directly.
2011-03-14 22:50:05 +01:00
Martin Gräßlin 32c903b05b Rework signals for move/resize windows
First a signal is emitted when the user starts a move/resize operation.
During the move/resize operation each geometry change emits an update signal.
Last but not least a finish signal is emitted.

This eliminates the specific method for geometry updates in drawbound resize
mode.
2011-03-13 12:41:30 +01:00
Martin Gräßlin eeb10c69d5 Signal for windowUserMovedResize
In core a new signal is added for maximizedState change of client.
Other function calls remain as direct calls for the moment.
2011-02-28 21:03:13 +01:00
Martin Gräßlin c3a076b6a5 EffectsHandler emits desktopChanged signal
The first signal used between EffectsHandler and Effects.
The signal is actually emitted by the EffectsHandlerImpl and only
the interested effects connect to this signal.
EffectsHandlerImpl itself is also notified by a signal from Workspace,
allowing to remove one of the many if (effects) checks.
2011-02-25 20:41:10 +01:00
Martin Gräßlin 0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Martin Gräßlin 82b8faadab Welcome back Cube effect
Currently working:
* cube slide
* basic cube
* rotations
* reflections

Not working:
* Cube Inside effects
* Reflection plane (needs to be done in a shader)
* cube caps
* sphere/cylinder
* filled in areas in multi desktop
2011-01-30 14:12:01 +01:00
Martin Gräßlin 633d80001f Add new role, so that fullscreen effects can enforce blurring of windows they know to be translucent and on a fixed position.
Used in cube animation for all sticky windows and in desktop grid for the add/remove desktops window.

svn path=/trunk/KDE/kdebase/workspace/; revision=1137489
2010-06-13 07:36:40 +00:00
Martin Gräßlin c3476f0345 Add a new option to cube animation to trigger rotating the cube while moving a window towards the screen edge.
The cube starts to rotate before the desktop switches due to active desktop border change. This gives the impression that you drag the cube by moving the window. Of course option is only useful when switching desktop on screen edge is enabled and so this feature is disabled by default.

svn path=/trunk/KDE/kdebase/workspace/; revision=1072640
2010-01-10 15:51:02 +00:00
Martin Gräßlin e6a90e1a6f Unmanaged windows are always kept in place like panels during the cube switch animation.
That's a small hack to get the desktop switch on screen display to not rotate and by that useable when cube is used.

svn path=/trunk/KDE/kdebase/workspace/; revision=1034981
2009-10-14 07:22:11 +00:00
Martin Gräßlin c1d4d65ff4 Don't start cube animation if number of desktops has been reduced.
BUG: 196317

svn path=/trunk/KDE/kdebase/workspace/; revision=982057
2009-06-14 20:31:08 +00:00
Martin Gräßlin f9b3022553 Correcting error introduced with last commit. AnimationTime() has to be used when reading the value from config file to work correctly.
svn path=/trunk/KDE/kdebase/workspace/; revision=973940
2009-05-28 09:13:14 +00:00
Martin Gräßlin 9766a94216 Adjust animation time in cube switch: the complete animation has a fixed time, not the single steps. That fixes a regression compared to 4.2.
svn path=/trunk/KDE/kdebase/workspace/; revision=971743
2009-05-23 11:51:38 +00:00
Martin Gräßlin 1a4b08b36a Add an option to not follow the pager layout in cube switch animation. That brings back the behaviour of cube switch in 4.2.
svn path=/trunk/KDE/kdebase/workspace/; revision=963304
2009-05-04 13:24:55 +00:00
Martin Gräßlin 75346f126b Rotate windows on all desktops by default. Keeping them in place brakes the stacking order during animation.
BUG: 185019

svn path=/trunk/KDE/kdebase/workspace/; revision=928985
2009-02-20 14:04:41 +00:00
Martin Gräßlin 6a671fa2f2 Change the timeline curve shape depending on the number of rotations. If there is only one rotation it is an EaseInOut curve, if there are more than one rotations first is an EaseIn, last an EaseOut all other Linear curves.
svn path=/trunk/KDE/kdebase/workspace/; revision=928255
2009-02-19 09:31:58 +00:00
Martin Gräßlin 05a97d39c8 Adding windows overlapping edges to cube slide animation. Overlapping windows from target desktop are faded in and windows from source desktop are faded out. This looks really good for slow animation speed but for normal speed it's kind of flashy. So perhaps I'll add an option to turn it off...
svn path=/trunk/KDE/kdebase/workspace/; revision=927999
2009-02-18 19:14:47 +00:00
Martin Gräßlin 5e94274eb6 We cannot use glLists for painting the cube. It's causing black windows.
BUG: 183905

svn path=/trunk/KDE/kdebase/workspace/; revision=927767
2009-02-18 11:58:36 +00:00
Martin Gräßlin 7243d7132e Correctly recalculate pending rotations if desktop is changed during animation.
BUG: 183925

svn path=/trunk/KDE/kdebase/workspace/; revision=927417
2009-02-17 12:47:18 +00:00
Lucas Murray dd28e15a1b Allow desktop effects to access the new DesktopLayout class. Replaced
all code that used calcDesktopLayout() so the function could be removed.
Minor changes to the DesktopLayout class itself.

svn path=/trunk/KDE/kdebase/workspace/; revision=925930
2009-02-14 14:49:46 +00:00
Martin Gräßlin f7f5bc8326 Split cube mode and animation of desktop switching in separate effects: say hello to CubeSlide effect.
svn path=/trunk/KDE/kdebase/workspace/; revision=922342
2009-02-06 18:53:16 +00:00