Commit Graph

2391 Commits (4b41c33268a1c155c606293d1d39ba2f61a478ea)

Author SHA1 Message Date
l10n daemon script baf37deacd SVN_SILENT made messages (.desktop file) 2014-09-01 08:42:05 +00:00
Martin Gräßlin 3d3cd72fa2 [aurorae] Drop project from CMakeLists.txt
Left-over from when it used to be a separate project.
2014-08-21 13:24:25 +02:00
l10n daemon script 90bba3ba77 SVN_SILENT made messages (.desktop file) 2014-08-18 09:18:47 +00:00
l10n daemon script 2696112692 SVN_SILENT made messages (.desktop file) 2014-08-18 08:43:59 +00:00
l10n daemon script 36b404057d SVN_SILENT made messages (.desktop file) 2014-08-15 09:08:57 +00:00
l10n daemon script cbc401414f SVN_SILENT made messages (after extraction) 2014-08-08 09:24:13 +00:00
l10n daemon script 3340a5fa1a SVN_SILENT made messages (after extraction) 2014-08-08 08:31:20 +00:00
l10n daemon script f2b0481707 SVN_SILENT made messages (after extraction) 2014-08-07 08:45:26 +00:00
l10n daemon script b48595e86a SVN_SILENT made messages (after extraction) 2014-08-06 07:57:49 +00:00
Martin Gräßlin c40bdc1bb2 [aurorae] Use QMutexLocker in AuroraeClient's dtor
It's possible that the rendering thread is still writing to the
buffer and if we destroy the buffer before it's finished KWin is going
to crash. So let's mutex lock the dtor to ensure that the rendering
thread finishes before we tear down the client.

BUG: 336950
2014-07-07 13:49:10 +02:00
Martin Gräßlin 558e357575 [aurorae] Fix MaximizeRestore Button of Aurorae Themes
Seems like porting to new infrastructure was incomplete. The
MaximizeRestore button consists of two buttons on top of each other with
an own mouse area in each and both always visible. This means the restore
button was stealing the mouse events of the maximize button breaking
maximization.

The solution is to have an additional MouseArea which controls the whole
button making the two button types just visualization.
2014-07-07 08:38:41 +02:00
Martin Gräßlin 7c745ef991 [aurorae] Use NativeRendering for decoration title 2014-06-30 14:33:09 +02:00
l10n daemon script 28c7f3c47d SVN_SILENT made messages (.desktop file) 2014-06-29 08:41:34 +00:00
Martin Gräßlin 3a4bba7542 [aurorae] Fix the position passed in the QMouseEvent for processMousePressEvent
The position passed to core didn't take care of padding and that position
passed to decorationPos caused completely broken resize/moving behavior.
E.g. resize was started where it should have been moving, or jumping of
position when starting moving.

REVIEW: 118803
2014-06-23 08:08:36 +02:00
Martin Gräßlin bc236f3a4d [aurorae] Improve reading the border elements from C++ side
The KWin::Borders element is provided by an extension plugin. The reason
for that is to be able to use it from e.g. the kcm or Plasmate without
needing to compile the code in.

But this results in Aurorae itself not being able to access the element.
The solution is to first load our decoration plugin and afterwards
register the borders element again with the version compiled in from
Aurorae.

With that we can now read all borders and paddings without using
properties. Also we could connect to change signals and have the borders
and padding handling completely stateful. Might be an idea for extending
the decoration library...
2014-06-23 08:08:36 +02:00
Martin Gräßlin b85984fe8e [aurorae] Recreate decoration on config change
Border size might have changed and because of that we need to recreate
the decoration.
2014-06-23 07:42:18 +02:00
Martin Gräßlin 500ff7f68c [clients/aurorae] Change some connects to new syntax 2014-06-16 11:37:48 +02:00
Martin Gräßlin d0c83ddbf3 [kcmkwin/deco] Support loading translations for UI loaded configs
Qml based Aurorae themes can provided a ui file which gets loaded at
runtime. Obviously such a ui file is not translated. This introduces
quite a hack to load the translated strings.

First of all a new property is added to the service file for
specifying the translation domain to be used for the config UI. If
such a translation domain is set we extract all string properties of
the loaded UI and pass them through ki18nd.
2014-06-10 15:49:19 +02:00
l10n daemon script e73f6b2278 SVN_SILENT made messages (.desktop file) 2014-06-10 10:37:36 +00:00
Martin Gräßlin 48c3519390 [aurorae] Reparent main item to the QQuickWindow
This hopefully works around QTBUG-39336.

BUG: 335253
REVIEW: 118416
2014-06-03 09:20:53 +02:00
l10n daemon script 7553c411c2 SVN_SILENT made messages (.desktop file) 2014-05-03 08:32:58 +00:00
l10n daemon script 2f28437e24 SVN_SILENT made messages (.desktop file) 2014-05-02 08:51:14 +00:00
l10n daemon script 2838a9b606 SVN_SILENT made messages (.desktop file) 2014-04-29 10:12:33 +00:00
l10n daemon script 15aa971aab SVN_SILENT made messages (.desktop file) 2014-04-29 04:54:44 +00:00
l10n daemon script e1f418f4d0 SVN_SILENT made messages (.desktop file) 2014-04-28 09:00:35 +00:00
l10n daemon script f44575ddbf SVN_SILENT made messages (.desktop file) 2014-04-28 05:16:52 +00:00
l10n daemon script 69c3289c18 SVN_SILENT made messages (.desktop file) 2014-04-27 21:02:43 +00:00
l10n daemon script e6db000065 SVN_SILENT made messages (.desktop file) 2014-04-04 05:29:27 +00:00
l10n daemon script eef56c98b2 SVN_SILENT made messages (.desktop file) 2014-04-03 05:10:09 +00:00
David Faure 20bc3ff68b Include ksharedconfig.h (since it will be removed from kpluginfactory.h) 2014-03-29 09:32:06 +01:00
Martin Gräßlin cdd9c5bcf5 [kwin/aurorae] Have the QMutex in the Factory and not in each Client
This seems to fix the crash which could happen when closing a window. At
least the kwindowsystem unit tests no longer crash KWin (it was very
reliable before).

BUG: 332091
2014-03-27 14:19:04 +01:00
Marco Martin 16253d7fc3 qtextracomponents->kquickcontrolsaddons 2014-03-25 17:13:43 +01:00
Àlex Fiestas b33425baaa Move Oxygen kwin decoration to the oxygen folder 2014-03-24 16:43:11 +01:00
Aleix Pol 845d5872c4 solve fixme
use a meaningful version for the kwin oxygen client
2014-03-20 13:08:00 +01:00
Aleix Pol dde2519cd3 Move libs/oxygen into oxygen
Also make liboxygenstyle carry the include directories instead of doing it
explicitly from the scripts.
2014-03-20 13:08:00 +01:00
Aleix Pol e5bffd744b Stop using deprecated headers
Most things were already ported away, only that nobody realized they
weren't used.
2014-03-18 18:02:02 +01:00
Martin Gräßlin a4fe0b1d19 [kwin/oxygen] Include KPluginFactory
Got removed from kdecoration.h - sorry for the build failure.
2014-03-18 16:14:56 +01:00
Martin Gräßlin cf45bf43a6 [kwin/aurorae] Remove kde4 support bits from CMakeLists.txt 2014-03-18 10:56:46 +01:00
Aleix Pol c72e519d9c Remove KDE/ prefix in include directories
It's unneeded and deprecated since KF5.
2014-03-17 16:24:10 +01:00
Martin Gräßlin 5f6fcbbc9e [kwin/aurorae] Removed unused KPluginInfo
Removes warning about deprecated functionality.
2014-03-17 09:34:45 +01:00
Martin Gräßlin f74df28450 [kwin] Use KPluginTrader and json metadata to find KDecorations
* A KDecoration needs to include json metadata
* A KDecoration needs to be installed to kwin/kdecorations
* Aurorae and Oxygen adjusted
* kcmdeco locates all decorations through the KPluginTrader
* libkdecoration uses KPluginTrader to find the plugin
* config plugins also need to include json metadata with
  X-KDE-PluginInfo-Name being the same as the decoration
* config plugins need to get installed to kwin/kdecorations/config
* kcmdeco locates the config plugin for a deco through the name
  and KPluginTrader

REVIEW: 116765
2014-03-17 07:41:14 +01:00
l10n daemon script 4d9c6af719 SVN_SILENT made messages (.desktop file) 2014-03-14 07:37:21 +00:00
Martin Gräßlin 4703339ef6 [kwin/aurorae] Remove behavior animations on anchors
Looks like this completely broke in Qt. The groups are all placed at
0/0 if there is an animation defined and the complete layout is broken.

The animation is not that useful in fact so no big loss.
2014-03-12 11:45:46 +01:00
Martin Gräßlin 098620832a [kwin/oxygen] Add context object to lambda connections in Oxygen::Factory
The connect is from the KDecorationOptions which lives longer than the
factory, thus the lambda might be invoked after the Factory got
destroyed. Adding the context object protects against that.
2014-03-12 07:58:39 +01:00
Martin Gräßlin 9fc3aabc66 [kwin/aurorae] Default to no close on double click menu button
To increase consistency with other decorations and because it changes
the behavior of the menu button in an unexpected way we default to
double click menu button doesn't close the window.

BUG: 331462
FIXED-IN: 5.0
REVIEW: 116716
2014-03-11 15:46:21 +01:00
Martin Gräßlin 944ef39d83 [kwin/oxygen] Reorder variables in Oxygen::Factory
The _config is needed before the _helper gets created otherwise it
can end in a crash.
2014-03-05 14:07:49 +01:00
Martin Gräßlin 59d91b9fd3 Use KPluginLoader to load the decoration config dialog
Straight forward update from KLibrary to KPluginLoader.

REVIEW: 115931
2014-03-03 14:20:08 +01:00
Martin Gräßlin b3d3c45149 Use KPluginLoader to load our decoration plugins
This simplifies the plugin loading. Decorations just have to use
K_PLUGIN_FACTORY to specify how the KDecorationFactory needs to be
created. The KWIN_DECORATION macro is adjusted to generate the
boiler plate code, but it now needs to specify the name for the
pluginfactory and the KDecorationFactory.

This also transits the decoration abi version check to use
K_EXPORT_PLUGIN_VERSION which also simplifies the loading.

As a result the complete canLoad handling in DecorationPlugins is
removed.

REVIEW: 115930
2014-03-03 13:55:52 +01:00
David Faure 022304c0db Oxygen: avoid calls to reparseConfiguration() on startup.
strace -e open kate |& grep -v NOENT | grep oxygenrc | wc -l
  went from 8 to 4
  (and when looking for kdeglobals, from 13 to 11)

There's still a lot of work to be done in that area...
(within KConfigSkeleton, and probably kdeplatformtheme)

REVIEW: 115964
2014-02-27 21:12:36 +01:00
Martin Gräßlin 4586767db8 [kwin] Use imported targets for all XCB libs
Requires 04f78489265b6e52cabd2980dfc417abeee3a695 from ECM
2014-02-25 15:48:39 +01:00
Matteo De Carlo 8b5e4bfcfe Replace NULL with nullptr in clients folder
Replacing all NULL to nullptr in all the files in clients folder
(also substituting some "0" used as nullptr with nullptr)

REVIEW: 115921
2014-02-24 17:02:11 +01:00
l10n daemon script 6f8c3dd771 SVN_SILENT made messages (.desktop file) 2014-02-18 05:12:30 +00:00
Martin Gräßlin fdee4ea8c8 Adjust kde-workspace to introduction of flags in NET classes 2014-02-05 17:40:19 +01:00
Martin Gräßlin a6c47e0314 [kwin] Add ProvidersUrl to *.knsrc
That at least inits the GHNS download dialog.
2014-02-03 13:04:12 +01:00
Martin Gräßlin 73e6d9162d [oxygen/config] Use a pointer for the KWindowInfo member variable
The reason for this change is that the default ctor of KWindowInfo
creates a broken object. Calling any method in it will result in a
crush. Thus it is scheduled for removal in kwindowsystem framework
causing this code to no longer compile.

The solution is to use a pointer and set it to null as long as the
window has not been detected yet.

This is the same change as done for kcm kwinrules. And here we se
why copying code is bad ;-)
2014-02-01 08:58:26 +01:00
Martin Gräßlin 2a5a89a0e4 [kwin] Remove b2 and laptop window decorations
They have been unmaintained for a long time and nobody stepped up to
port them to the changes in the decoration API. If at some time someone
wants to bring them back it's still in the git history.
2014-01-30 11:03:39 +01:00
l10n daemon script 22a5e1109f SVN_SILENT made messages (.desktop file) 2014-01-19 04:06:03 +00:00
Thomas Lübking 4bb88df714 Merge branch 'KDE/4.11' 2014-01-14 22:51:24 +01:00
Thomas Lübking 2ee0f27d43 fix laptop deco painting
REVIEW: 114511
BUG: 329326
FIXED-IN: 4.11.6
2014-01-14 22:28:50 +01:00
Aleix Pol e995a9d76f Remove qt4_automoc calls
They're not needed anymore, and break my build directory from time to time.
If this commit breaks your compilation, clean your build directory (or at
least the plasma and kwin subdirectories).
2014-01-07 15:29:44 +01:00
Martin Gräßlin afbc5222e1 Merge branch 'KDE/4.11' into master
Conflicts:
	CMakeLists.txt
	doc/kcontrol/screensaver/index.docbook
	kcontrol/krdb/krdb.cpp
	kscreensaver/kblank_screensaver/kblank.desktop
	kscreensaver/krandom_screensaver/krandom.desktop
	kscreensaver/libkscreensaver/main.cpp
	ksplash/ksplashqml/SplashApp.cpp
	kstyles/oxygen/config/main.cpp
	kstyles/oxygen/demo/main.cpp
	kstyles/oxygen/oxygenstylehelper.cpp
	kwin/clients/oxygen/config/oxygenexceptiondialog.cpp
	kwin/clients/oxygen/config/ui/oxygenconfigurationui.ui
	kwin/clients/oxygen/config/ui/oxygenexceptiondialog.ui
	kwin/clients/oxygen/demo/main.cpp
	kwin/clients/oxygen/oxygenconfigdata.kcfg
	kwin/egl_wayland_backend.cpp
	kwin/eglonxbackend.h
	kwin/glxbackend.cpp
	kwin/glxbackend.h
	kwin/kcmkwin/kwinoptions/kwinactions.desktop
	kwin/scene_opengl.cpp
	kwin/scene_opengl.h
	plasma/desktop/applets/pager/pager.cpp
	plasma/desktop/shell/activitymanager/activitymanager.cpp
	plasma/desktop/shell/activitymanager/activitymanager.h
	plasma/desktop/shell/controllerwindow.cpp
	plasma/desktop/shell/data/plasma-desktop.desktop
	plasma/generic/dataengines/geolocation/geolocation.cpp
	plasma/generic/dataengines/nowplaying/plasma-dataengine-nowplaying.desktop
	plasma/generic/wallpapers/color/plasma-wallpaper-color.desktop
	plasma/generic/wallpapers/image/image.cpp
	plasma/generic/wallpapers/image/image.h
2014-01-07 09:36:11 +01:00
l10n daemon script c9c902b7e5 SVN_SILENT made messages (.desktop file) 2013-12-19 06:44:27 +00:00
Hugo Pereira Da Costa 97787bec30 fixed email 2013-12-18 13:51:27 +01:00
Hugo Pereira Da Costa 8aa482f743 Fixed email address in all headers. 2013-12-18 13:29:16 +01:00
Hugo Pereira Da Costa 5d2361b42a Fixed email address in all headers. 2013-12-18 13:24:56 +01:00
Hugo Pereira Da Costa 68014f2b55 Added option in oxygenrc to disable window background:
[Common]
UseBackgroundGradient=true

Option is hidden (no UI element) because of string freeze
Also removed decoration blend style option.
Background gradient is now always decided based on window flag.
CCBUG: 273423
2013-12-17 18:37:59 +01:00
Hugo Pereira Da Costa ff9b1366aa Removed background blend style option.
Background gradient is now always decided based on window flag.
CCBUG: 273423

Added option in oxygenrc to disable window background:

[Common]
UseBackgroundGradient=true

Option is hidden (no UI element) because of string freeze
Also removed decoration blend style option.
Background gradient is now always decided based on window flag.
CCBUG: 273423
2013-12-17 18:17:57 +01:00
Martin Klapetek 54bc491c46 Port to KF5 renaming changes 2013-12-11 21:41:47 +01:00
Hugo Pereira Da Costa 3f37b36fdb re-enable kstyle hook 2013-12-08 13:07:55 +01:00
Àlex Fiestas acc0498102 Commented usage of removed KStyle api 2013-12-05 16:09:13 +01:00
Jacob Logan 199ed87c61 [libkdecorations] Generate an export header
REVIEW: 114247
2013-12-05 10:00:46 +01:00
Eric Newberry 02a42b355b Converted Aurorae to categorized logging. 2013-11-25 15:37:33 +01:00
Martin Gräßlin 7360d5b79e [oxygen] Use KCommonDecoration::palette() to get the QPalette to use
Instead of getting the palette of the widget we access the decoration
to have Oxygen follow the color scheme defined on a window.
2013-11-25 09:44:23 +01:00
Hugo Pereira Da Costa a4b4d696f1 use QApp->setOverrideCursor when detecting window 2013-11-15 16:54:15 +01:00
Aleix Pol 7b110f0671 Improve CMake usage
It's basically a run of the port-cmake.sh script in here, mostly the changes
are the following:
- Using KF5::* targets
- Using the proper macros, following recent developments in frameworks
2013-11-15 13:37:47 +01:00
Martin Gräßlin 719923d410 [kwin/aurorae] Add mutex locker around access to the render buffer
We were facing crashes when the buffer image was being read from and
written to at the same time.
2013-11-14 09:41:52 +01:00
Martin Gräßlin 73e0a6586c [aurorae] Use enum type for Decoration Buttons
Defines the DecorationButton type in DecorationOptions (needs to be
re-defined due to QML limitations) and exports the buttons as a
QList<int> property (again QML limitations).

All QML files are switched from string to the new enum type.
2013-11-14 09:41:52 +01:00
Martin Gräßlin 529fcf0c46 [aurorae] Drop default title buttons left/right from theme config
Nowhere used inside Aurorae.
2013-11-14 09:41:52 +01:00
Martin Gräßlin 5012f9e83a [oxygen] Drop redefining the default decoration buttons
There is no difference between Oxygen and default KDecoration, so
it's not needed. It's also conceptionally wrong: decorations should
not be able to change the global default.
2013-11-14 09:41:52 +01:00
Martin Gräßlin 47857bb9f3 [oxygen] Use new update mechanism of KDecoration in the Button
This allows to have the button animations working in the preview.

Needs to change the reference to Client to non-const.
2013-11-14 09:41:52 +01:00
Martin Gräßlin 612709d9d3 [aurorae] Use QWindow based API instead of wrapping in a QWidget
Works quite decently already, but some things do not work properly yet,
e.g. doubleclick on decoration is not noticed.
2013-11-14 09:41:51 +01:00
Martin Gräßlin 98549449d6 [aurorae] Implement new render method in Aurorae
Improves the situation a little bit: schedules updates without
rendering to the QWidget, but still fbo -> QImage in each frame.
2013-11-14 09:41:50 +01:00
Martin Gräßlin f8acfbf2a0 [aurorae] Connect PlastikButton to options::colorChanged signal
Fixes incorrect button color. DecorationOptions and PlastikButton are
both connected to decoration.active and the button gets invoked first,
thus the titleBarColor is still for the previous state. This was fun!
2013-11-14 09:41:50 +01:00
Martin Gräßlin dd6598c1ff [aurorae] Hack to get Aurorae work with compositing
This is a temporary solution! A proper solution needs changes in
libkdecoration and paint redirector.

The hack redirects the rendering into an FBO. After each rendering we
get a QImage from the FBO and store that in a buffer. As we unfortunately
do not know what changed, we schedule a complete update on the deco's
widget. Once we get the paint event we just render the buffer on the
widget. And thus we have copied the content to a place where it
integrates with the paint redirector.

As already written, this is a horrible hack and I'm not proud about it.
There are just too many copies involved.

So how to improve?
* deco should be able to just provide a QImage to the PaintRedirector
  without the paint to the QWidget.
* only do the FBO -> QImage step if it is needed by the compositor, that
  is compress the events
* for OpenGL compositing it would be totally awesome if we could just
  make the contexts sharing so that we can just reuse the texture from
  the FBO directly.
2013-11-14 09:41:50 +01:00
Martin Gräßlin 93c2eea528 [aurorae] Use QtQuick2 instead of QtDeclarative
Major transition to render using QtQuick 2. This means the actual
rendering needs a QQuickWindow which we embed into a QWidget container.
Not an optimal solution, deco API should offer to operate on QWindow.

For non-composited the decoration gets rendered but for composited
rendering the paint redirector is broken. There are no paint events on
the main QWidget to intercept and thus the redirection doesn't work.
2013-11-14 09:41:50 +01:00
Martin Gräßlin d1afcc7cb2 [aurorae] Whether animations are supported only depends on compositing
Test for raster graphics system doesn't make any sense in QtQuick2 world.
2013-11-14 09:41:50 +01:00
Martin Gräßlin 736a0c5611 [aurorae] Fix locating of theme configuration file 2013-11-14 09:41:50 +01:00
Aurélien Gâteau 47c12347ea Fix clean build
libkdecorations is part of kde-workspace so calling find_library() cannot
work on a clean build since it has not been installed yet. CMake knows
about it anyway since its part of kde-workspace, so it can use it without
finding it.

CCMAIL: hugo@oxygen-icons.org
2013-11-13 10:11:40 +01:00
Hugo Pereira Da Costa caa660fdb8 use add_library instead of kde4_add_plugin
reduced KF5 dependencies.
2013-11-13 17:32:14 +01:00
Hugo Pereira Da Costa 242dcb87d3 removed lib from config plugin libraries
consistently added MODULE to relevant add_library calls.
2013-11-13 17:32:14 +01:00
Hugo Pereira Da Costa eaa1930975 use Helper::ScopedPointer instead of QScopedPointer for simplification. 2013-11-12 00:54:26 +01:00
Hugo Pereira Da Costa 33363908c1 ensures xcb_reply_t deallocation using QScopedPointer 2013-11-12 00:54:25 +01:00
Hugo Pereira Da Costa bdd1cfd7b8 QLatin1String -> QStringLiteral 2013-11-12 00:52:29 +01:00
Bhushan Shah 935851a2b5 kDebug -> qDebug in kwin 2013-11-01 17:00:41 +05:30
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
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
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