Added KDecorationFactory::checkRequirements(), which allows the decoration
plugin to check what the core supports, i.e. the opposite of supports(). Not used yet, but apparently will be needed e.g. for the new tranparency. svn path=/trunk/kdebase/kwin/; revision=269291
This commit is contained in:
parent
94a6fd94b5
commit
87f8a85083
9 changed files with 48 additions and 4 deletions
|
@ -397,5 +397,10 @@ unsigned long KDecorationPreviewOptions::updateSettings()
|
||||||
changed |= d->updateKWinSettings( &cfg );
|
changed |= d->updateKWinSettings( &cfg );
|
||||||
return changed;
|
return changed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool KDecorationPreviewPlugins::provides( Requirement )
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
#include "preview.moc"
|
#include "preview.moc"
|
||||||
|
|
|
@ -24,11 +24,11 @@
|
||||||
|
|
||||||
#include <qwidget.h>
|
#include <qwidget.h>
|
||||||
#include <kdecoration_p.h>
|
#include <kdecoration_p.h>
|
||||||
|
#include <kdecoration_plugins_p.h>
|
||||||
|
|
||||||
class QLabel;
|
class QLabel;
|
||||||
|
|
||||||
class KDecorationPreviewBridge;
|
class KDecorationPreviewBridge;
|
||||||
class KDecorationPlugins;
|
|
||||||
class KDecorationOptions;
|
class KDecorationOptions;
|
||||||
|
|
||||||
class KDecorationPreview
|
class KDecorationPreview
|
||||||
|
@ -117,5 +117,18 @@ class KDecorationPreviewOptions
|
||||||
virtual ~KDecorationPreviewOptions();
|
virtual ~KDecorationPreviewOptions();
|
||||||
virtual unsigned long updateSettings();
|
virtual unsigned long updateSettings();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class KDecorationPreviewPlugins
|
||||||
|
: public KDecorationPlugins
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
KDecorationPreviewPlugins( KConfig* cfg );
|
||||||
|
virtual bool provides( Requirement );
|
||||||
|
};
|
||||||
|
|
||||||
|
inline KDecorationPreviewPlugins::KDecorationPreviewPlugins( KConfig* cfg )
|
||||||
|
: KDecorationPlugins( cfg )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -125,8 +125,19 @@ public:
|
||||||
BorderOversized, ///< Oversized borders
|
BorderOversized, ///< Oversized borders
|
||||||
BordersCount ///< @internal
|
BordersCount ///< @internal
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum Ability { ABILITY_DUMMY = 10000000 };
|
||||||
|
|
||||||
|
enum Requirement { REQUIREMENT_DUMMY = 1000000 };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class KDecorationProvides
|
||||||
|
: public KDecorationDefines
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual bool provides( Requirement req ) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class holds various configuration settings for the decoration.
|
* This class holds various configuration settings for the decoration.
|
||||||
* It is accessible from the decorations either as KDecoration::options()
|
* It is accessible from the decorations either as KDecoration::options()
|
||||||
|
|
|
@ -161,6 +161,7 @@ bool KDecorationPlugins::loadPlugin( QString nameStr )
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
fact = create_ptr();
|
fact = create_ptr();
|
||||||
|
fact->checkRequirements( this ); // let it check what is supported
|
||||||
|
|
||||||
pluginStr = nameStr;
|
pluginStr = nameStr;
|
||||||
|
|
||||||
|
|
|
@ -34,13 +34,16 @@ DEALINGS IN THE SOFTWARE.
|
||||||
#include <qstring.h>
|
#include <qstring.h>
|
||||||
#include <qwidget.h>
|
#include <qwidget.h>
|
||||||
|
|
||||||
|
#include "kdecoration.h"
|
||||||
|
|
||||||
class KLibrary;
|
class KLibrary;
|
||||||
|
class KConfig;
|
||||||
class KDecoration;
|
class KDecoration;
|
||||||
class KDecorationBridge;
|
class KDecorationBridge;
|
||||||
class KDecorationFactory;
|
class KDecorationFactory;
|
||||||
class KConfig;
|
|
||||||
|
|
||||||
class KDecorationPlugins
|
class KDecorationPlugins
|
||||||
|
: public KDecorationProvides
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
KDecorationPlugins( KConfig* cfg );
|
KDecorationPlugins( KConfig* cfg );
|
||||||
|
|
|
@ -47,6 +47,10 @@ bool KDecorationFactory::supports( Ability )
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void KDecorationFactory::checkRequirements( KDecorationProvides* )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
QValueList< KDecorationDefines::BorderSize > KDecorationFactory::borderSizes() const
|
QValueList< KDecorationDefines::BorderSize > KDecorationFactory::borderSizes() const
|
||||||
{
|
{
|
||||||
return QValueList< BorderSize >() << BorderNormal;
|
return QValueList< BorderSize >() << BorderNormal;
|
||||||
|
|
|
@ -35,7 +35,6 @@ class KDecorationFactory
|
||||||
: public KDecorationDefines
|
: public KDecorationDefines
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum Ability { NOTHING_YET }; // FRAME pridat, + pamatovat na 32bitu?
|
|
||||||
/**
|
/**
|
||||||
* Constructor. Called after loading the decoration plugin. All global
|
* Constructor. Called after loading the decoration plugin. All global
|
||||||
* initialization of the plugin should be done in the factory constructor.
|
* initialization of the plugin should be done in the factory constructor.
|
||||||
|
@ -72,6 +71,8 @@ class KDecorationFactory
|
||||||
virtual QValueList< BorderSize > borderSizes() const;
|
virtual QValueList< BorderSize > borderSizes() const;
|
||||||
|
|
||||||
virtual bool supports( Ability ability );
|
virtual bool supports( Ability ability );
|
||||||
|
|
||||||
|
virtual void checkRequirements( KDecorationProvides* provides );
|
||||||
/**
|
/**
|
||||||
* Returns the KDecorationOptions object, which is used to access
|
* Returns the KDecorationOptions object, which is used to access
|
||||||
* configuration settings for the decoration.
|
* configuration settings for the decoration.
|
||||||
|
|
|
@ -34,4 +34,9 @@ void PluginMgr::error( const QString &error_msg )
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool PluginMgr::provides( Requirement )
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
|
@ -22,6 +22,7 @@ class PluginMgr
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
PluginMgr();
|
PluginMgr();
|
||||||
|
virtual bool provides( Requirement );
|
||||||
protected:
|
protected:
|
||||||
virtual void error( const QString& error_msg );
|
virtual void error( const QString& error_msg );
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue