Commit graph

79 commits

Author SHA1 Message Date
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
Hugo Pereira Da Costa
f898d1193f more cleanup. Made sure methods are declared and implemented in the same order (blush)
svn path=/trunk/KDE/kdebase/workspace/; revision=1035206
2009-10-14 14:37:58 +00:00
Hugo Pereira Da Costa
01ae18d6a7 moved dots and float frame rendering to separate methods (for clean-up and to make merging with tab branch easier)
svn path=/trunk/KDE/kdebase/workspace/; revision=1035200
2009-10-14 14:28:37 +00:00
Hugo Pereira Da Costa
7f6ff0dd02 removed usage of static global variables (static is bad afaik). Everything is controled by the factory.
svn path=/trunk/KDE/kdebase/workspace/; revision=1034554
2009-10-13 01:45:01 +00:00
Hugo Pereira Da Costa
c5641a3827 modified activeChange animation so that it seems to start earlier (e.g. with first step being a non-zero fraction of the final glow)
svn path=/trunk/KDE/kdebase/workspace/; revision=1034229
2009-10-12 07:26:07 +00:00
Hugo Pereira Da Costa
6532a7445c re-enabled shadow transitions (disabled due to a bug in logics)
svn path=/trunk/KDE/kdebase/workspace/; revision=1032348
2009-10-07 15:38:18 +00:00
Hugo Pereira Da Costa
3e7a0f9fce fixed bug on title alignment when left/right centered, and put titleRect calculation in separate method for clean-up
svn path=/trunk/KDE/kdebase/workspace/; revision=1031796
2009-10-06 05:35:24 +00:00
Hugo Pereira Da Costa
e03269be68 moved title text bounding rect calculation to separate dedicated method
svn path=/trunk/KDE/kdebase/workspace/; revision=1031121
2009-10-04 01:36:14 +00:00
Hugo Pereira Da Costa
e7cdbe7e0d added 'use animations' and 'animations duration' to configuration (although not shown in configuration dialog). added smooth fading of window title when changed
svn path=/trunk/KDE/kdebase/workspace/; revision=1030276
2009-10-02 02:52:41 +00:00
Hugo Pereira Da Costa
edf8167f3c improved animated transition in title-outline mode, by using mixed color rather than painter opacity
svn path=/trunk/KDE/kdebase/workspace/; revision=1028173
2009-09-26 04:57:27 +00:00