Commit graph

186 commits

Author SHA1 Message Date
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
Andreas Hartmetz
9c73055a10 Adapt to changes in KAboutData. 2014-05-14 05:04:40 +02: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
Martin Gräßlin
dc58fc2c32 [kwin/kcms] Another round of kdialog removals 2014-03-18 09:11:07 +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
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
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
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
Aleix Pol
f8468b4043 Drop KDE4Support in kde-workspace/kwin
REVIEW: 114316
2013-12-05 20:24:02 +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
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
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
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
127d68486d [kcmdeco] Drop componentData() 2013-10-01 14:05:59 +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
Anselmo L. S. Melo
00d507b7ff Porting kcmkwin to Qt5/KF5: QStandardPaths
REVIEW: 111975
2013-08-13 17:55:49 -03: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
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
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
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
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
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
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
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
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
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
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