Commit graph

851 commits

Author SHA1 Message Date
Martin Gräßlin
7da6d3a41e [kcmkwin/deco] Add configuration for decoration plugin/themes
This brings back the configuration for decoration plugins. As a change
to the old variant the configure button is moved into the list view
together with the preview. It is enabled/disabled depending on data
provided by the DecorationModel. For a plugin the DecorationModel
queries for a boolean "kcmodule" key in the metadata. For a theme it
invokes the slot hasConfiguration with the theme name which returns
whether the theme provides configuration.

The actual opening of the configuration is triggered from the
PreviewBridge, which uses the existing KPluginFactory to load the
KCModule. The decoration plugin must provide the keyword "kcmodule"
for it.

So far Aurorae is adjusted and provides configuration for the Plastik
decoration. The interaction with the configuration module works, but
the configuration itself for Plastik seems to be currently broken.
2014-12-05 13:44:16 +01:00
Martin Gräßlin
2034e7e875 [kcmkwin/deco] Bring back KNewStuff support
KNewStuff is no longer hard-coded to Aurorae themes. Instead the
availability of KNewStuff is derived from the available plugin
metadata. If the section org.kde.kdecoration2 contains a key
"KNewStuff" it's value is interpreted as the knsrc config file name.
If there is at least one plugin with such a key KNS gets enabled.

If there are multiple plugins providing KNS support the download
button is turned into a button with a connected menu and each menu
entry points to one of the available resources. Of course this is
not optimal, but KNS doesn't allow the combining of multiple config
files.
2014-12-05 10:15:41 +01:00
Martin Gräßlin
623ac3faa3 [kcmkwin/deco] Fix defaults for border size and close window double click 2014-12-04 17:41:57 +01:00
Martin Gräßlin
6b7fd5b9bc [kcmkwin/deco] Only specify QStringLiteral("Normal") once 2014-12-04 17:41:18 +01:00
Martin Gräßlin
dc9437e59a [kcmkwin/deco] Add a filter and a QSortFilterProxyModel 2014-12-04 17:35:08 +01:00
Martin Gräßlin
39f9581d4f Bring back configuration options for Decorations
* Border Sizes
* Close menu double click

Both are added to the Settings and exposed in the decoration kcm.
As it started to no longer scale the kcm uses a ui file.

Still missing:
* buttons
* custom decoration configuration
* GHNS
* search
2014-12-04 16:28:06 +01:00
Martin Gräßlin
0646c58fe2 [kcmkwin/kwindecoration] Exclude buttons.cpp and configdialog.cpp from build
With that we should not have anything pulling in kdecoration.h
2014-12-02 15:21:15 +01:00
Martin Gräßlin
c2e53b9a2f Merge branch 'kdecorations2'
Conflicts:
	effects.cpp
	paintredirector.cpp
2014-12-02 08:38:10 +01:00
Martin Gräßlin
106e595709 DecorationSettings provides QVector for decorationButtons 2014-12-01 11:53:44 +01:00
Martin Gräßlin
027a7a1646 [kdecoration2] Decoration::shadow returns QSharedPointer
Adjust all components to use the QSharedPointer. Aurorae obviously has
to create a QSharedPointer, Shadow holds a QSharedPointer for the
DecorationShadow (advantage: is kept when the Decoration is destroyed),
and the KCM needs to add a property on PreviewItem to get access to the
Shadow. It's no longer a Q_PROPERTY on Decoration and we cannot re-add
it as a dynamic property (cannot be read from QML side).
2014-12-01 09:40:24 +01:00
Martin Gräßlin
d1bf38e92c [kdecoration2] Detect double clicks on the decoration title bar
No longer handled by the Decoration.
2014-11-28 14:50:21 +01:00
Martin Gräßlin
0cc86656c9 DecorationButtonType::QuickHelp -> DecorationButtonType::ContextHelp 2014-11-28 11:27:31 +01:00
Martin Gräßlin
211834edcc [kdecoration] ::paint uses QRect instead of QRegion 2014-11-28 10:26:23 +01:00
Martin Gräßlin
f103cd0bea DecorationShadow elements are QRects 2014-11-12 09:06:03 +01:00
Martin Gräßlin
faa78e187e Rename DecoratedClient::borderingScreenEdges to adjacentScreenEdges 2014-11-11 14:33:31 +01:00
Martin Gräßlin
dc85ab14f8 Decoration::windowFrameSection renamed to ::sectionUnderMouse 2014-11-11 13:17:50 +01:00
Martin Gräßlin
2fdafbb133 s/requestMaximize/requestToggleMaximization/g 2014-11-11 09:53:54 +01:00
Martin Gräßlin
cb9cbae36e Decoration::paint takes the repaint region 2014-11-11 09:39:45 +01:00
Martin Gräßlin
062d071fc5 [kwindecoration] Add a PreviewButtonItem to the declarative plugin
Allows to create a DecorationButton and renders a preview for it.
Very basic, doesn't forward mouse events, etc.
2014-11-03 16:12:54 +01:00
l10n daemon script
a010bbc6a7 SVN_SILENT made messages (.desktop file) 2014-11-02 21:49:41 +00:00
Martin Gräßlin
8dd0a8163f [kcmkwin/kwindecoration] Import a new decoration configuration module
Following features are supported:
* finds all plugins
** finds all themes for a theme-engine plugin
* renders previews for the plugin/themes
* loads currently used plugin/theme
* saves selected plugin/theme
* triggers config reload in KWin

Following features are currently not supported:
* Search
* Plugin configuration
* GHNS
* Button configuration
2014-10-31 07:53:04 +01:00
l10n daemon script
7d9831d8b4 SVN_SILENT made messages (.desktop file) 2014-10-23 08:55:48 +00:00
l10n daemon script
5288363274 SVN_SILENT made messages (.desktop file) 2014-10-17 09:07:36 +00:00
Volker Krause
5db2d5a556 Make constants const, saves a few symbols in the .data section. 2014-09-27 20:30:49 +02:00
l10n daemon script
08540b45eb SVN_SILENT made messages (.desktop file) 2014-09-21 08:48:08 +00:00
l10n daemon script
1205c9c170 SVN_SILENT made messages (.desktop file) 2014-09-07 08:46:08 +00:00
l10n daemon script
baf37deacd SVN_SILENT made messages (.desktop file) 2014-09-01 08:42:05 +00:00
l10n daemon script
5114d9b5da SVN_SILENT made messages (.desktop file) 2014-08-31 08:41:36 +00:00
l10n daemon script
f2fc577770 SVN_SILENT made messages (.desktop file) 2014-08-24 08:45:33 +00:00
l10n daemon script
1478a08c31 SVN_SILENT made messages (.desktop file) 2014-08-14 08:44:45 +00:00
l10n daemon script
f2b66e478f SVN_SILENT made messages (.desktop file) 2014-08-11 08:31:30 +00:00
l10n daemon script
3340a5fa1a SVN_SILENT made messages (after extraction) 2014-08-08 08:31:20 +00:00
l10n daemon script
2f5daf5f4b SVN_SILENT made messages (after extraction) 2014-08-07 07:56:52 +00:00
l10n daemon script
b48595e86a SVN_SILENT made messages (after extraction) 2014-08-06 07:57:49 +00:00
l10n daemon script
2c78ff8bfd SVN_SILENT made messages (.desktop file) 2014-07-25 10:15:29 +00:00
l10n daemon script
5179d4d3c9 SVN_SILENT made messages (.desktop file) 2014-07-16 09:40:44 +00:00
Sebastian Kügler
70015e2bed Fix category for kwindecorations kcm 2014-07-01 16:23:40 +02:00
Sebastian Kügler
b5000a21b7 Adapt to new systemsettings categories
Roughly, this moves the systemsettings-visible KCModules under either
Workspace | Window Behavior and Workspace | Desktop Behavior, as laid
out here: http://forum.kde.org/viewtopic.php?f=285&t=121053&start=30#p313837
2014-07-01 12:44:41 +02:00
l10n daemon script
28c7f3c47d SVN_SILENT made messages (.desktop file) 2014-06-29 08:41:34 +00:00
l10n daemon script
026f5ea660 SVN_SILENT made messages (.desktop file) 2014-06-20 09:01:14 +00:00
Martin Gräßlin
8aa8617ed4 Drop our custom KLocalizedTranslator
It's upstreamed to ki18n framework.
2014-06-18 15:02:58 +02:00
Martin Gräßlin
8c42df77e0 [kcmkwin/kwindecoration] Mock signals in AuroraeDecoration.qml
This silences some connection failed runtime warnings.

BUG: 336278
2014-06-16 11:37:48 +02:00
l10n daemon script
4a88e1b005 SVN_SILENT made messages (.desktop file) 2014-06-16 08:24:58 +00:00
l10n daemon script
eb5abedbe7 SVN_SILENT made messages (.desktop file) 2014-06-12 08:30:34 +00:00
l10n daemon script
ea866906f0 SVN_SILENT made messages (.desktop file) 2014-06-11 08:21:08 +00: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
l10n daemon script
9b869958b3 SVN_SILENT made messages (.desktop file) 2014-06-08 08:27:53 +00:00
l10n daemon script
4c49449bcb SVN_SILENT made messages (.desktop file) 2014-06-07 08:25:25 +00:00
l10n daemon script
abe62085e8 SVN_SILENT made messages (.desktop file) 2014-06-06 08:52:09 +00:00
l10n daemon script
bbcacffd23 SVN_SILENT made messages (.desktop file) 2014-06-05 08:37:44 +00:00
Sebastian Kügler
999baabcfa [kwin] Streamline Comment fields of KCMs
This patch applies a common language and type-setting to the
systemsettings modules in kwin.

Considerations:
- The comment field might repeat the name, or give more detail about the
  specific settings on this page, this makes sense with how
  systemsettings and kcmshell present it
- Mentioning the words settings, configure, options, etc. is avoided --
  it is clear from the context that these are settings and options.
- Title-case throughout in line with human interface guidelines, see
  http://techbase.kde.org/Projects/Usability/HIG/Capitalization
- The comment ends up being the title, so the
- tech slang is avoided as much as possible, but left in where really
  necessary
- I've left the Name field "mostly untouched", as that one is key for
  the user to find the right module in systemsettings' icon view and in
  the sidebars

The most prominent change is "Compositor" to "Graphics Compositor" (in
the Title field). This is more like a "suggestion", if you don't like
it, I'll take it out again. Reasoning: "Compositor" is a very technical
term, people who know graphics might recognize it. Others might not
understand that "composite" is about graphics -- hence the
specialization. Please enter the commit message for your changes. Lines starting

REVIEW:118338
2014-06-04 13:31:33 +02:00
Andreas Hartmetz
9c73055a10 Adapt to changes in KAboutData. 2014-05-14 05:04:40 +02:00
Martin Gräßlin
1c2f27945c Adjust kcmkwins to new ki18n
Define the TRANSLATION_DOMAIN in each of the kcms and use
ki18n_wrap_ui.
2014-05-05 08:03:55 +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
Martin Gräßlin
ee20101142 Fix deprecated warnings for KAboutData
Ctor with catalog name got deprecated, use ctor without it.
2014-04-28 17:11:20 +02:00
Aleix Pol
36e93e9c5a Adapt to changes in KDEInstallDirs
Plugins of non kf5 frameworks are not in a kf5/ subdir anymore

REVIEW: 117838
2014-04-28 15:36:44 +02: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
Martin Gräßlin
704e42163d [kwin] Add missing includes
Were missing if built stand-alone.
2014-03-18 14:37:01 +01:00
Martin Gräßlin
18a37d7ee8 [kwin] Fix includes of kde4support headers
* drop unused headers
* use QExplicitlySharedDataPointer instead of KSharedPointer
* drop KDE/ from includes
2014-03-18 14:34:36 +01:00
Martin Gräßlin
9874187099 [kwin] Add a KWIN_SOURCE_DIR to the CMakeLists.txt
This is used to get to KWin's sources instead of
KDEBASE_WORKSPACE_SOURCE_DIR.
2014-03-18 12:08:14 +01:00
Martin Gräßlin
dbf2218338 [kwin] kde4_add_ui_files -> qt5_wrap_ui
Less deprecated CMake usage.
2014-03-18 11:06:56 +01:00
Martin Gräßlin
dc58fc2c32 [kwin/kcms] Another round of kdialog removals 2014-03-18 09:11:07 +01:00
Martin Gräßlin
8e4f8f0d9c [kwin/kcms] Only link KCMUtils where needed
In some KCMs we don't use anything from KCMUtils but just KCModule
which is in ConfigWidgets.
2014-03-18 07:41:30 +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
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
a51cbf7b9e [kwin/kcmdeco] Show an information if close window by dbl click gets activated
The option changes the behavior of the menu button, thus we should point
out to the user that the behavior changes.

This is only done for Auroae configurations as other decorations have to
take care about it themselves.

CCBUG: 331462
REVIEW: 116715
2014-03-12 07:33:47 +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
2675b5d4e7 Merge branch 'KDE/4.11'
Conflicts:
	CMakeLists.txt
	kcontrol/screensaver/screensaver.desktop
	kdm/kfrontend/themes/elarun/KdmGreeterTheme.desktop
	khotkeys/kcm_hotkeys/kcm_hotkeys.cpp
	kinfocenter/main.cpp
	kscreensaver/kblank_screensaver/blankscrn.cpp
	kscreensaver/krandom_screensaver/random.cpp
	kstyles/oxygen/config/main.cpp
	kstyles/oxygen/demo/main.cpp
	ksysguard/gui/ksysguard.cpp
	kwin/clients/oxygen/demo/main.cpp
	kwin/kcmkwin/kwincompositing/kwincompositing.desktop
	kwin/tabbox/qml/clients/text/metadata.desktop
	kwin/tabbox/qml/clients/window_strip/metadata.desktop
	libs/plasmagenericshell/widgetsexplorer/package/metadata.desktop
	plasma/desktop/applets/pager/package/metadata.desktop
	plasma/desktop/shell/activitymanager/package/metadata.desktop
	plasma/desktop/shell/data/layouts/org.kde.plasma-desktop.defaultPanel/contents/layout.js
	plasma/desktop/shell/desktopcorona.cpp
	plasma/desktop/shell/main.cpp
	plasma/desktop/toolboxes/plasma-toolbox-desktoptoolbox.desktop
	plasma/desktop/toolboxes/plasma-toolbox-paneltoolbox.desktop
	plasma/generic/applets/batterymonitor/contents/ui/batterymonitor.qml
	plasma/generic/applets/systemtray/protocols/fdo/fdographicswidget.cpp
	plasma/generic/applets/systemtray/protocols/fdo/fdographicswidget.h
	plasma/generic/applets/systemtray/protocols/fdo/x11embeddelegate.cpp
	plasma/generic/runners/nepomuksearch/plasma-runner-nepomuksearch.desktop
	plasma/generic/wallpapers/color/plasma-wallpaper-color.desktop
	plasma/generic/wallpapers/image/plasma-wallpaper-image.desktop
	plasma/netbook/shell/nettoolbox/plasma-toolbox-nettoolbox.desktop
	statusnotifierwatcher/statusnotifierwatcher.cpp
	systemsettings/app/main.cpp
2014-03-10 21:21:16 +01:00
l10n daemon script
fbd985ae3d SVN_SILENT made messages (.desktop file) 2014-03-10 07:33:17 +00:00
Martin Gräßlin
aee20b4a5a Hide the OnAllDesktops button if there is only one virtual desktop
In KCommonDecoration the OnAllDesktops button gets hidden or shown
depending on the number of desktops. For that KDecoration is extended
by a new property which delegates to the bridge to return whether
onAllDesktops is available. In KWin Core this is implemented using
the number of desktops.

FEATURE: 321611
FIXED-IN: 5.0.0
REVIEW: 116076
2014-03-05 13:02:32 +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
Martin Gräßlin
3d6a77cdd7 [kwin/kcmdeco] Fix layout of button config dialog 2014-02-27 11:48:16 +01:00
Martin Gräßlin
b8f9fb254f Fix config dialog of Aurorae decorations
Install the layout on the dialog not on the KCM.
2014-02-21 12:12:05 +01:00
Martin Gräßlin
b901928801 Fix position of buttons in decoration config dialog
Add after the main item, not before.
2014-02-21 12:08:31 +01:00
l10n daemon script
fab5def5e9 SVN_SILENT made messages (.desktop file) 2014-02-18 09:04:31 +00:00
l10n daemon script
6f8c3dd771 SVN_SILENT made messages (.desktop file) 2014-02-18 05:12:30 +00:00
Martin Gräßlin
16c44810cb [kwin] Drop more unused includes
--warnings
2014-02-03 11:45:35 +01:00
Martin Gräßlin
fcebfa799f [kwin] Fix ordering
--warnings
2014-02-03 11:37:04 +01:00
l10n daemon script
588ad2be66 SVN_SILENT made messages (.desktop file) 2014-01-19 06:36:32 +00:00
l10n daemon script
22a5e1109f SVN_SILENT made messages (.desktop file) 2014-01-19 04:06:03 +00:00
Martin Gräßlin
544820793e And another KNS3 build fix 2014-01-15 21:21:31 +01:00
Matteo De Carlo
aad36da80b Replace NULL with nullptr in kcmkwin
Replacing all NULL to nullptr in all the files in kcmkwin folder
(also substituting some "0" used as nullptr with nullptr)

REVIEW: 114803
2014-01-08 10:30:38 +01:00
Martin Gräßlin
2486e8e36e [kwin/kcmdeco] Add missing i18n call 2013-12-14 16:10:32 +01:00
Laurent Navet
88fc43beeb kwin : replace Q_FOREACH with for(a:b)
replace Q_FOREACH loops with newer for (a:b) notation

Signed-off-by: Laurent Navet <laurent.navet@gmail.com>

REVIEW: 114222
2013-12-13 08:54:34 +01:00
Martin Klapetek
54bc491c46 Port to KF5 renaming changes 2013-12-11 21:41:47 +01:00
Aleix Pol
f8468b4043 Drop KDE4Support in kde-workspace/kwin
REVIEW: 114316
2013-12-05 20:24:02 +01:00
Martin Gräßlin
23a510c0b5 [kdecorations] Add a ::palette() to the decoration API
The ::palette() in KDecoration and KCommonDecoration returns the
QPalette the decoration should use for the decorated window. The
call delegates into the bridge and KWin core might provide a special
QPalette for a given Client depending on the _KDE_NET_WM_COLOR_SCHEME
property.
2013-11-25 09:44:23 +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
07294b49f2 [kcmdeco] Use new DecorationButton types for describing the buttons
Rather heavy change to get the kcm to no longer use the string based
definition of the buttons on the left and right.
2013-11-14 09:41:52 +01:00
Martin Gräßlin
f03104ac17 [kcmdeco] Connect PreviewItem to factory's recreateDeco signal 2013-11-14 09:41:52 +01:00
Martin Gräßlin
3ea18be574 [kcmdeco] Move KDecorationPreviewOptions into the Model
We need to have it around and not in the Preview widget to be able
to update the options when the buttons change.
2013-11-14 09:41:52 +01:00
Martin Gräßlin
aab6037c4a [kcmdeco] KIcon -> QIcon::fromTheme 2013-11-14 09:41:52 +01:00
Martin Gräßlin
b150d9ddc1 [kcmdeco] Clean up includes 2013-11-14 09:41:52 +01:00
Martin Gräßlin
a98dbd7460 [kcmdeco] Drop the old preview code
All the rendering to QPixmap code in the Model and the Preview is
deleted as it's no longer used.

The model still has the plugin for the border size functionality.
This probably needs a change in the API to make it completely bound
to the decoration and not a global thing.
2013-11-14 09:41:52 +01:00
Martin Gräßlin
1674824e79 [kcmdeco] Introduce a new PreviewItem for rendering QWidget based decos in QML
Using a QQuickPaintedItem for the rendering. The item gets the library
name from the model and loads the decoration with its own decoration
plugin. Thus each preview has its own plugin which eliminates the need to
constantly recreate the decoration as it is done with the preview.

Having a QQuickItem gives new possibilities. The item accepts hover
events and forwards them as enter and leave events to the widgets inside
the decoration. By that the mouse interaction of e.g. Oxygen is still
functional. If the decoration uses the new update approach the bridge is
forwarding the updates to the item and triggering a repaint so we even
have animations in the preview although the widget is never shown.
2013-11-14 09:41:52 +01:00
Martin Gräßlin
d6bf62eb3e [kdecorations] Drop initialParentWidget()
No longer needed for creating the preview and not set in our main
bridge. Thus it can go and we just use NULL as the parent widget.
2013-11-14 09:41:50 +01:00
Martin Gräßlin
51ee2e86d1 [kdecorations] Introduce new way to schedule updates in composited case
The PaintRedirector calls the new method KDecoration::render and passes
it's PaintDevice and the region to update to it. A decoration can
implement this method and provide an optimized implementation for the
painting which does not go through the deco's QWidget at all. In addition
the decoration can invoke an update() slot which will schedule a repaint
in the PaintRedirector and thus completely replaces the need for
intercepting paint events on the QWidget and also allows to add QWindow
based decorations in future.
2013-11-14 09:41:50 +01:00
Aurélien Gâteau
05b6de1002 ${KDE4Support_LIBRARIES} => KF5::KDE4Support
Fixes a few link errors
2013-10-29 13:00:46 +01: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
Sebastian Kügler
63b2a8f84a Add KCompletion to targets 2013-10-04 22:14:58 +02:00
Martin Gräßlin
d1559341d6 [kcmdeco] Adjust linking for the KCM 2013-10-01 14:05:59 +02:00
Martin Gräßlin
9013f4ac8f [kcmdeco] Use QtQuick2 for the decoration preview list
This introduces quite some changes. We cannot include a QQuickView
directly in the QWidget based UI as a replacement for the
QDeclarativeView used before.

Instead a QScrollArea is used as replacement for the view and a
QQuickView is embedded into a widget container in the scroll area's
view port. This allows us to keep the existing semantic of having a
native scroll bar synced with the list view. It might be an idea to
change this to QtQuickControls in future.

As the list view is now only inside the scroll area we do not need to
pass the slider width to the root context and can by that more easily
calculate the width of one decoration.
2013-10-01 14:05:59 +02:00
Martin Gräßlin
9caba1cb8d [kcmdeco] Fix finding of all Aurorae themes 2013-10-01 14:05:59 +02:00
Martin Gräßlin
0288f42bc0 [kcmdeco] Handle reset of factory in new way
Reset on the factory cannot be invoked directly anymore. The factory
connects to change signals and emits a signal in case the decorations
need to be re-created. So we need to connect to this signal whenever
we expect that a change might trigger a recreation.
2013-10-01 14:05:59 +02:00
Martin Gräßlin
95bf0bb84f [kcmdeco] Add override to all virtual methods in preview.h
One method changed, so make sure it hits a compile error if we
change another one.
2013-10-01 14:05:59 +02:00
Martin Gräßlin
127d68486d [kcmdeco] Drop componentData() 2013-10-01 14:05:59 +02:00
Martin Gräßlin
f402fb9ea2 [kcmdeco] No QStringLiteral in a Q_FOREACH
Interesting compile error. Switching to modern for loop fixes the
issue.
2013-10-01 14:05:59 +02:00
Martin Gräßlin
0efe2462ee [kcmdeco] kcmshell4 -> kcmshell5 2013-10-01 14:05:59 +02:00
Martin Gräßlin
fe0493e63d [kcmdeco] Adjust includes 2013-10-01 14:05:58 +02:00
Martin Gräßlin
bd60db95f0 [kcmdeco] Adjust to new KAboutData 2013-10-01 14:05:58 +02:00
Martin Gräßlin
a4f55070f2 [kcmdeco] KIcon -> QIcon::fromTheme 2013-10-01 14:05:58 +02:00
Martin Gräßlin
2ff2164ba0 [kcmdeco] Use KConfigLoader instead of Plasma::ConfigLoader 2013-10-01 14:05:58 +02:00
Martin Gräßlin
56722972a7 [kcmdeco] Adjust to kdecoration changes
There are no unstable classes any more.
2013-10-01 14:05:58 +02:00
Martin Gräßlin
8681c69d60 [kcmdeco] slots/signals -> Q_SLOTS/Q_SIGNALS 2013-10-01 14:05:58 +02:00
Martin Gräßlin
969e6b85e7 Merge branch 'master' into frameworks-scratch
Conflicts:
	CMakeLists.txt
	kwin/client.cpp
	kwin/effects/highlightwindow/highlightwindow.cpp
	kwin/libkwineffects/kwingltexture.cpp
	kwin/libkwineffects/kwinxrenderutils.cpp
	kwin/scene_opengl.cpp
	kwin/workspace.cpp
	plasma/desktop/applets/kickoff/CMakeLists.txt
	plasma/desktop/applets/taskmanager/package/contents/code/tools.js
	plasma/desktop/applets/taskmanager/package/contents/ui/Task.qml
	plasma/desktop/applets/taskmanager/package/contents/ui/main.qml
	plasma/desktop/applets/taskmanager/package/metadata.desktop
	plasma/desktop/applets/taskmanager/plugin/textlabel.h
	plasma/desktop/applets/tasks/CMakeLists.txt
	plasma/desktop/applets/tasks/package/metadata.desktop
	plasma/desktop/applets/tasks/tasks.cpp
	plasma/desktop/toolboxes/plasma-toolbox-desktoptoolbox.desktop
	plasma/generic/applets/activitybar/activitybar.cpp
	plasma/generic/wallpapers/color/plasma-wallpaper-color.desktop
	plasma/generic/wallpapers/image/plasma-wallpaper-image.desktop
2013-09-24 11:28:38 +02:00
Anselmo L. S. Melo
00d507b7ff Porting kcmkwin to Qt5/KF5: QStandardPaths
REVIEW: 111975
2013-08-13 17:55:49 -03:00
l10n daemon script
3b2f744b49 SVN_SILENT made messages (.desktop file) 2013-08-13 07:25:19 +00:00
l10n daemon script
df17849412 SVN_SILENT made messages (.desktop file) 2013-08-13 04:19:10 +00: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
l10n daemon script
dcd670692b SVN_SILENT made messages (.desktop file) 2013-07-01 03:54:58 +00:00
l10n daemon script
a2e9957860 SVN_SILENT made messages (.desktop file) 2013-06-10 03:46:39 +00:00
Oliver Henshaw
47acf4ee9a Merge remote-tracking branch 'origin/KDE/4.10' into master
Conflicts:
	kwin/scripting/scripting.cpp
	powerdevil/daemon/actions/bundled/powerdevildimdisplayaction.desktop
	solid-actions-kcm/device-actions/solid-device-SerialInterface.desktop
2013-05-28 17:36:53 +01:00
Oliver Henshaw
b61bca0f3d add qml import paths in correct order
addImportPath prepends the path to importPathList so we must add our
paths in reverse order.

Based on the fix for kdeclarative.cpp in kdelibs
400b9f2e9d10386bb175b6123fe0cdaafeaffe61

REVIEW: 110670
2013-05-28 17:23:19 +01:00
Oliver Henshaw
2d5ebd3b8d Replace foreach with java-style iterator
In preparation for reversing the loop.

REVIEW: 110670
2013-05-28 17:23:09 +01:00
Montel Laurent
dd8cf0b678 normalize signal/slot 2013-05-11 14:09:15 +02:00
Script Kiddy
dfd72523b1 SVN_SILENT made messages (.desktop file) 2013-05-02 09:17:01 +02:00
Script Kiddy
52a831d89f SVN_SILENT made messages (.desktop file) 2013-05-01 13:47:48 +02:00
Thomas Lübking
e7050f64a8 fix flickable bounds when filtering
REVIEW: 105027
BUG: 318096
FIXED-IN: 4.10.3
2013-04-09 19:00:41 +02:00
Thomas Lübking
85691c519e fix flickable bounds when filtering
REVIEW: 105027
BUG: 318096
FIXED-IN: 4.10.3
2013-04-09 18:56:16 +02:00
Script Kiddy
a66fb373b7 SVN_SILENT made messages (.desktop file) 2013-04-04 14:47:50 +02:00
Script Kiddy
6fc4e30441 SVN_SILENT made messages (.desktop file) 2013-04-04 09:29:03 +02:00
Thomas Lübking
6fb5353cab remove moveResizeMaximized option
REVIEW: 103948
BUG: 91703
BUG: 299245
FIXED-IN: 4.11

- The setting is ignored, the decoration always gets a "true" for it
- moving a maximized window requires breaking a "strong" snap (1/16 of screen height - unless you use quick maximization)
- all snapping is done towards the client, not the frame
- QuickTileMode is exported to the decoration (just as the maximizeMode) so that it can fix the bordersize alongside that.
2013-03-24 22:26:48 +01:00
Martin Gräßlin
98a04893a6 Use mgraesslin@kde.org for my mail address in Copyright and AboutData 2013-03-12 13:17:53 +01:00
Martin Gräßlin
60c42b7a34 s/KLocale/KLocalizedString/g
Many headers included KLocale to use i18n and co. But those methods are
defined in KLocalizedString and not in KLocale.

With KF5 klocale.h does no longer include KLocalizedString causing lots
of compile errors.
2013-03-07 13:59:15 +01:00
Martin Gräßlin
32b6ef42b9 Strip module path from all Qt #include <>
Done with:
fixqt4headers.pl --strip-modules

REVIEW: 109176
2013-03-06 10:26:56 +01:00
Thomas Lübking
049cb66b22 update previews after de/installing a deco
CCBUG: 310613
REVIEW: 109266
FIXED-IN: 4.10.2
2013-03-05 19:25:23 +01:00
Thomas Lübking
ad521412a0 update previews after de/installing a deco
CCBUG: 310613
REVIEW: 109266
FIXED-IN: 4.10.2
2013-03-05 19:22:02 +01:00
Martin Gräßlin
2aed7b13d1 Cleanup the Preview rendering of Window Decorations
The preview code still contained all the old logic for embedding the
preview into another widget. Most of the code had been dead for quite
some time.

The only preview rendering code now is the one to render into a pixmap.
This is actually changed to render the widget directly at the right
position obsoleting the previous widget positioning code.

The no preview available label is dropped as it did not get rendered into
the pixmap at all.

Last but not least we fake that compositing is on. This has always been
the case for Aurorae themes and just looks better. Especially on Oxygen I
had always had some corruption when rendering this preview with
compositing disabled.

REVIEW: 108777
2013-02-12 11:51:17 +01:00
Martin Gräßlin
fcae2f3c12 Merge branch 'KDE/4.10' 2013-02-06 09:27:00 +01:00
Martin Gräßlin
b6d92ed4e1 Subtract slider width from width for a preview
This caused the generated preview to be larger than the area it is
rendered into and the reason for being scaled down.

REVIEW: 108793
2013-02-06 08:19:21 +01:00
Martin Gräßlin
6b790c1608 Fix incorrect enum name
Sorry for breaking compilation of master...
2013-01-15 15:18:56 +01:00
Martin Gräßlin
6acae45205 Support for new decoration border sizes BorderNoSides and BorderNone
BorderNoSides is what is known from Oxygen as "No Side Borders". The name
should indicate that there is only a border at the bottom. BorderNone is
a mode with no borders at all.

The new enums are added to KDecoration and the KCM so that all decos can
make use of it.

Aurorae is adjusted to support the new sizes for QML themes (it breaks
the old svg based themes) and Plastik makes use of it, by rendering a
one-pixel border around the window, which illustrates that it's still up
to the decoration to decide how to make use of the setting.

REVIEW: 108164
2013-01-15 15:07:22 +01:00
Albert Astals Cid
dec63fb987 Merge remote-tracking branch 'origin/KDE/4.10' 2013-01-07 11:04:39 +01:00
Martin Gräßlin
7163c9faf4 Support for Application Menu in Aurorae
Aurorae supports in general the Aurorae button. So far themes are not
able to style the button, instead the window's icon is used.
2013-01-07 09:43:30 +01:00
Script Kiddy
c6d91ac7eb SVN_SILENT made messages (.desktop file) 2013-01-07 08:11:48 +01:00
Martin Gräßlin
533d57da60 Mark most ctors as explicit as reported by Krazy2 checker 2013-01-02 18:35:46 +01:00
Script Kiddy
ae597bcb4e SVN_SILENT made messages (.desktop file) 2012-12-28 07:45:01 +01:00
Script Kiddy
12f341712c SVN_SILENT made messages (.desktop file) 2012-12-24 09:05:36 +01:00
Script Kiddy
d7316b9fcb SVN_SILENT made messages (.desktop file) 2012-12-23 08:01:50 +01:00
Script Kiddy
dc5da9b081 SVN_SILENT made messages (.desktop file) 2012-12-22 08:12:14 +01:00
Script Kiddy
ef0cae8dab SVN_SILENT made messages (.desktop file) 2012-12-18 15:28:22 +01:00
Script Kiddy
49a373b681 SVN_SILENT made messages (.desktop file) 2012-12-01 08:03:43 +01:00
Martin Gräßlin
bcfc0269ae Create the decoration listing after the KCModule has been shown
If the decoration listing gets initialized directly in the ctor as it
used to be, there is the chance of the list being not rendered in case
that there are multiple KCMs in one container and one has to switch to
the decoration KCM. This is the case for e.g. opening the KWin
configuration through the Alt+F3 menu. But that never happened when
going through Systemsettings as there (at least with English) it is
listed as the first module.

BUG: 310613
FIXED-IN: 4.10
2012-11-26 10:05:17 +01:00
Script Kiddy
e6f0f5bcf7 SVN_SILENT made messages (.desktop file) 2012-11-26 07:08:50 +01:00
Cedric Bellegarde
53ae2b91e2 GUI: Kwin appmenu support:
- Add support for application menu button in Kwin
- Add kded appmenu configuration in kcm_style
2012-11-09 13:44:50 +01:00
Martin Gräßlin
aa34dbd059 Remove the fallback to Platik in case defaultDepth is < 8
Plastik has been removed and the new Aurorae has the same requirement as
Oxygen. This fallback was anyway useless given that KWin nowadays uses
raster paint engine by default and hardly anything would work with such a
small QPixmap::defaultDepth().

REVIEW: 106613
2012-10-25 11:19:26 +02:00
Script Kiddy
31464244e1 SVN_SILENT made messages (.desktop file) 2012-09-18 19:14:07 +02:00
Thomas Lübking
84ac01754c Ensure main.qml presence
BUG: 304881
REVIEW: 106062
FIXED-IN: 4.9.1
2012-08-28 21:51:09 +02:00
Martin Gräßlin
25ac108a76 Support for custom configuration dialogs for QML decorations
If the decoration package contains a ui file in ui/config.ui and
and KConfigXT xml file in config/main.xml the configure dialog
is extended by the custom values.

For this the ui file is loaded and included in the dialog's
layout. To make this possible the AuroraeConfigForm is changed
to a VBoxLayout containing the so far used FormLayout.

The configuration settings are loaded using Plasma's ConfigLoader
and attached to the widget through a KConfigDialogManager.

Marking this commit as the one which implements QML support for
Aurorae themes:

REVIEW: 105751
REVIEW: 105768
BUG: 303810
FIXED-IN: 4.10
2012-08-26 20:57:56 +02:00
Martin Gräßlin
8de1fea67e Option to disable window close on menu double click in Aurorae
For each theme the setting can be enabled individually with the
default being enabled by default. It is completely handled
inside the MenuButton QML component so each QML theme benefits
from the option automatically, too.

BUG: 301327
FIXED-IN: 4.10
REVIEW: 106160
2012-08-26 20:56:19 +02:00
Martin Gräßlin
ce2b251c9b Support for config values in QML decorations
When the decoration is reset a signal is emitted that the config
might have changed which the decoration can connect to for
reloading its configuration. For this an invokable method is
added to Aurorae allowing to read a config value which just
returns the QVariant.

Proper support for border sizes are added by providing the enum
in DecorationOptions, so that QML themes can use the enum values
to decide which border size to use.

The kcm is adjusted to also support these config mechanisms and
to properly load and save the border sizes for QML based themes.
2012-08-26 20:56:19 +02:00
Martin Gräßlin
249173946a Support for QML based decoration in KCM decoration
Model is extended to support QML based Aurorae themes as well
the preview is able to handle it. For this a new qml component
is added which loads the decoration preview.
2012-08-26 20:56:19 +02:00
Script Kiddy
7f61428480 SVN_SILENT made messages (.desktop file) 2012-08-15 10:56:12 +02:00
Script Kiddy
f1974ee328 SVN_SILENT made messages (.desktop file) 2012-08-13 18:22:10 +02:00
Thomas Lübking
65b012ebe9 hide horizontal wheel events from the deco list
BUG: 304799
FIXED-IN: 4.9.1
REVIEW: 105934
2012-08-11 21:42:22 +02:00
Script Kiddy
52404247f3 SVN_SILENT made messages (.desktop file) 2012-08-01 11:40:14 +02:00
Thomas Lübking
f5aaf5272d Manage m_preview::deco pointers on plugin juggling
BUG: 304026
REVIEW: 105721
2012-07-25 20:25:27 +02:00
Thomas Lübking
ddd2b117b1 introduce KDecorationPlugins::canLoad()
so we don't mess up our plugins on reload
also invoke it by loadPlugin()
and fix some KLibrary memleaks

REVIEW: 105499
BUG: 303247
(cherry picked from commit fd272b06954029b554197be1d10e252b01f56502)
2012-07-22 11:18:14 +02:00
Script Kiddy
88710b0f60 SVN_SILENT made messages (.desktop file) 2012-07-19 10:14:19 +02:00
Script Kiddy
6c572929d8 SVN_SILENT made messages (.desktop file) 2012-07-18 10:04:35 +02:00
Thomas Lübking
bcbd7181f1 don't load incompatible deco plugins in kcm
... and prevent accessing them in addition
shall fix crash Martin documented in
http://git.reviewboard.kde.org/r/105021/

REVIEW: 105379
2012-07-05 19:43:45 +02:00
Script Kiddy
836c2b41b3 SVN_SILENT made messages (.desktop file) 2012-06-20 11:19:37 +02:00
Script Kiddy
50dea703ca SVN_SILENT made messages (.desktop file) 2012-06-19 17:46:37 +02:00
Script Kiddy
bbbe9d6956 SVN_SILENT made messages (.desktop file) 2012-06-16 12:19:39 +02:00
Script Kiddy
953d088b6a SVN_SILENT made messages (.desktop file) 2012-06-12 17:07:51 +02:00
Thomas Lübking
3f30a7d6fb enable keyboard navigation for qml deco kcm
REVIEW: 105169
2012-06-09 12:02:59 +02:00
Thomas Lübking
49416992e2 sanitize preview generation starting row
REVIEW: 105170
2012-06-07 18:24:28 +02:00
Thomas Lübking
fd694c5bac Make decoration kcm more responsive
REVIEW: 105021
2012-06-07 12:37:43 +02:00
Thomas Lübking
52caeffe22 get rid of hardcoded qml ui elements
REVIEW: 105018
CCBUG: 291612
2012-06-07 12:37:32 +02:00
Script Kiddy
62211420c7 SVN_SILENT made messages (.desktop file) 2012-05-28 11:08:19 +02:00
Martin Gräßlin
98feb9dd3b Ensure scrollbar does not overshoot decoration list
Stop at bounds while flicking to have a list which behaves in a
natural way on the desktop and ensure that the scrollbar
handles cannot overshoot the list.
2012-05-22 18:29:18 +02:00
Martin Gräßlin
38c1e721dc Set maximum highlight move duration in kcm decoration
Ensures that animation finishes after a reasonable amount of
time and does not follow the default 400 pixels/second.
2012-05-22 18:29:18 +02:00
Martin Gräßlin
26ff05b4bd Export highlight color as context property to decoration list
Ensures that decoration list uses the defined highlight color
instead of hardcoded value.
2012-05-22 18:29:17 +02:00
Thomas Lübking
85635dd485 fix tabbing
BUG: 290959
BUG: 265160
BUG: 229292
BUG: 238279
BUG: 290758
BUG: 222831
BUG: 278275
BUG: 245747
BUG: 230000

BUG: 253697
BUG: 230570
BUG: 265977
BUG: 225337
BUG: 225339

REVIEW: 103855
2012-02-11 16:30:22 +01:00
Thomas Lübking
bf88ec09ac Revert "fix tabbing"
pushed out of branch, not master - leading to absent revision, found hash collision??

This reverts commit 94b2ad7b85801e37e2df4671cdc4f26b6d7e5506.
2012-02-11 16:29:14 +01:00
Thomas Lübking
d245035a17 fix tabbing
BUG: 290959
BUG: 265160
BUG: 229292
BUG: 238279
BUG: 290758
BUG: 222831
BUG: 278275
BUG: 245747
BUG: 230000

BUG: 253697
BUG: 230570
BUG: 265977
BUG: 225337
BUG: 225339

REVIEW: 103855
2012-02-11 16:01:41 +01:00
Script Kiddy
5fde665578 SVN_SILENT made messages (.desktop file) 2012-01-31 16:24:28 +01:00
Script Kiddy
6750f8907e SVN_SILENT made messages (.desktop file) 2012-01-30 11:46:01 +01:00
Martin Gräßlin
f14b2572bf Improve generation of previews code
The layout text is only required for native decorations.
2012-01-27 11:21:30 +01:00