Commit graph

84 commits

Author SHA1 Message Date
Martin Gräßlin
fcebfa799f [kwin] Fix ordering
--warnings
2014-02-03 11:37:04 +01:00
Martin Gräßlin
23a510c0b5 [kdecorations] Add a ::palette() to the decoration API
The ::palette() in KDecoration and KCommonDecoration returns the
QPalette the decoration should use for the decorated window. The
call delegates into the bridge and KWin core might provide a special
QPalette for a given Client depending on the _KDE_NET_WM_COLOR_SCHEME
property.
2013-11-25 09:44:23 +01:00
Martin Gräßlin
07294b49f2 [kcmdeco] Use new DecorationButton types for describing the buttons
Rather heavy change to get the kcm to no longer use the string based
definition of the buttons on the left and right.
2013-11-14 09:41:52 +01:00
Martin Gräßlin
f03104ac17 [kcmdeco] Connect PreviewItem to factory's recreateDeco signal 2013-11-14 09:41:52 +01:00
Martin Gräßlin
3ea18be574 [kcmdeco] Move KDecorationPreviewOptions into the Model
We need to have it around and not in the Preview widget to be able
to update the options when the buttons change.
2013-11-14 09:41:52 +01:00
Martin Gräßlin
aab6037c4a [kcmdeco] KIcon -> QIcon::fromTheme 2013-11-14 09:41:52 +01:00
Martin Gräßlin
b150d9ddc1 [kcmdeco] Clean up includes 2013-11-14 09:41:52 +01:00
Martin Gräßlin
a98dbd7460 [kcmdeco] Drop the old preview code
All the rendering to QPixmap code in the Model and the Preview is
deleted as it's no longer used.

The model still has the plugin for the border size functionality.
This probably needs a change in the API to make it completely bound
to the decoration and not a global thing.
2013-11-14 09:41:52 +01:00
Martin Gräßlin
1674824e79 [kcmdeco] Introduce a new PreviewItem for rendering QWidget based decos in QML
Using a QQuickPaintedItem for the rendering. The item gets the library
name from the model and loads the decoration with its own decoration
plugin. Thus each preview has its own plugin which eliminates the need to
constantly recreate the decoration as it is done with the preview.

Having a QQuickItem gives new possibilities. The item accepts hover
events and forwards them as enter and leave events to the widgets inside
the decoration. By that the mouse interaction of e.g. Oxygen is still
functional. If the decoration uses the new update approach the bridge is
forwarding the updates to the item and triggering a repaint so we even
have animations in the preview although the widget is never shown.
2013-11-14 09:41:52 +01:00
Martin Gräßlin
d6bf62eb3e [kdecorations] Drop initialParentWidget()
No longer needed for creating the preview and not set in our main
bridge. Thus it can go and we just use NULL as the parent widget.
2013-11-14 09:41:50 +01:00
Martin Gräßlin
51ee2e86d1 [kdecorations] Introduce new way to schedule updates in composited case
The PaintRedirector calls the new method KDecoration::render and passes
it's PaintDevice and the region to update to it. A decoration can
implement this method and provide an optimized implementation for the
painting which does not go through the deco's QWidget at all. In addition
the decoration can invoke an update() slot which will schedule a repaint
in the PaintRedirector and thus completely replaces the need for
intercepting paint events on the QWidget and also allows to add QWindow
based decorations in future.
2013-11-14 09:41:50 +01:00
Martin Gräßlin
0288f42bc0 [kcmdeco] Handle reset of factory in new way
Reset on the factory cannot be invoked directly anymore. The factory
connects to change signals and emits a signal in case the decorations
need to be re-created. So we need to connect to this signal whenever
we expect that a change might trigger a recreation.
2013-10-01 14:05:59 +02:00
Martin Gräßlin
95bf0bb84f [kcmdeco] Add override to all virtual methods in preview.h
One method changed, so make sure it hits a compile error if we
change another one.
2013-10-01 14:05:59 +02:00
Martin Gräßlin
56722972a7 [kcmdeco] Adjust to kdecoration changes
There are no unstable classes any more.
2013-10-01 14:05:58 +02:00
Thomas Lübking
6fb5353cab remove moveResizeMaximized option
REVIEW: 103948
BUG: 91703
BUG: 299245
FIXED-IN: 4.11

- The setting is ignored, the decoration always gets a "true" for it
- moving a maximized window requires breaking a "strong" snap (1/16 of screen height - unless you use quick maximization)
- all snapping is done towards the client, not the frame
- QuickTileMode is exported to the decoration (just as the maximizeMode) so that it can fix the bordersize alongside that.
2013-03-24 22:26:48 +01:00
Martin Gräßlin
60c42b7a34 s/KLocale/KLocalizedString/g
Many headers included KLocale to use i18n and co. But those methods are
defined in KLocalizedString and not in KLocale.

With KF5 klocale.h does no longer include KLocalizedString causing lots
of compile errors.
2013-03-07 13:59:15 +01:00
Martin Gräßlin
2aed7b13d1 Cleanup the Preview rendering of Window Decorations
The preview code still contained all the old logic for embedding the
preview into another widget. Most of the code had been dead for quite
some time.

The only preview rendering code now is the one to render into a pixmap.
This is actually changed to render the widget directly at the right
position obsoleting the previous widget positioning code.

The no preview available label is dropped as it did not get rendered into
the pixmap at all.

Last but not least we fake that compositing is on. This has always been
the case for Aurorae themes and just looks better. Especially on Oxygen I
had always had some corruption when rendering this preview with
compositing disabled.

REVIEW: 108777
2013-02-12 11:51:17 +01:00
Cedric Bellegarde
53ae2b91e2 GUI: Kwin appmenu support:
- Add support for application menu button in Kwin
- Add kded appmenu configuration in kcm_style
2012-11-09 13:44:50 +01:00
Thomas Lübking
f5aaf5272d Manage m_preview::deco pointers on plugin juggling
BUG: 304026
REVIEW: 105721
2012-07-25 20:25:27 +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
Martin Gräßlin
0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Hugo Pereira Da Costa
94e42cf134 Change KCommonDecoration preview label contents to contain only the decoration name
Removed custom painting of kdecoration previews in kcmdecoration.

svn path=/trunk/KDE/kdebase/workspace/; revision=1121963
2010-05-02 20:25:27 +00:00
Martin Gräßlin
088757cd94 Show deco name and author info directly in each decoration preview.
svn path=/trunk/KDE/kdebase/workspace/; revision=1118057
2010-04-23 19:20:01 +00:00
Martin Gräßlin
c9df18ab98 New decoration kcm:
* Displays list with previews instead of a dropdown with just the name.
* Configuration is moved into an own dialog accessible via a configure button for each decoration
* Button configuration is moved into a dialog, by that the tabs are removed
* Aurorae themes are listed just like normal decorations
* GHNS support to download Aurorae themes
* Semi-live preview of changed: when configure dialog is closed the preview is updated
* About Dialog added for each decoration (needs updates in desktop files - the information is missing)

svn path=/trunk/KDE/kdebase/workspace/; revision=1077141
2010-01-19 13:44:22 +00:00
Fredrik Höglund
0a8c06b054 Implement support for _KDE_NET_WM_FRAME_OVERLAP.
svn path=/trunk/KDE/kdebase/workspace/; revision=1054393
2009-11-25 23:32:35 +00:00
Lucas Murray
00e131a1a5 Allow window tabbing titlebar actions to be configurable; Set default
middle-click titlebar action to tab drag; Fix KCM config file corruption
caused by r1015273.
BUG: 214898

svn path=/trunk/KDE/kdebase/workspace/; revision=1050309
2009-11-17 07:17:49 +00:00
Lucas Murray
27d13ea5fb Fix compile on 64-bit systems.
svn path=/trunk/KDE/kdebase/workspace/; revision=1049438
2009-11-15 09:39:50 +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
Lucas Murray
3fd898cbf7 Less warnings please.
svn path=/trunk/KDE/kdebase/workspace/; revision=1031445
2009-10-05 07:58:12 +00:00
Hugo Pereira Da Costa
82aa125975 reverted to r1015361 because last commit was adressing the same issue (already fixed). Sorry
svn path=/trunk/KDE/kdebase/workspace/; revision=1018986
2009-09-02 14:30:30 +00:00
Hugo Pereira Da Costa
76104a522a fixed preview event painting, to use pixmap as intermediate painting device, in order to proper account for event clip rect, and avoid decorations appearing out of the widget rect
svn path=/trunk/KDE/kdebase/workspace/; revision=1018742
2009-09-02 05:28:38 +00:00
Christoph Feck
a83e508bdd Use QPainter to render preview
Reviewed by Lucas Murray
BUG: 203842

svn path=/trunk/KDE/kdebase/workspace/; revision=1015361
2009-08-25 11:13:27 +00:00
Christoph Feck
25a056e171 Fix preview margins
* limit to 10 pixels, regardless of what the client announces
* "old" clients have the same margins for consistency
* use KWindowSystem::compositingActive() instead of D-Bus

Reviewed by Lucas Murray

svn path=/trunk/KDE/kdebase/workspace/; revision=1005231
2009-07-31 15:38:12 +00:00
Hugo Pereira Da Costa
e48740a6fb fixed indentation
svn path=/trunk/KDE/kdebase/workspace/; revision=987422
2009-06-26 03:07:18 +00:00
Hugo Pereira Da Costa
5e783b34b9 Added dbus call to get whether kwin compositing is enabled or not, rather than
systematically returning false. This enables nicer painting of decoration previews.


svn path=/trunk/KDE/kdebase/workspace/; revision=987420
2009-06-26 02:55:05 +00:00
Hugo Pereira Da Costa
031bdd0239 Changed painting of preview decorations, to use widget->render() instead of
widget->show(). This allows to have oxygen decorations painted properly (with visible 
shadows), to handle window resize properly, and does not affect other decorations.

 --This line, and those below, will be ignored--

M    preview.cpp
M    preview.h

svn path=/trunk/KDE/kdebase/workspace/; revision=987415
2009-06-26 01:53:38 +00:00
Lucas Murray
138179d06c Missed some functions in the decoration API cleanup.
svn path=/trunk/KDE/kdebase/workspace/; revision=984121
2009-06-20 04:22:39 +00:00
Lucas Murray
899d578c49 Merge Libkdecoration2 Git branch.
WARNING: Breaks shadow effect. I don't think it causes anything to crash anymore but it is VERY ugly visually.

Contains:
 - New decoration API that allows decorations to change the way shadows look.
 - Shadows now wobble.
 - API example code in the Oxygen decoration.
 - Added buildQuads() effect plugin hook.
 - Work on the shadow effect to use the new decoration shadow API as well.
 - Added IDs to WindowQuads.
 - Added public accessors to texture coords in WindowVertex.

Would like all this to be reviewed.

CCMAIL: kwin@kde.org

svn path=/trunk/KDE/kdebase/workspace/; revision=872473
2008-10-17 10:30:43 +00:00
Lucas Murray
c98a9372fc SVN_SILENT More whitespace fixes.
svn path=/trunk/KDE/kdebase/workspace/; revision=864246
2008-09-24 10:28:49 +00:00
Luboš Luňák
685e1d2361 Make it possible to use KDecorationOptions without private headers.
svn path=/trunk/KDE/kdebase/workspace/; revision=768271
2008-01-29 16:44:41 +00:00
Jakob Petsovits
47fe9e4956 Icon naming spec compliance (code changes - KDE/):
apps/x -> apps/xorg

svn path=/trunk/KDE/kdebase/workspace/; revision=753737
2007-12-28 11:14:24 +00:00
Urs Wolfer
d55f9438c6 fix icon
svn path=/trunk/KDE/kdebase/workspace/; revision=746715
2007-12-09 23:08:18 +00:00
Luboš Luňák
c83210c60a Remove all code for non-composited animations - they don't work anyway.
svn path=/trunk/KDE/kdebase/workspace/; revision=739143
2007-11-20 16:07:20 +00:00
Luboš Luňák
ab70575d1f Make the outline for moving/resizing work with Qt4, which bothers
to support XOR painting only when XRender is available. Given that
outline should be mainly used with older systems, go for a DIY Xlib-based
solution. Needs changes in decorations using it.
BUG: 149997


svn path=/trunk/KDE/kdebase/workspace/; revision=739136
2007-11-20 16:00:58 +00:00
Aaron J. Seigo
9048abe173 take advantage of KDecorationOptions::defaultTitleButtons[Left|Right]
svn path=/trunk/KDE/kdebase/workspace/; revision=737210
2007-11-15 20:14:41 +00:00
Alex Merry
2bb0fe674f compile++
svn path=/trunk/KDE/kdebase/workspace/; revision=707779
2007-09-02 22:06:54 +00:00
Arto Hytönen
8f9eb21004 SVN_SILENT back down for now as I can't test them right now
svn path=/trunk/KDE/kdebase/workspace/; revision=707753
2007-09-02 20:47:42 +00:00
Arto Hytönen
e1c6433c8e pass-by-value -> reference-to-count fixes
svn path=/trunk/KDE/kdebase/workspace/; revision=707741
2007-09-02 20:01:17 +00:00