Commit Graph

12828 Commits

Author SHA1 Message Date
Martin Gräßlin
d2452e2917 EGL/X11 backend for WindowThumbnail QQuickItem
Introduces a new optional dependency to EGL. If EGL is found the
WindowThumbnail gets compiled with EGL support. The EGL support is
unlike Qt's XCB plugin not mutual exclusive to the GLX backend, thus
it's possible to compile with EGL and GLX at the same time.
By that this implementation is prepared for the case that Qt supports
EGL or GLX through runtime selection.

In practice EGL support is only useful if Qt is compiled with GLESv2.
In that case the corebindingsplugin gets linked against Qt5::Gui_GLESv2
to get the dependency to GLES.

The implementation makes use of the EGL_KHR_image extension
(or EGL_KHR_image_base and EGL_KHR_Image_pixmap) and
the GL_OES_EGL_image extension to bind the X pixmap to an EGLImageKHR.

REVIEW: 116627
2014-03-17 09:09:23 +01:00
Marco Martin
710fe45527 move the shell packages in libplasmaquick 2014-03-15 17:25:42 +01:00
Marco Martin
07637b7f34 remove dead code 2014-03-14 18:03:15 +01:00
Martin Klapetek
b36ba7c9b6 Return intersection of KWS::workArea() and QScreen::availableGeometry()
KWindowSystem::workArea() gives us the whole workarea, which in case of dual screens is the whole virtual desktop. QApplication::desktop()->availableGeometry(id) gives the full screen geometry for the given screen. So we just intersect them and have a proper availableScreenRect().

This is just a temporary method until the patch in [1] is merged in Qt
and released, then we can revert back to the commented method.

[1] - https://codereview.qt-project.org/#change,80606

BUG: 331968
2014-03-11 19:14:15 +01:00
Marco Martin
cc8de5a789 remove unused variable 2014-03-11 17:07:15 +01:00
Marco Martin
d397358346 Make the delete containment dialog async
a syncronous dialog brings crashes if something gets deleted while the dialog's event loop is in execution
BUG:332027
2014-03-11 17:04:31 +01:00
Martin Klapetek
62d35541ed Add availableScreenRect(int id) to ContainmentInterface
Now plasmoids can simply get the available screen rect
2014-03-11 15:30:45 +01:00
Martin Klapetek
699057ad33 Emit geometry changes on screen added/removed events 2014-03-11 15:30:45 +01:00
Martin Klapetek
6a1fa18986 Add availableScreenRect(int id) to Corona base class
This is already implemented in ShellCorona and is quite handy too

Reviewed-by: Marco Martin
2014-03-11 15:30:45 +01:00
Marco Martin
5fe26c0da1 close at applet destruction
and bury behind a weakpointer
BUG:332015

in some cases seems a crash still happens, but is completely unrelated with the one in 332015, so should be a separate bug
2014-03-11 12:44:04 +01:00
Martin Klapetek
cc6cc00282 Remove useless casting to itself 2014-03-10 22:55:06 +01:00
Marco Martin
dee8ff8645 delete remove action for desktops
desktop containments never have a remove action.
the only way to be deleted is from the activity manager
2014-03-10 19:47:46 +01:00
David Edmundson
effb5e8ad1 Add temp workaround to avoid black squares in main context menu
BUG: 331809
2014-03-10 17:50:50 +01:00
Sebastian Kügler
a1dce4bb86 Update theme on KWindowSystem::compositingChanged
BUG:328651
2014-03-09 23:50:21 +01:00
Ivan Čukić
4b3ae32b17 Added IconDialog class to the platform components 2014-03-08 18:02:39 +01:00
Marco Martin
50b5c62d81 fix highdpi mode for slider and progressbar
progressbar looks like still needs some serious work
2014-03-07 17:59:33 +01:00
Àlex Fiestas
a3c4e95bb8 Use Qt::CTRL since what we want there is the modifier
This fixes the bug where kglobalaccel "eats" the | character, what
was actually happening is that Qt::Key_Control + Qt::Key_F12 was
producing a valit KeySquence which was Shift+\, and Shit+\ is what
you use in US keymaps to make |.
2014-03-07 17:44:12 +01:00
Aleix Pol
ab99522a50 Port the cmake scripts with regards to documentation
Needs a small change in KDocTools
2014-03-07 17:24:52 +01:00
Martin Klapetek
fa643132bc Use QScreen::virtualGeometry() for computing panel struts
QScreen::availableGeometry() returns screen size minus the struts, which is fine on first Plasma start. But if Plasma crashes, the struts set on the startup are not cleared and then when Plasma autorestarts, availableGeometry() gives it rect with the old struts to which Plasma adds one more panel height (so the total strut height is panel.height()*(numberOfCrashes+1)).

Using QScreen::virtualGeometry() gives us the whole screen including
struts and the new struts are computed and set properly.

Reviewed-by: Marco Martin
2014-03-07 17:18:32 +01:00
Ivan Čukić
924fd195ae Oprimized Units::devicePixelIconSize 2014-03-07 09:26:33 +01:00
Ivan Čukić
6008c889f5 Added the units.displayAspectRatio property 2014-03-06 20:24:41 +01:00
Marco Martin
fc6938887b correctly restore saved popup size 2014-03-06 15:57:37 +01:00
Marco Martin
ef1010f312 set maximum size only when there is actually an hint 2014-03-06 15:26:05 +01:00
Marco Martin
3d5f105c80 use hints to ensure proper size 2014-03-06 14:37:19 +01:00
Marco Martin
83b0c8cc3c re set the flags on show
ensured the dialog is a tooltip, on top and doesn't accept focus
2014-03-06 14:36:51 +01:00
Martin Gräßlin
3303f9b979 Set state in PlasmaCore.Dialog after Qt handled the show event
Qt's xcb plugin updates _NET_WM_STATE and ignores anything we set,
thus we need to ensure that our additional states are set after Qt
set the state. Luckily KWindowSystem does not remove the state which
is already set.

Reviewed-By: Marco Martin
2014-03-06 13:24:45 +01:00
Marco Martin
ba91c53c12 move the skiptaskbar flag set to showEvent 2014-03-06 13:10:55 +01:00
David Edmundson
58e45d97b1 Remove unused check against local shortcuts 2014-03-05 23:22:36 +01:00
David Edmundson
fdd627c629 Use promptStealShortcutSystemwide from frameworks 2014-03-05 23:20:56 +01:00
David Edmundson
a403c3f3ca Don't check for conflicts when first setting keyboard shortcut 2014-03-05 23:20:56 +01:00
Marco Martin
f4daf5f7d9 export location 2014-03-05 20:58:42 +01:00
Marco Martin
6fe147f4d7 new graphics for tabbars 2014-03-05 20:14:52 +01:00
Marco Martin
0f4654643f don't always do the "dialog inside panel"
if a window is not outsideParentWindow or all the borders are enabled, don't do the trick
this fixes positioning of systray tooltips
2014-03-05 20:14:52 +01:00
David Edmundson
1dc6d98aa3 Allow shift in global shortcut 2014-03-05 19:37:41 +01:00
David Edmundson
a8ddfe1def Connect to real window changed signal
In PanelView screenChanged is redeclared in order to create a property.
However this signal is not the one that is emitted.

This fixes the confif following the panels when moving between screens

Reviewed-by: Aleix Pol
2014-03-05 18:41:50 +01:00
David Edmundson
b5a04c55ea Add missing license 2014-03-05 18:09:47 +01:00
David Edmundson
48e8e588a6 Add documentation on FrameSVGItem updating 2014-03-05 18:07:54 +01:00
David Edmundson
fb7451051e Expose globalShortcut in AppletInterface so it can be set from the config 2014-03-05 17:28:50 +01:00
David Edmundson
7e7fe6f972 Add KKeySequence QtQuick clone 2014-03-05 17:28:50 +01:00
David Edmundson
6599c25087 Port FrameSVGItem to paint directly
REVIEW: 116618
2014-03-05 17:24:13 +01:00
Marco Martin
c3d6c00a95 if parent = 0, component is complete
the tooltip dialog is created from c++, not qml

this fixes dialog positioning for tooltips
2014-03-05 17:03:47 +01:00
Marco Martin
dff653354f use the Id, not the wid 2014-03-05 16:09:54 +01:00
Aleix Pol
f8be8ab0fd Fix glitch in PanelView
Never use the window size to figure out the thickness: This is bad because
sometimes this will get called before the move hasn't been effective, which
results in full-screen struts. Use the thickness method from KConfig
instead.

REVIEW: 116614
2014-03-05 16:09:16 +01:00
Aleix Pol
78c6e452df Reduce QWindow::setGeometry calls
Don't call setPosition and resize, but do it all at once in a setGeometry
call. It simplifies the life of the QPA and WM, also it's quite faster as
we reduce the calls to the WM by half (both setPosition and resize are
syntax-sugar for setGeometry)

REVIEW: 116614
2014-03-05 16:08:09 +01:00
Aleix Pol
da325d037b Make the PanelView::distance change immediate
This way we can use it from the EdgeHandle without having to stop moving
the mouse first.

Reviewed by Marco Martin
2014-03-05 16:06:32 +01:00
Marco Martin
828edd8b40 finish porting 2014-03-05 15:49:15 +01:00
Marco Martin
9a487cb771 use the model 2014-03-05 15:24:25 +01:00
Marco Martin
f3c0fd0b10 import layouts 2014-03-05 15:12:55 +01:00
Aleix Pol
03dcec82b5 Remove unused variables 2014-03-05 14:28:06 +01:00
Aleix Pol
017387a0b2 Fix dis/connects in the panelview
When porting to the new syntax I saw that the slot was also missing, I
made it trigger the unhide timer.

REVIEW: 116613
2014-03-05 14:26:35 +01:00