Commit graph

11275 commits

Author SHA1 Message Date
Martin Gräßlin
17553e5a1f Work around problem of restored QQuickWindows not being visible
A declarative KWin script needs to register the QQuickWindows it is
using in the KWin object. This method ensures that the QQuickWindow
will destroy the platfrom window once it gets hidden. So the next
time the QQuickWindow is shown a new platform window is created.

As can be seen in the OSD this is not really nice, therefore a
KWin.Dialog should be created which takes care of these steps.
2013-11-07 14:10:35 +01:00
Martin Gräßlin
d7a3a497d1 Adjust DesktopChangeOSD to QtQuick 2.0
The OSD does not yet work properly, though. It exposes the problem
that the window is broken once it got hidden.
2013-11-07 10:35:26 +01:00
Eike Hein
298fd90eab Merge branch 'KDE/4.11'
Conflicts:
	CMakeLists.txt
	plasma/desktop/applets/taskmanager/package/contents/ui/Task.qml
	plasma/generic/wallpapers/image/image.cpp
2013-11-05 21:33:10 +01:00
Martin Gräßlin
324aae916a [kwin] Drop testapp for detecting whether direct rendering works on glx
The main purpose of the opengl testapp was to set the environment
variable LIBGL_ALWAYS_INDIRECT if direct rendering is not supported
before glx gets initialized.

With Qt5 we may no longer set this environment variable. QtQuick
requires direct rendering. On IvyBridge QtQuick is crashing if the
variable is set. Thus we are no longer allowed to set it and thus the
complete test becomes pointless.

The test app basically whitelisted most drivers anyway, the only
drivers which were problematic are the proprietary Catalyst drivers.
It that's still a problem we can also disable OpenGL compositing on
those drivers through the recommendation in the GLPlatform.

This also means that the KWIN_DIRECT_GL variable is no longer useful.
2013-11-05 14:48:40 +01:00
David Edmundson
59e3d0e099 kde4_install_icons -> ecm_install_icons
REVIEW: 113600
2013-11-04 13:24:41 +01:00
Martin Klapetek
2dc5aebcc2 Inform KSplash via DBus about kwin startup
KSplash for PW2 will use DBus for setting stages instead of xatoms, this
ports kwin to send a DBus message to KSplash.

REVIEW: 113524
2013-11-04 11:17:24 +01:00
l10n daemon script
feeb45445b SVN_SILENT made messages (.desktop file) 2013-11-03 06:20:25 +00:00
l10n daemon script
865bcdce38 SVN_SILENT made messages (.desktop file) 2013-11-03 03:52:50 +00:00
Bhushan Shah
935851a2b5 kDebug -> qDebug in kwin 2013-11-01 17:00:41 +05:30
l10n daemon script
0796a306c9 SVN_SILENT made messages (.desktop file) 2013-10-30 04:07:25 +00:00
Aurélien Gâteau
05b6de1002 ${KDE4Support_LIBRARIES} => KF5::KDE4Support
Fixes a few link errors
2013-10-29 13:00:46 +01:00
Martin Gräßlin
4bd28e90af [kwin] Do not allow Qt to raise decoration widget above the Client
If the user actions menu is closed Qt looks for a QWidget at the mouse
position. If it finds one it tries to activate and raise it. If the
QWidget at the mouse position is a window decoration, it gets raised
above the Client. This makes the window unfortunately unusable.

To prevent this from happening we listen for the ZOrderChange event
in our event filter on the decoration widget and unconditionally lower
the decoration widget again - we never want the decoration widget to
be above our Client, so we can just always lower it. We have to use
the low level functionality and cannot use QWidget::lower as that would
result in a loop.
2013-10-27 09:52:45 +01:00
Martin Gräßlin
96691036f6 Fix forwarding key events to the TabBox list view
Allows to navigate with cursor keys again.
2013-10-25 15:04:22 +02:00
Martin Gräßlin
3797c3d26e [kwin/tabbox] Recreate DeclarativeTabBoxView every time it's shown
Not the best solution, but at least TabBox works each time it's invoked.
It doesn't make much of a difference as the QML is reparsed anyway at
each show.
2013-10-25 14:16:06 +02:00
Martin Gräßlin
a360d0b96e [kwin] Call QQuickWindow::setDefaultAlphaBuffer before creating first window
We want to have the QQuickWindows using translucency.
2013-10-25 13:00:50 +02:00
Martin Gräßlin
5d5673ebc0 Fix rendering errors of close window button in Present Windows
Hiding and Showing the close window button all the time can result in
the window not having a proper content. To fix this issue we keep the
window around, but just don't show it. For this the CloseWindowView
inherits from QObject and delegates the needed calls to the nested
QQuickView.
2013-10-25 12:57:34 +02:00
Martin Gräßlin
bf9219bd9a Use QElapsedTimer for the arming timer in Present Windows Close button 2013-10-25 10:22:47 +02:00
Hugo Pereira Da Costa
f9b4fed604 removed ununsed (and obsolete) includes. 2013-10-24 11:57:30 +02:00
Hugo Pereira Da Costa
b35a760b66 Port oxygen decoration from X11 to XCB
- use xcb for shadow atom
- use xcb to handle sizegrip map/raised
- removed dependency upon QX11Info and QtX11Extras.
- moved window detection to xcb
2013-10-24 11:41:45 +02:00
Casian Andrei
b0ba49cbdf Fix check for no button pressed in Client::buttonReleaseEvent()
There is a check in Client::buttonReleaseEvent() for the state of the
mouse buttons compared to the button masks for button 1, 2, 3 (X11
button indices).

The check was:
if ((state & (Button1Mask & Button2Mask & Button3Mask)) == 0) { ... }
<=> if (state & 0 == 0) <=> if (true)

This change assumes what the check was supposed to be and fixes the problem. The correct fix was proposed by Thomas.

REVIEW: 113359
2013-10-23 13:23:20 +03:00
Casian Andrei
1333d9d4d1 Get rid of QMetaObjectPrivate warning for duplicated configChanged()
The configChanged() signal was declared in both KDecorationOptions and
Options, while Options recently became derived from KDecorationOptions.
This created confusion for QMetaObjectPrivate which was spitting a
couple of error messages.

Remove configChanged() signal declaration from Options, rely on the one
from the base class Options.

Create a special notify signal for focusPolicyIsResonableChanged,
directly connected to the configChanged() signal.

REVIEW: 113336
2013-10-22 08:16:06 +03:00
Hugo Pereira Da Costa
b2aad6a693 fixed layout of oxygen decoration config in oxygen-settings 2013-10-21 17:00:04 +02:00
Hugo Pereira Da Costa
ce0d2af529 re-added checkbox to combobox signal-slot connection. 2013-10-21 15:56:25 +02:00
l10n daemon script
e01d259072 SVN_SILENT made messages (.desktop file) 2013-10-21 04:05:04 +00:00
Thomas Lübking
9bf14c2653 Merge branch 'KDE/4.11'
Conflicts:
	kwin/clients/aurorae/src/aurorae.cpp
2013-10-20 19:40:48 +02:00
Thomas Lübking
3692549170 fix deco config updates
- B2 linked to the wrong slot (instead of changed signal)
- border size change was not written (for B2, Laptop etc)
- Aurorae didn't recreate decos when required

BUG: 325946
FIXED-IN: 4.11.3
REVIEW: 113229
2013-10-20 19:37:14 +02:00
Thomas Lübking
d249075b5e Ensure to not clip windows when painting the cube
BUG: 325432
FIXED-IN: 4.11.3
2013-10-20 19:37:14 +02:00
Thomas Lübking
57cc5e2954 don't leak fpstext texture
BUG: 325610
FIXED-IN: 4.11.3
REVIEW: 113136
2013-10-20 19:37:14 +02:00
Thomas Lübking
eb059ad8a6 fix mouseclick animation repaint areas
REVIEW: 113212
BUG: 325869
FIXED-IN: 4.11.3
2013-10-20 19:37:13 +02:00
Thomas Lübking
a3cbe50e12 do not create window pixmap for Deleted windows
related black window issues

BUG: 325939
FIXED-IN: 4.11.3
2013-10-20 19:37:13 +02:00
Raphael Kubo da Costa
54b08b9d9e Merge branch 'KDE/4.11'
* KDE/4.11:
  Remove assertion in KDecorationUnstable's constructor.
  SVN_SILENT made messages (.desktop file)
  Cursor Theme KCM: Show correct resize cursor in preview for themes without a file called "size_fdiag"
  Fixed missing signal/slot connection:
  Fix zoom effect cursor position on initial zoom in.
  SVN_SILENT made messages (.desktop file)
  Don't show borders for a maximized Laptop client
  Always use PositionCenter for maximized windows
  Fix click on trash plasmoid when on desktop and widgets are unlocked

Conflicts:
	kwin/clients/aurorae/src/aurorae.cpp
	kwin/libkdecorations/kdecoration.cpp
	plasma/desktop/applets/trash/trash.cpp
	plasma/desktop/toolboxes/plasma-toolbox-desktoptoolbox.desktop
	plasma/desktop/toolboxes/plasma-toolbox-paneltoolbox.desktop
	plasma/generic/wallpapers/color/plasma-wallpaper-color.desktop
	plasma/generic/wallpapers/image/plasma-wallpaper-image.desktop
2013-10-20 17:42:39 +03:00
Raphael Kubo da Costa
92a4cdd9e7 Remove assertion in KDecorationUnstable's constructor.
Follow-up to c146941, which stopped exporting KDecorationBridgeUnstable.

The way the typeinfo and object comparisons are performed in a dynamic_cast
are not entirely defined in any ABI spec (or the C++ standard), and the
situation gets trickier when a hidden symbol (KDecorationBridgeUnstable)
gets passed between a program such as kwin or kcmshell4 and a dlopen()ed
library like kwin3_laptop.so: kwin is unaware of the symbol in
kwin3_laptop.so and vice-versa, so stricter implementations of the C++
runtime can choose to make the dynamic_cast call fail and return 0.

This was a source of crashes on GCC for a long time [1][2] until its
developers chose to make the typeinfo comparison in libstdc++ >= 4.5.x less
strict and just perform a string comparison of the type names by default.

[1] http://article.gmane.org/gmane.comp.gcc.patches/189813
[2] http://gcc.gnu.org/ml/gcc/2002-05/msg01970.html

It does not make things more correct, though, and after c146941 KWin started
crashing when built in debug mode and run with libcxxrt, another C++ runtime
implementation, since it performed a stricted typeinfo comparison by
default.

Simply removing the dynamic_cast should be fine: it is in an assertion, so
the code is not essential, and the assertion itself is not entirely correct.
Additionally, the assertion has already been removed from the master branch
in commit 4702bbd.

REVIEW:		113296
2013-10-20 17:37:18 +03:00
Hugo Pereira Da Costa
2b149bc18b kde4_add_kcfg_files -> kconfig_add_kcfg_files 2013-10-18 13:55:53 +02:00
Sebastian Kügler
b68867463e Change KF5::plasma to KF5::Plasma
Library name has changed in plasma-framework to bring it in line with
KF5:CamelCasing naming.
2013-10-16 01:36:56 +02:00
Bhushan Shah
7b9d0c63d0 Fix mistake 2013-10-14 21:01:11 +05:30
Bhushan Shah
ba6ff805bf kde4support-- 2013-10-14 20:54:11 +05:30
Bhushan Shah
a159a38a91 kde4support-- 2013-10-14 19:51:31 +05:30
Martin Gräßlin
e3618e8796 [kwin] Follow Qt's OpenGL choice for KWin
As KWin indirectly uses Qt's OpenGL through QtQuick we need to ensure
to not mix OpenGL and OpenGLES. So we have to built KWin only against
OpenGL if Qt is built against OpenGL and we have to built KWin only
against GLESv2 if Qt is built against GLESv2.

This means the kwin_gles binary is no more. There is only kwin which
either links GL or GLESv2.
2013-10-14 09:04:03 +02:00
Sebastian Kügler
3ec1b9fd6a link against Plasma, it's using framesvg 2013-10-11 01:10:11 +02:00
Sebastian Kügler
b8c55eddc5 Try to make jenkins happy
The logic to use $INCLUDE_INSTALL_DIR/KDE doesn't work there, since the
plasma includes land in a different path on the jenkins setup. Let's see
if this fixes it.
2013-10-11 01:00:31 +02:00
C Schell
07721aaab9 Fix zoom effect cursor position on initial zoom in.
BUG: 325799
FIXED-IN: 4.11.3
2013-10-10 07:39:52 +02:00
l10n daemon script
ad3449f3b1 SVN_SILENT made messages (.desktop file) 2013-10-09 06:54:18 +00:00
l10n daemon script
23fbf4395f SVN_SILENT made messages (.desktop file) 2013-10-09 04:14:36 +00:00
Hugo Pereira Da Costa
1e735ba765 fixed first tab shown in ui 2013-10-09 00:49:54 +02:00
Martin Gräßlin
4a8e52ee4c Don't show borders for a maximized Laptop client
Maximized windows should not have borders.

REVIEW: 113047
2013-10-08 10:15:08 +02:00
Martin Gräßlin
0ec8646d78 Always use PositionCenter for maximized windows
It was showing the resize cursor at the top title edge which is not
wanted in maximized mode.
2013-10-08 10:15:08 +02:00
Sebastian Kügler
1c3e540507 kde4_add_kdeinit_executable becomes kf5_add_kdeinit_executable 2013-10-08 01:00:27 +02:00
Sebastian Kügler
4138ba2fd4 Fix linker targets 2013-10-04 22:44:32 +02:00
Sebastian Kügler
bfe710dce7 KF5::KDeclarative 2013-10-04 22:21:22 +02:00
Sebastian Kügler
63b2a8f84a Add KCompletion to targets 2013-10-04 22:14:58 +02:00