Commit graph

10945 commits

Author SHA1 Message Date
Martin Gräßlin
1f302b0c4a Drop dependency on kde_file.h in kwin/main.cpp 2013-08-29 10:34:11 +02:00
Martin Gräßlin
0dd7adf5f5 Port KWin::Application to QApplication and QCommandLineParser
Done in one step as it requires changes which are better suited with a
QApplication.

To not need to parte the QCommandLineParser around the needed arguments
are added to the KWin::Application through setters and the crash count
is available through a static getter/setter pair.
2013-08-28 14:13:39 +02:00
Martin Gräßlin
437f762466 Use xcb_atom_t for the Atoms in KWinSelectionOwner 2013-08-28 14:13:39 +02:00
Martin Gräßlin
8621b4e46d Use qApp instead of kapp in KWin
Preparation step for porting away from KApplication. Disables a little
bit more session management code (as it's broken anyway).
2013-08-28 14:13:39 +02:00
Martin Gräßlin
c4b8f33ac7 Port KWin/Killer to QCommandLineParser
And with that it no longer needs kde4support.
2013-08-28 14:13:39 +02:00
Reza Shah
9c2e4991cf Port kwinbindings.cpp away from KAction/KShortcut
REVIEW: 112119
2013-08-28 19:27:09 +09:00
Hugo Pereira Da Costa
c5c5fffbdf Added "Display window borders for maximized windows" option.
CCBUG: 324011
2013-08-27 10:35:52 +02:00
Hugo Pereira Da Costa
0fe389570e fixed uppercase typo in kcfg file 2013-08-27 10:35:43 +02:00
Martin Gräßlin
8270744a34 Fix b840f523bf5ac5038f71e5203f3757a8929df8f1
The commit inverted the logic which results in interesting crashes during
startup.

CCMAIL: hein@kde.org
2013-08-26 11:26:12 +02:00
Martin Gräßlin
8051e08361 Add missing target link libraries in kwin/effects 2013-08-23 09:38:44 +02:00
Eike Hein
e9f372bb72 Fix build (adapt to kdelibs 84ffcc8b). 2013-08-21 20:54:28 +02:00
Martin Gräßlin
fb111be903 Use Qt5::Script in linker definition of KWin core
Missed that one in the other commit.
2013-08-20 10:49:33 +02:00
Martin Gräßlin
37334f400a Drop no longer needed XLib includes from KWin 2013-08-20 10:29:20 +02:00
Martin Gräßlin
e21225fa47 Use XCB Shape instead of XLib Shape in KWin core 2013-08-20 09:48:14 +02:00
Martin Gräßlin
bf3bcd7f6f Drop linking to kdecore in KWin
Left-over from when kdebug was not yet moved to kde4support.
2013-08-20 09:16:14 +02:00
Martin Gräßlin
84a2f3020b Use Qt5:: in target link libraries in KWin 2013-08-20 09:14:24 +02:00
Martin Gräßlin
5ca6654eb8 Fix linking
KDEUI is dead which caused collateral damage.
2013-08-20 08:47:47 +02:00
Martin Gräßlin
209666538e Port Workspace::clientShortcutUpdated away from KAction
Does no longer crash when setting a window shortcut.
2013-08-19 13:51:29 +02:00
Martin Gräßlin
caae057649 Port KWin::ShortcutDialog from KDialog to QDialog 2013-08-19 12:44:30 +02:00
Martin Gräßlin
c2e0c13b7b Delay performWindowOperation to next event cycle in UserActionsMenu
In case that the window operation results in destroying the window
decoration we need to have the menu closed before the deco gets
destroyed. Otherwise Qt crashes.
2013-08-19 12:15:42 +02:00
Martin Gräßlin
be9b9681db Adjustments for the helper dialog on noborder/fullscreen
* Ported away from KAction
* starting the dialog is moved into a thread

Currently this code is still rather crashy as destroying the deco
seems to somehow crash KWin in the interaction.
2013-08-19 11:42:16 +02:00
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