Commit graph

10904 commits

Author SHA1 Message Date
Martin Gräßlin
96bde02b38 New QML Type DBusCall
The DBusCall is exported as a QObject to the QML environment. It is
intended as a declarative replacement for the callDBus method which used
to be exported on global scope in the QtQuick 1 world.

Example usage:
DBusCall {
    id: dbus
    service: "org.kde.KWin"
    path: "/KWin"
    method: "setCurrentDesktop"
    arguments: [1]
    Component.onCompleted: dbus.call()
}
2013-08-13 09:57:51 +02:00
Martin Gräßlin
abbe84bab4 Port declarative scripting to QtQuick
Getting all functionality from old solution into new one is not really
possible. Main problems are that QtScript provided more functionality
than the QJSEngine. For example it's no longer possible to just export
functions to the engine. We need to have a Qt wrapper object. At the
moment this wrapper object doesn't export all functions as the callbacks
are tricky. A solution might be to create specific QML types
encapsulating functionality which used to be exported on the functions.

Nevertheless a basic QML script loads and works and the ported readConfig
function works, too.
2013-08-13 09:57:51 +02:00
Martin Gräßlin
416b881a00 Remove parent window id from ThumbnailItem
Luckily a QQuickItem contains the pointer to the QQuickWindow which
holds the item. This means we no longer need the hack to find the
parent window.
2013-08-13 09:57:51 +02:00
Martin Gräßlin
388944314a Drop QPixmap ctor of XRenderPicture
Was a todo to remove it as it's just using a toImage. Removing this
ctor should make it for the user more obvious that put image is used.
2013-08-13 09:57:50 +02:00
Martin Gräßlin
7baaa46daa Linker fixes 2013-08-09 16:08:31 +02:00
Martin Gräßlin
b4c957b617 Remove XCheckTypedEvent from TabBox::hide()
No idea why it was there in the first place, but no longer useful in an
XCB event world.
2013-08-09 11:47:18 +02:00
Martin Gräßlin
8cf8f57966 Port tabbox to QtQuick 2
Straight forward port. Note: this is currently crashing deep down in
QtQuick. To circumvent the crashes it helps to disable the property
highlightFollowsCurrentItem in the listviews. This solves the problem
that QtQuick crashes on first loading. Unfortunately it still crashes
if one tries to invoke TabBox for the second time.
2013-08-09 11:47:18 +02:00
Martin Gräßlin
69b109b5b9 Adjust the ThumbnailItems to QtQuick2
AbstractThumbnailItem inherits from QQuickPaintedItem using QPainter to
do the fallback painting of icons.

The scene is adjusted to get the information from QQuickItem instead of
QDeclarativeItem. Clipping got a little bit more complex as the clip
path does not exist any more. To get it right the ThumbnailItem needs to
specify the parent it wants to be clipped to with the clipTo property.
E.g.:
clipTo: listView

The scene uses this clipTo parent item to correctly calculate the clip
region. Also the ThumbnailItem needs to have clipping enabled.

Note: this commit currently breaks TabBox as the qml and view are not
yet adjusted. In scripting the export of the item is disabled, but any
qml script using a ThumbnailItem would obviously also fail.
2013-08-09 11:47:17 +02:00
Sebastian Kügler
08a53e6a11 Remove K_EXPORT_PLUGIN macros
Include .moc file in configs_builtins.cpp, and reenable the build of the
configs.

REVIEW:111940
2013-08-08 13:47:25 +02:00
Hugo Pereira Da Costa
62ca3fcbe1 Qt::WFlags -> Qt::WindowFlags
REVIEW: 111933
2013-08-07 13:53:11 +02:00
Hugo Pereira Da Costa
c52d6cee80 use QByteArray::setNum directly instead of QString 2013-08-07 13:37:43 +02:00
Hugo Pereira Da Costa
42411c4844 QWeakPointer -> QPointer 2013-08-07 13:37:43 +02:00
Martin Gräßlin
ed5d4048b6 foo.moc -> moc_foo.cpp in KWin effects config 2013-08-07 13:04:01 +02:00
Hugo Pereira Da Costa
c4a4407139 cleanup and homogenize oxygen CMakeLists files.
Use KF5:: and Qt5:: consistently.
2013-08-07 11:49:33 +02:00
Rohan Garg
7ab317095d explicitly compare latin1 strings in qassert (fixes build with debugfull) 2013-08-07 14:10:45 +05:30
Martin Gräßlin
9291b18cee Merge branch 'master' into frameworks-scratch
Conflicts:
	CMakeLists.txt
	kwin/effects.cpp
	kwin/effects/logout/logout.cpp
	kwin/effects/presentwindows/main.qml
	kwin/effects/presentwindows/presentwindows.cpp
	kwin/effects/presentwindows/presentwindows.h
	kwin/effects/zoom/zoom_config.cpp
	kwin/libkwineffects/kwinglutils_funcs.cpp
	kwin/libkwineffects/kwinxrenderutils.cpp
	kwin/nvidiahack.cpp
	kwin/xcbutils.h
	plasma/desktop/containments/desktop/plasma-containment-desktop.desktop
	plasma/generic/wallpapers/image/image.cpp
	plasma/generic/wallpapers/image/plasma-wallpaper-image.desktop
2013-08-07 10:10:06 +02:00
Martin Gräßlin
3da36dd0d8 Merge branch 'KDE/4.11' 2013-08-07 09:32:18 +02:00
Harald Sitter
2c915037c7 explicitly compare latin1 strings in qassert (fixes build with debugfull) 2013-08-07 09:25:27 +02:00
Hrvoje Senjan
bd078d5c23 Unbreak the build
1e9f8c8 was correct but KStyle's cmake file wasn't
2013-08-07 05:19:28 +02:00
Hrvoje Senjan
b641c12890 Remove wrongly added component 2013-08-07 04:41:26 +02:00
Hrvoje Senjan
7aa789f781 Adjust to replacements 2013-08-07 03:24:36 +02:00
Hrvoje Senjan
b2f5a68bbb Remove KWidgets references 2013-08-07 03:23:58 +02:00
Thomas Lübking
5c207e9a15 poll mouse at 20Hz
required until there's a dynamic poll rate, because 10Hz is too
low for magnifiers (lag), mousemark (paints too edgy), mouseclick
(often fails because it's easy to cycle the button state within 100ms)
- and the bouncing icon lags behind the mouse as well ;-)

REVIEW: 111909
2013-08-06 23:26:51 +02:00
Thomas Lübking
65a476d638 crossfade for resize effect
REVIEW: 111383
2013-08-06 23:26:51 +02:00
Thomas Lübking
772486511a implement crossfading on xrender
REVIEW: 111383
2013-08-06 23:26:51 +02:00
Alex Richardson
4d10921548 fix build by including moc_plastikplugin.cpp, not plastikplugin.moc 2013-08-06 23:07:30 +02:00
Thomas Lübking
341aaae068 Merge branch 'KDE/4.11' 2013-08-06 23:07:16 +02:00
Thomas Lübking
3f33d0c2d5 poll mouse at 20Hz
required until there's a dynamic poll rate, because 10Hz is too
low for magnifiers (lag), mousemark (paints too edgy), mouseclick
(often fails because it's easy to cycle the button state within 100ms)
- and the bouncing icon lags behind the mouse as well ;-)

REVIEW: 111909
2013-08-06 23:06:40 +02:00
Thomas Lübking
c2219f973b crossfade for resize effect
REVIEW: 111383
2013-08-06 23:06:40 +02:00
Thomas Lübking
ebfd3f58d8 implement crossfading on xrender
REVIEW: 111383
2013-08-06 23:06:39 +02:00
Hugo Pereira Da Costa
22df9b0c19 removed KDEUI includes 2013-08-06 18:10:06 +02:00
Eike Hein
0f14f28d88 Fix linker error. 2013-08-06 15:58:14 +02:00
Fredrik Höglund
a61009b152 kwin: Make PaintRedirector work without NPOT texture support
BUG: 321865
2013-08-06 14:45:19 +02:00
Martin Gräßlin
bdc1883fcf Better activation check in KillWindow
If the grab keyboard fails we better do not activate the window killer
otherwise we are in an inconsistent state.

CCBUG: 323191
REVIEW: 111903
2013-08-06 14:44:02 +02:00
Martin Gräßlin
c47702294a Fix incorrect button press event processing in checkInputWindowEvent
Incorrect porting by merging ButtonPress and ButtonRelease into one
function.

This fixes the broken mouse button event handling in e.g. DesktopGrid
effect.
2013-08-06 12:19:20 +02:00
Martin Gräßlin
5d0433f20b Drop some no longer needed includes
Less warnings
2013-08-06 11:38:52 +02:00
Martin Gräßlin
3d414b908a Remove kapplication.h include from sm.h
Not needed in sm.h and pollutes the includes of most header files.
2013-08-06 11:20:28 +02:00
Martin Gräßlin
8f94ee7d8f Port away from QApplication::syncX() in TabBox 2013-08-06 11:20:28 +02:00
Martin Gräßlin
46f57221e4 Mouse motion event compression
Using a QTimer to move the resize/move related code to the end of the
event queue. In case there is another motion event in the queue it will
cancel the timer.
2013-08-06 11:20:27 +02:00
Thomas Lübking
18932dcace Merge branch 'KDE/4.11' 2013-08-06 10:29:47 +02:00
Thomas Lübking
ee45592d85 validate screens w/o direct update
largely reverts b164e9912c9b5f9c9ae619bbd79355d317174115
which prevented the crash but due to early screen updating
causes issues with scene/overlay update on at least intel chips

BUG: 322970
FIXED-IN: 4.11
CCBUG: 322156
REVIEW: https://git.reviewboard.kde.org/r/111811/
2013-08-06 10:29:21 +02:00
Thomas Lübking
f1aa2417bd Merge branch 'KDE/4.11' 2013-08-06 09:15:26 +02:00
Thomas Lübking
127cf45626 protect kwin against broken tabbox installation
This happens because some distros ship broken installations
of KWin and KWinActive, but could also appear to QML hacking users

BUG: 322830
FIXED-IN: 4.11
REVIEW: 111732
2013-08-06 09:12:16 +02:00
Thomas Lübking
b92ebe02aa add synthetic repaint after crossfade finished
prevents glitches after crossfading translucent window

REVIEW: 111888
2013-08-06 09:12:05 +02:00
Thomas Lübking
fbac18a635 Hotfix GL crossfading
Not correct crossfading
Purpose of the hotfix is to manipulate opacities of the "semi-crossfaded™"
pixmaps so that on a quick animation and sloppy check it looks somehow
believable (instead of bumping the window to full opacity)

REVIEW: 111888
2013-08-06 09:10:53 +02:00
Sebastian Kügler
0ac47d9b18 Disable effect config build
With the fixed KPluginFactory macro, the KWIN_EFFECT_CONFIG_* macros
seem to break. I'm looking for a solution to fix up the macro in
kwineffects.h, or otherwise the usage in the plugins.
The problem is that the macros of each plugin export the exact same
class name, which is going to clash.

Until I've found a solution, disable build of the config files, so it's
not too disruptive for others.

CCMAIL:kwin@kde.org
2013-08-06 05:17:43 +02:00
Eike Hein
5435568f86 Fix build.
Not sure why kdeclarative gets its own subdir, nor why
there is no CMake module to to add it to the include dirs
on find_package, but this matches what plasma-framework
does at the moment.
2013-08-06 03:03:57 +02:00
Thomas Lübking
7fce0006c0 Merge branch 'KDE/4.11' 2013-08-05 21:02:45 +02:00
Thomas Lübking
76f7ee6bff write back unsupported (kwin-intel) unredirection
to have a minimal hint on "this does not work"

REVIEW: 111772
CCBUG: 252817
2013-08-05 20:43:28 +02:00
Thomas Lübking
971fe0107c support fps counter text on xrender
BUG: 323006
FIXED-IN: 4.11
REVIEW: 111878
2013-08-05 20:43:28 +02:00