Commit Graph

12261 Commits (c654dd4ff12beb6941394b1e5530c846a1378f1d)

Author SHA1 Message Date
Antonis Tsiapaliokas 4534cd03b9 EffectFilterModel::findImage should always return a QString
Also translate the rowIndex from the EffectFilterModel to the EffectModel
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas 1f509b7c30 EffectModel is no more being exposed to the QML
Instead of the EffectModel we are using the FilterProxyModel
2014-04-03 07:23:13 +02:00
Martin Gräßlin d9fcc9f9d5 Drop useless assignement
That's already in the property binding.
2014-04-03 07:23:13 +02:00
Martin Gräßlin 7d816f8198 Rename effectModel property to model
More consistant with other namings in QML.
2014-04-03 07:23:13 +02:00
Martin Gräßlin 81510d7e47 Make EffectModel a toplevel element in EffectView
The id is referenced all over the document which makes it nicer to
read if it is not a nested element.
2014-04-03 07:23:13 +02:00
Martin Gräßlin 5eb11849d4 Do not use a VisualDataModel
No need for this additional wrapper around the model.
2014-04-03 07:23:13 +02:00
Martin Gräßlin 934d675b73 Add missing Q_UNUSED 2014-04-03 07:23:13 +02:00
Martin Gräßlin 46c395e8ac Specify override on overriden methods in model.h
Let's use C++11 - the good parts ;-)
2014-04-03 07:23:13 +02:00
Martin Gräßlin cf5ba0378a setRoleNames is deprecated
Instead implementing roleNames().
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas c32758c458 Add ComboBox for Compositing Type and for Graphics System 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas ed2cf5a8b5 Add Improved Window Management Support
When we click into the CheckBox the following effects are being enabled:

*kwin4_effect_desktopgrid
*kwin4_effect_presntwindows
*kwin4_effect_dialogparent

If one of the above effects gets disabled, then the checkbox is unchecked.
Our CheckBox can detect if our effects are enable at the start time.
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas cc375dab36 remove deprecated ctor 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas 609c4c5470 Add ExclusiveGroup support to the checkboxes of the ListView.
Only ONE of the following effects can be active at the same
time.

*kwin4_effect_slideEnabled
*kwin4_effect_cubeslideEnabled
*kwin4_effect_fadedesktopEnabled
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas 3ab4e1a84a make it build and fix linking 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas 025f3eba5a KWidgets are gone. Make it build 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas 16a066db78 Check if OpenGLisBroken 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas 52fd2c12a2 Make all of our unit test to pass 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas e5da335fcf Add unit test for our model
Add a QSortFilterProxyModel in order to search our effects
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas dac370fc61 Move effectStatus and syncConfig from EffectView class to EffectModel 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas f9706e0734 Make our dbus call async 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas 34cccc91ed Make our model able to be reloaded.
Also fix the coding style and make krazy happy.
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas f44691b61c Move findImage method from EffectView to EffectModel 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas 2f30411106 Make our QAbstractListModel smarter, give better names to
the enumenators.
Rename struct Effect to EffectData
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas abaf03c1d0 We should have only 1 proxy, not 2 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas 8081e2eb53 Add buttons to the effect config dialog 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas fc662d175d Add method findImage
Qt QuickControls require an abosolute path to the image
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas 2431da8222 Buttons are enable only when they have something to do 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas 837c44434d Load the configuration UI for the Effects 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas 51549d3ec9 Make our effects able to be enable and disable 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas 32ee949a8d Add an about button for the author and the license of the effect 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas 738f730a62 Load the real effects from the system 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas e816a0823c Replace -std=c++11 with -std=c++0x
c++0x is being supported for gcc < 4.6
2014-04-03 07:23:12 +02:00
Antonis Tsiapaliokas 4305fb79b8 Add support for c++11 and fix building issues 2014-04-03 07:23:12 +02:00
Antonis Tsiapaliokas 52326ac892 Fix license 2014-04-03 07:23:12 +02:00
Antonis Tsiapaliokas 1d6dee92fc Initial commit 2014-04-03 07:23:12 +02:00
l10n daemon script eef56c98b2 SVN_SILENT made messages (.desktop file) 2014-04-03 05:10:09 +00:00
David Faure 08112b9a93 Remove use of obsolete timestamp() method 2014-04-01 15:15:47 +02:00
Àlex Fiestas 2ecc67dcdc Remove CMake no longer needed for spltited repos.
Mostly remove
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
2014-04-01 14:00:14 +02:00
Martin Gräßlin b15a97bb88 Properly remove KWIN_BUILD_OXYGEN
Left over from splitting, caused Aurorae to be the default deco.
2014-03-31 13:20:39 +02:00
Martin Gräßlin c64ad6b640 [kwin] KWinrules needs the X11Cursor
Fixes crash when trying to detect the window properties.
2014-03-29 10:49:14 +01:00
David Faure 137906a547 doesn't need klibrary 2014-03-29 10:00:42 +01:00
David Faure 924b8b5a9e Fix compilation on OpenSuSE 13.1 which puts xkbcommon.h in /usr/include/pkg/libxkbcommon/xkbcommon/ 2014-03-29 09:32:06 +01:00
David Faure 20bc3ff68b Include ksharedconfig.h (since it will be removed from kpluginfactory.h) 2014-03-29 09:32:06 +01:00
Jonathan Riddell 7f345a386b update versions to 4.95.0 for Plasma 2014.6 Alpha 1 2014-03-29 00:45:23 +00:00
Alex Merry 4d88fcdff6 [kwin] Adapt to KPluginFactory change
KPluginFactory's constructor no longer takes arguments, since plugin
root objects are not passed any arguments.
2014-03-28 19:50:46 +00:00
Martin Gräßlin b0e892e359 [kwin] Add a new EffectLoader
The EffectLoader is a subclass of AbstractEffectLoader delegating all
methods to instances of:
* BuiltInEffectLoader
* ScriptedEffectLoader
* PluginEffectLoader

It's used by the EffectsHandlerImpl and replaces the complete Effect
loading mechanism we so far found in it. This also means that KLibrary
is no longer needed to load the Effects as the PluginEffectLoader uses
the KPluginTrader, which removes lots of deprecated functionality.

REVIEW: 117054
2014-03-28 14:04:55 +01:00
Martin Gräßlin 6622c97601 [kwin] Add a PluginEffectLoader
This is a specialized subclass of AbstractEffectLoader to load binary
effect plugins. It used the KPluginTrader to find all candidates to load.
The loader is able to detect incorrect ABI versions through the
pluginVersion() and uses the methods exposed by the new
KWin::EffectPluginFactory to check whether the Effect is supported and
should be enabled by default.

The unit test for this loader comes with two plugins: one is able to be
loaded and provides a supported and enabledByDefault method which can be
tweaked during the test to get all the conditions we want to test for.

The second plugin uses an incorrect plugin version and thus cannot get
loaded.
2014-03-28 14:04:54 +01:00
Martin Gräßlin e68d5c6315 [kwin] Add a KPluginFactory subclass for loading binary Effects
A KWin::EffectPluginFactory is introduced which provides a specialized
create method and methods for the supported and enabledByDefault checks.

A set of KWIN_EFFECT_FACTORY macros are added which create a subclass
of this EffectPluginFactory following the approach from the
KPluginFactory macros. The macros only support json metadata thus the
QPluginTrader needs to be used.

The KWIN_EFFECT macros are removed as they are no longer needed.

KWin Core's loader is not yet adjusted to this change. This is a
preparation step for introducing a PluginEffectLoader.
2014-03-28 14:04:54 +01:00
Martin Gräßlin 3bbc9436db [kwin] Add a virtual Effect::requestedEffectChainPosition
This method replaces the X-KDE-ORDERING property in the Effect's desktop
files. This change is a preparation step for integrating the new Effect
Loader which doesn't read the ordering information. Thus it needs to be
provided by the Effect itself so that the EffectsHandler can properly
insert it into the chain.

Also for the built-in Effects on the long run it doesn't make much sense
to install the desktop files. And binary plugin effects will migrate to
json metadata which also doesn't have the KService::Ptr. Thus overall it
simplifies to read this information directly from the Effect.
2014-03-28 14:04:54 +01:00
Martin Gräßlin 42ff5e0c08 [kwin] Move finding of scripted effect source file to ScriptedEffect
New ScriptedEffect::create(KService::Ptr). This is a preparation for
adding the ordering directly to the Effect.
2014-03-28 14:04:54 +01:00