Add dbus function to show which effect can be loaded

so now all is ok to know which module can be load/unload

svn path=/trunk/KDE/kdebase/workspace/; revision=815903
This commit is contained in:
Laurent Montel 2008-06-02 20:05:17 +00:00
parent 54ede72bf1
commit 5628d59f1f
5 changed files with 29 additions and 0 deletions

View file

@ -721,6 +721,21 @@ QStringList EffectsHandlerImpl::loadedModules() const
return listModules; return listModules;
} }
QStringList EffectsHandlerImpl::listOfModulesEffect() const
{
KService::List offers = KServiceTypeTrader::self()->query("KWin/Effect");
QStringList listOfModules;
// First unload necessary effects
foreach( const KService::Ptr &service, offers )
{
KPluginInfo plugininfo( service );
listOfModules<<plugininfo.pluginName();
}
return listOfModules;
}
bool EffectsHandlerImpl::loadEffect( const QString& name ) bool EffectsHandlerImpl::loadEffect( const QString& name )
{ {
Workspace::self()->addRepaintFull(); Workspace::self()->addRepaintFull();

View file

@ -142,6 +142,7 @@ class EffectsHandlerImpl : public EffectsHandler
void reloadEffect( const QString& name ); void reloadEffect( const QString& name );
bool isEffectLoaded( const QString& name ); bool isEffectLoaded( const QString& name );
QStringList loadedModules() const; QStringList loadedModules() const;
QStringList listOfModulesEffect() const;
QList<EffectWindow*> elevatedWindows() const; QList<EffectWindow*> elevatedWindows() const;

View file

@ -50,6 +50,9 @@
<method name="loadedModules"> <method name="loadedModules">
<arg type="as" direction="out"/> <arg type="as" direction="out"/>
</method> </method>
<method name="listOfModulesEffect">
<arg type="as" direction="out"/>
</method>
<method name="decorationSupportedColors"> <method name="decorationSupportedColors">
<arg type="ai" direction="out"/> <arg type="ai" direction="out"/>
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QList&lt;int>"/> <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QList&lt;int>"/>

View file

@ -742,6 +742,15 @@ QStringList Workspace::loadedModules() const
return listModulesLoaded; return listModulesLoaded;
} }
QStringList Workspace::listOfModulesEffect() const
{
QStringList listModules;
if ( effects )
listModules = static_cast<EffectsHandlerImpl*>(effects)->listOfModulesEffect();
return listModules;
}
void Workspace::slotActivateAttentionWindow() void Workspace::slotActivateAttentionWindow()
{ {
if( attention_chain.count() > 0 ) if( attention_chain.count() > 0 )

View file

@ -214,6 +214,7 @@ class Workspace : public QObject, public KDecorationDefines
void unloadEffect( const QString& name ); void unloadEffect( const QString& name );
QStringList loadedModules() const; QStringList loadedModules() const;
QStringList listOfModulesEffect() const;
/** /**