Commit graph

10974 commits

Author SHA1 Message Date
Martin Gräßlin
d973194c36 Use an XCB replacement for XSelectInput
Wrapped in xcbutils.

In addition the check whether another WM is running in main.cpp is
improved by doing a checked request and directly checking for the
error. If there is an error, KWin puts out an error message and
quits.
2013-08-19 10:52:22 +02:00
Martin Gräßlin
bec5bcd50e Drop XSynchronize from KWin
Doesn't make any sense nowadays where we are mostly on XCB.
2013-08-15 13:25:52 +02:00
Martin Gräßlin
fa9f640426 Reorder includes in kwin/main.cpp
Group by vendor - kde - qt - x
2013-08-15 13:17:29 +02:00
Martin Gräßlin
d01ec8c0ff Remove not needed includes from kwin/main.cpp 2013-08-15 13:09:28 +02:00
Martin Gräßlin
87f362c953 Do not delete effects pointer from KWin::Application dtor
Not needed as the Compositor already deletes the effects pointer.
2013-08-15 13:08:49 +02:00
Martin Gräßlin
3cb4e0322f AlternativeWMDialog ported to QDialog 2013-08-15 12:54:32 +02:00
Martin Gräßlin
9706da58e3 Port KWin Killer away from deprecated functionality
* KApplication -> QApplication
* Qt::escape -> QString::toHtmlEscaped
* KDebug -> QDebug

In addition it uses KMessageBox::warningContinueCancelWId from
KInterProcessWindowing as we have the window id.

KCmdLineArgs is still used as the replacement is still in
kdeqt5staging.
2013-08-15 11:46:53 +02:00
Reza Shah
61f452723e Port KWin effects away from KAction and KShortcut to Qt5/KF5 classes.
REVIEW: 111898
2013-08-15 04:13:12 +09:00
Anselmo L. S. Melo
bef5b71898 Porting effects to Qt5/KF5: QStandardPaths
REVIEW: 111977
2013-08-13 17:56:04 -03:00
Anselmo L. S. Melo
49c04f13b1 Porting libkwineffects to Qt5/KF5: QStandardPaths
REVIEW: 111976
2013-08-13 17:55:57 -03:00
Anselmo L. S. Melo
00d507b7ff Porting kcmkwin to Qt5/KF5: QStandardPaths
REVIEW: 111975
2013-08-13 17:55:49 -03:00
Anselmo L. S. Melo
d97069590a Porting kwin scripting to Qt5/KF5: QStandardPaths
REVIEW: 111974
2013-08-13 17:55:25 -03:00
Anselmo L. S. Melo
a9c346ad83 Porting tabbox to Qt5/KF5: QStandardPaths
REVIEW: 111973
2013-08-13 17:55:15 -03:00
Anselmo L. S. Melo
c2942c4e73 Porting clients to Qt5/KF5: QStandardPaths
REVIEW: 111972
2013-08-13 17:54:39 -03:00
Anselmo L. S. Melo
c9b079e628 Porting kwin main, data and compositingprefs to Qt5/KF5: QStandardPaths
REVIEW: 111971
2013-08-13 17:53:39 -03:00
Martin Gräßlin
9c225200bf Fix typo 2013-08-13 11:24:07 +02:00
Martin Gräßlin
7c5e970e26 Disable session management in KWin for the time being
It's broken anyway and causing crashes.
2013-08-13 10:21:28 +02:00
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