Commit graph

196 commits

Author SHA1 Message Date
Hugo Pereira Da Costa
0960942f4e cleanup variable names for consistency 2011-02-24 17:37:04 +01:00
Hugo Pereira Da Costa
488b3644d5 Changed handling of shadow overlap with window content
Oxygen::ShadowCache::shadowSize() now returns the shadow extend outside of the window body (the extend)
Overlab between the actual shadow pixmap and the window body is dealt with internally (by creating larger pixmaps)
This allows notably Oxygen::Client to not attempt to draw shadow when shadowSize == 0 (which was never the case
before)
2011-02-02 17:23:08 +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
a6425b78e2 properly set title position for "Center (Full Width)" configuration.
Simplified title centering logic.

svn path=/trunk/KDE/kdebase/workspace/; revision=1210060
2010-12-29 10:26:54 +00:00
Hugo Pereira Da Costa
e43eff9792 Added "Follow Style Hint" setting to the "fine tuning->background style" option
When selected, the decoration looks for a WM Hint set by the style, to decide whether or not it 
should draw a gradient in the background. 


svn path=/trunk/KDE/kdebase/workspace/; revision=1208665
2010-12-22 19:23:46 +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
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
b8137a7671 Reverted r1170209
because it causes crash when playing with shade and maximize (likely due to a lower-level bug in kwin)

svn path=/trunk/KDE/kdebase/workspace/; revision=1170211
2010-08-31 05:44:19 +00:00
Hugo Pereira Da Costa
943154f255 Always set bottom border to zero when window is shaded. This ensures that window title and buttons are
centered vertically when shading windows.

svn path=/trunk/KDE/kdebase/workspace/; revision=1170209
2010-08-31 05:16:02 +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
393e2b86bc Removed superfluous connections to animation 'finished' signal.
svn path=/trunk/KDE/kdebase/workspace/; revision=1168969
2010-08-28 02:02:50 +00:00
Hugo Pereira Da Costa
c709f1163f use QPoint instead of QPointF for rendering dots.
svn path=/trunk/KDE/kdebase/workspace/; revision=1168961
2010-08-28 01:01:59 +00:00
Hugo Pereira Da Costa
0f3a02e265 Fixed corner tileSet color in drawTitleOutline mode.
svn path=/trunk/KDE/kdebase/workspace/; revision=1168083
2010-08-26 03:05:10 +00:00
Hugo Pereira Da Costa
36073d738a constification (can't make any harm can it ?)
svn path=/trunk/KDE/kdebase/workspace/; revision=1155754
2010-07-28 01:54:51 +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
289e6f5f74 Added cache to clip away center region of shadows, in order no to overlap with the decoration painting.
Changed mask for the decoration painting. 
This is needed for proper implementation of decoration translucency.

svn path=/trunk/KDE/kdebase/workspace/; revision=1151956
2010-07-20 01:39:15 +00:00
Hugo Pereira Da Costa
e1669806ef Do not draw the title "slab" in "outline window title" mode, when the client title is empty (or contains
only space characters). Except when tabbed together with other windows. 


svn path=/trunk/KDE/kdebase/workspace/; revision=1138015
2010-06-15 00:05:08 +00:00
Hugo Pereira Da Costa
0ec3c6bf5a use helper class to render resize handle dots, for consistency with the style.
svn path=/trunk/KDE/kdebase/workspace/; revision=1135179
2010-06-06 18:12:21 +00:00
Hugo Pereira Da Costa
98558973ef Fixed handling of mask, so that it is set only when either shadowMode is not OxygenShadow
or compositing is not active.


svn path=/trunk/KDE/kdebase/workspace/; revision=1133588
2010-06-02 06:04:17 +00:00
Hugo Pereira Da Costa
29320ccd26 no mask in borderless-titleless mode
svn path=/trunk/KDE/kdebase/workspace/; revision=1133541
2010-06-01 22:44:03 +00:00
Hugo Pereira Da Costa
71595cb8c6 Changed constructs like
"Client::myMethod()" into "this->myMethod()"


svn path=/trunk/KDE/kdebase/workspace/; revision=1128991
2010-05-20 21:41:19 +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
3fa2e1b234 Removed useless include.
Fixed ambiguity when passing tiles as argument.

svn path=/trunk/KDE/kdebase/workspace/; revision=1125272
2010-05-11 05:30:08 +00:00
Hugo Pereira Da Costa
71460bc371 added contrast pixel to text rendering in drag pixmap
svn path=/trunk/KDE/kdebase/workspace/; revision=1125268
2010-05-11 04:59:13 +00:00
Hugo Pereira Da Costa
f6d60a9524 re-added window mask when drawing non-oxygen shadows. This makes poorer corners, but better shadows (can't have everything at the same time right now)
svn path=/trunk/KDE/kdebase/workspace/; revision=1124748
2010-05-10 01:56:24 +00:00
Hugo Pereira Da Costa
299574c546 removed useless KDebug statement
svn path=/trunk/KDE/kdebase/workspace/; revision=1121944
2010-05-02 18:56:14 +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
7c42c041c1 use foreach loop
svn path=/trunk/KDE/kdebase/workspace/; revision=1118786
2010-04-25 21:34:20 +00:00
Hugo Pereira Da Costa
99a0cddd77 Reduce cache size and truncate opacity settings for shadow focus transition, based on the
animation durations. For default duration (200msec), this reduces the size of the cache by about a 
factor 10, and still corresponds to a 120Hz frame rate.

BUG: 234187




svn path=/trunk/KDE/kdebase/workspace/; revision=1114935
2010-04-14 22:21:08 +00:00
Hugo Pereira Da Costa
c9490235cd fixed background positionning when title bar is hidden
svn path=/trunk/KDE/kdebase/workspace/; revision=1112325
2010-04-07 21:23:38 +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
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
fa03ee04a2 condition tabbing animations to the 'useAnimation' flag, for consistancy with other animations. begin and final animation states are kept visually unchanged. Only the smooth transition between the two is disabled.
svn path=/trunk/KDE/kdebase/workspace/; revision=1088957
2010-02-12 01:14:43 +00:00
Hugo Pereira Da Costa
c896faa443 re-enabled title transition animation. Add animation 'lock' in case title is changed to frequently (e.g. in kmail/thunderbird new mail window). Set the lock duration to 300 milliseconds.
svn path=/trunk/KDE/kdebase/workspace/; revision=1088954
2010-02-12 00:42:25 +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
0917db504e Added/moved itemData_.setDirty() calls to make sure clientgroupitems are reset properly in
all cases, including when the clientGroup modification request (add,remove, ...) fails.
CCBUG: 223726

svn path=/trunk/KDE/kdebase/workspace/; revision=1081125
2010-01-27 20:10:33 +00:00
Hugo Pereira Da Costa
49deef6c2e fixed vertical positioning of window background
svn path=/trunk/KDE/kdebase/workspace/; revision=1080859
2010-01-27 05:27:20 +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
352a2de89a always store dragpoint in mousePressEvent, disregarding the button;
reset mouseButton_ in mouseMoveEvent only if action is actually taken.
CCBUG 221997

svn path=/trunk/KDE/kdebase/workspace/; revision=1075951
2010-01-17 03:02:44 +00:00
Hugo Pereira Da Costa
0e62916ccd Display client menu on mouse press in the oxygen decoration.
BUG: 221997


svn path=/trunk/KDE/kdebase/workspace/; revision=1072370
2010-01-10 03:47:25 +00:00
Hugo Pereira Da Costa
e2bd296cf7 Prevent closing of tab when tab closeButton mouseReleaseEvent occurs outside of the button rect.
svn path=/trunk/KDE/kdebase/workspace/; revision=1072363
2010-01-10 03:29:07 +00:00
Hugo Pereira Da Costa
e49597ecd3 use QPropertyAnimation instead of QTimeLine to handle transitions
svn path=/trunk/KDE/kdebase/workspace/; revision=1069986
2010-01-04 16:42:46 +00:00
Hugo Pereira Da Costa
6a26dba2e0 Removed button area from grabbed pixmap in non-outline mode, for consistency
svn path=/trunk/KDE/kdebase/workspace/; revision=1066551
2009-12-27 12:00:23 +00:00