Commit graph

88 commits

Author SHA1 Message Date
Hugo Pereira Da Costa
f4cdf47c93 implemented extended border region for oxygen 2012-11-09 18:05:25 +01:00
Hugo Pereira Da Costa
27f1f45391 implemented (partially) shadows for drag pixmaps. 2012-05-01 17:32:28 +02:00
Thomas Lübking
85635dd485 fix tabbing
BUG: 290959
BUG: 265160
BUG: 229292
BUG: 238279
BUG: 290758
BUG: 222831
BUG: 278275
BUG: 245747
BUG: 230000

BUG: 253697
BUG: 230570
BUG: 265977
BUG: 225337
BUG: 225339

REVIEW: 103855
2012-02-11 16:30:22 +01:00
Thomas Lübking
bf88ec09ac Revert "fix tabbing"
pushed out of branch, not master - leading to absent revision, found hash collision??

This reverts commit 94b2ad7b85801e37e2df4671cdc4f26b6d7e5506.
2012-02-11 16:29:14 +01:00
Thomas Lübking
d245035a17 fix tabbing
BUG: 290959
BUG: 265160
BUG: 229292
BUG: 238279
BUG: 290758
BUG: 222831
BUG: 278275
BUG: 245747
BUG: 230000

BUG: 253697
BUG: 230570
BUG: 265977
BUG: 225337
BUG: 225339

REVIEW: 103855
2012-02-11 16:01:41 +01:00
Hugo Pereira Da Costa
885e42142f Fixed glow animation for outlined windows. 2011-10-05 23:01:13 +02:00
Hugo Pereira Da Costa
c21122c863 added necessary options to configure all type of animations individually. 2011-07-18 07:36:44 +02:00
Hugo Pereira Da Costa
dfcab17585 use backing store pixmap for buttons when compositing is not active.
Copy parent backgronud from backing store pixmap when rendering buttons.
2011-06-28 09:24:02 +02:00
Hugo Pereira Da Costa
8361b13de9 added double buffering to oxygen-client when compositing is off;
force update of buttons in client->paintEvent();
call _client->paint() from Button, instead of parentWidget()->render();
2011-06-28 01:27:58 +02:00
Hugo Pereira Da Costa
275cf05184 make sure Shadow X11 property is not set on decorated windows, since it is handled by
the decoration itself (and therefore should not be by kwin).
2011-04-04 09:42:11 +02:00
Hugo Pereira Da Costa
0960942f4e cleanup variable names for consistency 2011-02-24 17:37:04 +01:00
Hugo Pereira Da Costa
c1ff9525e3 Removed obsolete ShadowCache::Key::useOxygenShadows flag
The flag has been made obsolete by the fact that window corners are not part of the shadow anymore.
Configuration::useOxygenShadows is now dealt with by setting the active flag directly.
2011-02-02 17:21:12 +01:00
Hugo Pereira Da Costa
92bea91686 - moved rendering of antialiased corners from Oxygen::ShadowCache to Oxygen::Client.
- simplified caching of ShadowCache accordingly. Notably, it should make it easier to pass the shadows to kwin.
- removed unnecessary QPainter::save()/restore() calls
- set painter AntiAliasing render hint earlier in Client::paintEvent
- modified drawing of drop target rect accordingly.
- oh. And fixed krazy warnings.

svn path=/trunk/KDE/kdebase/workspace/; revision=1217439
2011-01-27 09:40:48 +00:00
Hugo Pereira Da Costa
469ec8e686 Fixed logic for left/right bounding of titleRect.
svn path=/trunk/KDE/kdebase/workspace/; revision=1210067
2010-12-29 10:40:17 +00:00
Hugo Pereira Da Costa
796e7ff92a Properly account for window's shaded state, and number of clients in groups when deciding whether or
not the titlebar should be hidden. This is half the job, cause the above does not work (yet) when 
grouping windows among which one has hidden titlebar. Shading works well now, though.

CCBUG: 260815

svn path=/trunk/KDE/kdebase/workspace/; revision=1208187
2010-12-20 22:18:52 +00:00
Hugo Pereira Da Costa
881a43a191 Changed 'drawSeparator' boolean value into a combobox, for which 3 choices are available:
- never draw separator
- draw separator when window is active
- always draw separator.

This is usefull for e.g. firefox, when a flat background is used, in which case one might 
want the separator to always be enabled.


svn path=/trunk/KDE/kdebase/workspace/; revision=1182027
2010-10-03 02:22:56 +00:00
Hugo Pereira Da Costa
1adaf8c8ea remove use of QWeakPointer for the itemAnimationData_ object as it is unnecessary: the object is never used outside of the class
and is a child of the client, deleted in the client destructor, by Qt.


svn path=/trunk/KDE/kdebase/workspace/; revision=1170328
2010-08-31 14:30:17 +00:00
Hugo Pereira Da Costa
6309ac1928 OxygenClient: remove use of QWeakPointer for the glowAnimation_ as it is unnecessary: the object is never used outside of the class
and is a child of the client, deleted in the client destructor, by Qt.

Client, Button: removed useless acessor to the glowAnimation pointer.

svn path=/trunk/KDE/kdebase/workspace/; revision=1170327
2010-08-31 14:24:01 +00:00
Hugo Pereira Da Costa
2947ec516b - Simplified titleBar title color handling, moved to oxygenHelper, and cached.
- added some missing consts in Client.

svn path=/trunk/KDE/kdebase/workspace/; revision=1169247
2010-08-28 19:58:22 +00:00
Hugo Pereira Da Costa
18042bba95 removed all connections to QPropertyAnimation::valueChanged() and call relevant update in the 'setValue' method directly, instead
svn path=/trunk/KDE/kdebase/workspace/; revision=1168989
2010-08-28 02:52:26 +00:00
Hugo Pereira Da Costa
80757b158f more cliprect fixing
svn path=/trunk/KDE/kdebase/workspace/; revision=1155774
2010-07-28 02:23:14 +00:00
Hugo Pereira Da Costa
5ce103a6e6 - fixed rendering glitch because updateTitleRect had too small clip region
- moved check on titleOutline to dedicated inline function
- removed some trailing spaces.

svn path=/trunk/KDE/kdebase/workspace/; revision=1155744
2010-07-28 01:07:47 +00:00
Hugo Pereira Da Costa
8762a1ac55 Tried improve performances during title transitions by triggering updates of the title area only.
svn path=/trunk/KDE/kdebase/workspace/; revision=1154145
2010-07-24 21:45:25 +00:00
Hugo Pereira Da Costa
24e01d0e7b Removed dependency of Oxygen::ShadowCache upon Oxygen::Client.
svn path=/trunk/KDE/kdebase/workspace/; revision=1126021
2010-05-12 23:34:31 +00:00
Hugo Pereira Da Costa
56095681ed changed helper.h/.cpp into oxygendecohelper.h/.cpp for consistency with classname.
svn path=/trunk/KDE/kdebase/workspace/; revision=1121943
2010-05-02 18:50:01 +00:00
Hugo Pereira Da Costa
43d7384663 oxygen.h/.cpp renamed to oxygenfactory.h/.cpp for consistency.
svn path=/trunk/KDE/kdebase/workspace/; revision=1121941
2010-05-02 18:38:05 +00:00
Hugo Pereira Da Costa
c5bf8d012e Changed all "Oxygen::OxygenXXX" classnames into "Oxygen::XXX" for consistancy with style class
naming scheme. Also made indentation consistent.

svn path=/trunk/KDE/kdebase/workspace/; revision=1121935
2010-05-02 18:34:08 +00:00
Hugo Pereira Da Costa
4d33600a19 Revert r1101759, after discussion with Lubos and Nuno. Will work on having stronger glow for close button, and possibly reduce button hit area as an alternative
svn path=/trunk/KDE/kdebase/workspace/; revision=1102002
2010-03-11 15:24:28 +00:00
Hugo Pereira Da Costa
a733f36b2e Removed customized default buttons layout
svn path=/trunk/KDE/kdebase/workspace/; revision=1101759
2010-03-10 21:01:21 +00:00
Hugo Pereira Da Costa
bfa031170e Removed use of kglobalsettings to decide whether animations should be enabled or not.
svn path=/trunk/KDE/kdebase/workspace/; revision=1100594
2010-03-08 00:29:00 +00:00
Hugo Pereira Da Costa
8d1314a26b added local oxygendecohelper, that derives from libs/oxygen/oxygenhelper and implements methods used here but not in the style. Modified relevant headers accordingly
svn path=/trunk/KDE/kdebase/workspace/; revision=1099028
2010-03-04 22:49:18 +00:00
Aaron J. Seigo
bfbe44dacc * move kstyles from runtime into workspace
* make a proper library out of the oxygen helper lib
* make the oxygen widget and kwin style link against it

svn path=/trunk/KDE/kdebase/workspace/; revision=1097791
2010-03-02 03:40:34 +00:00
Hugo Pereira Da Costa
935b40d436 Use KGlobalSettings::graphicEffectsLevel in conjunction with OxygenConfiguration to
determine if animations should be enabled.

This allows to turn off all animations if the "graphical effects" combobox in
"systemsettings->appearance->style->fine tunning" is set to either
- Low display resolution and low CPU
- High display resolution and low CPU

BUG: 226668

svn path=/trunk/KDE/kdebase/workspace/; revision=1090208
2010-02-14 21:59:14 +00:00
Hugo Pereira Da Costa
58b8722a6b fixed calculation of title bounding rects when there is only one title being shown, to avoid issues when smooth title transition is enabled
svn path=/trunk/KDE/kdebase/workspace/; revision=1088001
2010-02-09 23:07:34 +00:00
Hugo Pereira Da Costa
c04cc31fa2 fixed title bounding rect conflict with window buttons when dragging a tab away from (or back in) a 2-tabs window, with the second tab title being very long
svn path=/trunk/KDE/kdebase/workspace/; revision=1078906
2010-01-23 06:59:55 +00:00
Hugo Pereira Da Costa
f98c1f875c added dedicated option to enable/disable window title change animation, and disabled it by default.
It can be reenabled by adding "AnimateTitleChange=true" in oxygenrc under [Windeco].


svn path=/trunk/KDE/kdebase/workspace/; revision=1070564
2010-01-06 01:42:38 +00:00
Hugo Pereira Da Costa
80b5f81f72 Moved title transitin handling to separate class (oxygentitleanimationdata).
Use blended pixmaps to do the transition instead of QPainter::drawText with alpha blended colors.
This fixes glitches when title is changed while animation is running. (thanks to Wilder for reporting). 


svn path=/trunk/KDE/kdebase/workspace/; revision=1063441
2009-12-18 15:20:04 +00:00
Hugo Pereira Da Costa
c5c464226d changed painting order of old/new caption and embossed/main text when title text transition is called, to avoid flicker. Also removed automatic text elision on old caption
svn path=/trunk/KDE/kdebase/workspace/; revision=1062149
2009-12-13 23:24:36 +00:00
Hugo Pereira Da Costa
4b6c98b7ac use bias to set window state glow intensity and have emulate faster responding animations
svn path=/trunk/KDE/kdebase/workspace/; revision=1050705
2009-11-17 22:26:36 +00:00
Hugo Pereira Da Costa
045daadccb used external lib/oxygenanimation class to handle animations in place of QTimeLine. This will make transition to Qt Kinetic easier
svn path=/trunk/KDE/kdebase/workspace/; revision=1050690
2009-11-17 21:56:04 +00:00
Hugo Pereira Da Costa
14ffab1aa5 more tab glitches fixed. Use full-width, and hide buttons and separator when there is only one tab left at drag-leave
svn path=/trunk/KDE/kdebase/workspace/; revision=1049363
2009-11-15 07:27:49 +00:00
Hugo Pereira Da Costa
51374ce5db added a 50ms timer when creating drag to force animation when dragMove and dragLeave events are lost
svn path=/trunk/KDE/kdebase/workspace/; revision=1049358
2009-11-15 06:28:40 +00:00
Lucas Murray
a0d07d12a2 Merged r970865:1049322 from /branches/work/kwin-tabbing
Adds window tabbing support to KWin.
FEATURE: 42023

svn path=/trunk/KDE/kdebase/workspace/; revision=1049334
2009-11-15 03:24:04 +00:00
Hugo Pereira Da Costa
3c63918fd5 removed useless active flag from 'titlebarcontrastcolor'
svn path=/trunk/KDE/kdebase/workspace/; revision=1048900
2009-11-14 05:19:40 +00:00
Hugo Pereira Da Costa
9ff89e1768 Added contrast pixel on titlebar text. This creates 'carved-in' font, as a possible replacement to bold.
Implemented after discussion with pinheiro.

svn path=/trunk/KDE/kdebase/workspace/; revision=1048886
2009-11-14 04:19:09 +00:00
Hugo Pereira Da Costa
f08d982b15 - made distance between window border and first button smaller by 2 pixels
- set default spacing between buttons to 3 pixels
- added 'hidden' option to disable the above
- removed extra spacing before close button in default button layout, since the 3 
pixels above should be enough

svn path=/trunk/KDE/kdebase/workspace/; revision=1047309
2009-11-10 23:11:08 +00:00
Hugo Pereira Da Costa
d4344b7bba added the possibility to hide decoration 'titlebar', but not decoration 'border' in window-specific override rules
svn path=/trunk/KDE/kdebase/workspace/; revision=1046005
2009-11-07 03:33:53 +00:00
Hugo Pereira Da Costa
f761aceb8b removed background window rendering from button paintEvent, as transparent background is good enough. Moved all corresponding method in oxygenClient to 'protected'. This allows faster repaint.
svn path=/trunk/KDE/kdebase/workspace/; revision=1036357
2009-10-17 06:57:17 +00:00
Hugo Pereira Da Costa
e26538e368 port design changes from tabbing branch to trunk: new title outline design; simplification of layout metrics; proper handling of text ellision; simplification of shadow cache; addition of to local button types. In oxygen.h also temporarily added missing enumeration to ease compilation against kde4.3
svn path=/trunk/KDE/kdebase/workspace/; revision=1035658
2009-10-15 16:03:30 +00:00
Hugo Pereira Da Costa
e748b5244b More code cleanup: moved declaration of 'reduceContrast' and 'renderDot' global functions to oxygenclient.h. Added 'renderFlags' to control which part of the button is to be drawn. Also added flag to force button as 'inactive' even if belonging to an active window (needed for window tabs)
svn path=/trunk/KDE/kdebase/workspace/; revision=1035241
2009-10-14 15:36:08 +00:00