Commit graph

173 commits

Author SHA1 Message Date
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
Thomas Lübking
52caeffe22 get rid of hardcoded qml ui elements
REVIEW: 105018
CCBUG: 291612
2012-06-07 12:37:32 +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
Martin Gräßlin
1e231624cc Add an oxygen styled scrollbar in decoration list
Thanks to Nuno for providing the QML based scrollbar. Obviously
this does not improve the consistency with other widget styles, so
a proper solution is still required.
BUG: 291612
2012-01-20 11:11:45 +01:00
Martin Gräßlin
a1bee6f8a7 Proper button handling in Aurorae QML
Buttons are exported as a global "options" in the factory.
Additionally the theme's buttons are also exported. The thme decided
based on the custom button positions property which one to use.

In the kcm the button options are also exported.
2012-01-13 18:08:45 +01:00
Martin Gräßlin
4e07ced451 Drop unused code 2012-01-13 18:08:45 +01:00
Martin Gräßlin
5ce7381f15 Decoration KCM uses QML and loads QML based Aurorae themes
This allows to have the Aurorae themes interactive.
2012-01-13 18:08:44 +01:00
Montel Laurent
62c5a5e276 normalize signal/slots 2011-08-17 23:51:55 +02:00
Martin Gräßlin
0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Martin Gräßlin
5a820681aa Remove the configure and about button next to the preview. The about information is presented directly in the preview and for configure a distinct button is added, which will open the configure dialog for current selected deco.
svn path=/trunk/KDE/kdebase/workspace/; revision=1118062
2010-04-23 19:44:50 +00:00
Martin Gräßlin
cbdec6736a Adding a config dialog for Aurorae themes to change border and button size.
This one does not use the normal plugin infrastructure, but is part of the kcm directly. The plugin would require to have one dialog for all aurorae themes and that just does not work. Aurorae saves settings per theme.

svn path=/trunk/KDE/kdebase/workspace/; revision=1117280
2010-04-21 18:18:45 +00:00
Hugo Pereira Da Costa
b02f1c6d7e use selectionModel selectionChanged() signal to trigger decoration change, rather than activate
svn path=/trunk/KDE/kdebase/workspace/; revision=1081165
2010-01-27 21:09:04 +00:00
Martin Gräßlin
e92659acbf Replacing remaining tabs in kwindecoration.(h|cpp) by whitespaces to match KWin's coding style.
(Also removing indentation remark for kate)
SVN_SILENT

svn path=/trunk/KDE/kdebase/workspace/; revision=1077152
2010-01-19 13:56:57 +00:00
Martin Gräßlin
c9df18ab98 New decoration kcm:
* Displays list with previews instead of a dropdown with just the name.
* Configuration is moved into an own dialog accessible via a configure button for each decoration
* Button configuration is moved into a dialog, by that the tabs are removed
* Aurorae themes are listed just like normal decorations
* GHNS support to download Aurorae themes
* Semi-live preview of changed: when configure dialog is closed the preview is updated
* About Dialog added for each decoration (needs updates in desktop files - the information is missing)

svn path=/trunk/KDE/kdebase/workspace/; revision=1077141
2010-01-19 13:44:22 +00:00