Commit Graph

10907 Commits (e72c52d075a691a20003f26b69f2869c3e2e5519)

Author SHA1 Message Date
Martin Gräßlin e72c52d075 Move first updateXTime() in Workspace ctor to init
It's needed for Client initialization and that early the integration
with Qt is not yet working correctly (dropping to endless loop).
2013-08-13 10:16:12 +02:00
Martin Gräßlin 95f10a6c33 updateXTime uses QX11Info::getTimestamp
Requires 9c45260942c0ee32267e651d981bfa33a6acb64d from qtx11extras.

Note: this does not fully replace the functionality which we used to
have. The event queue is not yet searched for the first even with a
timestamp.
2013-08-13 10:07:13 +02:00
Martin Gräßlin 5007a19062 Add a ScreenEdgeItem to reserve a screen edge from QML
Usage:
ScreenEdgeItem {
    edge: ScreenEdgeItem.LeftEdge
    onActivated: doSomething()
}
2013-08-13 09:57:51 +02:00
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