SVN commit 576422 by mattr:
Remove the convenience method from KDevPlugin for extension.
Use KDevPluginController::extension() instead via KDevCore
instead.
If we need the convenience of having it in KDevPlugin, we
can add it
back, but let's try it this way first
CCMAIL: kdevelop-devel kdevelop.org
M +7 -2
buildtools/builders/makebuilder/kdevmakebuilder.cpp
M +30 -25 kdevelop.kdevelop
M +3 -7 lib/interfaces/kdevmakeinterface.h
M +0 -5 lib/kdevplugin.cpp
M +0 -20 lib/kdevplugin.h
M +1 -1 lib/kdevplugincontroller.cpp
M +6 -1 lib/kdevplugincontroller.h
---
trunk/KDE/kdevelop/buildtools/builders/makebuilder/kdevmakeb
uilder.cpp #576421:576422
 -8,6
+8,7 
#include <kdevproject.h>
#include <kdevcore.h>
+#include <kdevplugincontroller.h>
#include <kdevmakeinterface.h>
#include <domutil.h>
 -33,7
+34,10 
m_project = qobject_cast<KDevProject*>(parent);
Q_ASSERT(m_project);
- if (KDevMakeFrontend *make =
project()->extension<KDevMakeFrontend>("KDeve
lop/MakeFrontend")) {
+ KDevPluginController* kdpc =
KDevCore::pluginController();
+ KDevMakeFrontend* make =
kdpc->extension<KDevMakeFrontend>("KDevelop/M
akeFrontend");
+ if ( make )
+ {
connect(make, SIGNAL(commandFinished(const QString
&)),
this, SLOT(commandFinished(const QString
&)));
 -75,7
+79,8 
bool KDevMakeBuilder::build(KDevProjectItem *dom)
{
- if (KDevMakeFrontend *make =
project()->extension<KDevMakeFrontend>("KDeve
lop/MakeFrontend")) {
+ KDevPluginController* kdpc =
KDevCore::pluginController();
+ if (KDevMakeFrontend *make =
kdpc->extension<KDevMakeFrontend>("KDevelop/M
akeFrontend")) {
if (KDevProjectFolderItem *folder =
dom->folder()) {
// ### compile the folder
QString command = buildCommand(dom);
--- trunk/KDE/kdevelop/kdevelop.kdevelop #576421:576422
 -15,24
+15,9 
<description/>
<ignoreparts>
<part>kdevbookmarks</part>
- <part>kdevclassview</part>
- <part>kdevsnippet</part>
- <part>kdevctags2</part>
- <part>kdevdocumentation</part>
- <part>kdevdoxygen</part>
- <part>kdevfilegroups</part>
+ <part>kdevfilelist</part>
<part>kdevdistpart</part>
- <part>kdevopenwith</part>
- <part>kdevpartexplorer</part>
- <part>kdevquickopen</part>
- <part>kdevregexptest</part>
- <part>kdevscripting</part>
- <part>kdevsecurity</part>
- <part>kdevfilter</part>
- <part>kdevtexttools</part>
- <part>kdevtools</part>
</ignoreparts>
-
<versioncontrol>kdevsubversion</versioncontrol>
<defaultencoding/>
</general>
<kdevfileview>
 -46,7
+31,7 
<hidenonlocation>false</hidenonlocation>
</groups>
<tree>
- <hidepatterns>*.o,*.lo,CVS</hidepatterns>
+ <hidepatterns>*.o,*.lo,*~</hidepatterns>
<hidenonprojectfiles>false</hidenonprojectfiles>
<showvcsfields>false</showvcsfields>
</tree>
 -200,6
+185,14 
<codeCompletionDelay>250</codeCompletionDelay>
<argumentsHintDelay>400</argumentsHintDelay>
<headerCompletionDelay>250</headerCompletionDelay&g
t;
+
<showOnlyAccessibleItems>false</showOnlyAccessibleI
tems>
+
<completionBoxItemOrder>0</completionBoxItemOrder&g
t;
+
<howEvaluationContextMenu>true</howEvaluationContex
tMenu>
+
<showCommentWithArgumentHint>true</showCommentWithA
rgumentHint>
+
<statusBarTypeEvaluation>false</statusBarTypeEvalua
tion>
+
<namespaceAliases>std=_GLIBCXX_STD</namespaceAliase
s>
+
<processPrimaryTypes>true</processPrimaryTypes>
+
<processFunctionArguments>false</processFunctionArg
uments>
</codecompletion>
<creategettersetter>
<prefixGet/>
 -214,6
+207,8 
<used>true</used>
<version>4</version>
<root>/home/qt/4.1</root>
+ <includestyle>4</includestyle>
+
<designerintegration>ExternalDesigner</designerinte
gration>
</qt>
<splitheadersource>
<enabled>false</enabled>
 -237,33
+232,43 
<terminal>false</terminal>
<autocompile>true</autocompile>
<envvars>
- <envvar
value="unix:abstract=/tmp/dbus-5c1qUTESsp,guid=fa74974
4e8e025172e8bc5b855da4b00"
name="DBUS_SESSION_BUS_ADDRESS" />
- <envvar value="28575"
name="DBUS_SESSION_BUS_PID" />
<envvar value="$HOME/.kde4"
name="KDEHOME" />
<envvar value="/tmp/$USER-kde4"
name="KDETMP" />
<envvar value="/var/tmp/$USER-kde4"
name="KDEVARTMP" />
<envvar
value="$LD_LIBRARY_PATH:$QTDIR/lib"
name="LD_LIBRARY_PATH" />
- <envvar
value="/home/kde/installs/4.0/bin:/home/qt/4.1/bin:$PA
TH" name="PATH" />
- <envvar value="/home/qt/4.1"
name="QTDIR" />
+ <envvar
value="/home/kde/installs/4.0/bin:/home/qt/4.2/bin:$PA
TH" name="PATH" />
+ <envvar value="/home/qt/4.2"
name="QTDIR" />
</envvars>
</run>
<build>
<buildtool>make</buildtool>
-
<builddir>/home/kde/build/home/kde/trunk/KDE/kdevelop&
lt;/builddir>
+
<builddir>/home/kde/trunk/KDE/kdevelop</builddir>
;
</build>
<make>
<abortonerror>false</abortonerror>
- <numberofjobs>1</numberofjobs>
+ <numberofjobs>4</numberofjobs>
<prio>0</prio>
<dontact>false</dontact>
- <makebin>make install</makebin>
+ <makebin>makeobj</makebin>
<defaulttarget/>
<makeoptions/>
<selectedenvironment>default</selectedenvironment&g
t;
<environments>
- <default/>
+ <default>
+ <envvar
value="/home/kde/installs/4.0"
name="KDEDIR" />
+ <envvar value="$HOME/.kde4"
name="KDEHOME" />
+ <envvar value="/tmp/$USER-kde4"
name="KDETMP" />
+ <envvar
value="/var/tmp/$USER-kde4"
name="KDEVARTMP" />
+ <envvar
value="s:/home/kde/trunk/:/home/kde/trunk/build/:&quo
t; name="OBJ_REPLACEMENT" />
+ <envvar
value="/opt/icecream/bin:/home/kde/installs/4.0/bin:/h
ome/qt/4.2/bin:$PATH" name="PATH" />
+ <envvar
value="/home/qt/4.2/lib:/usr/local/lib/pkgconfig:$PKG_
CONFIG_PATH" name="PKG_CONFIG_PATH" />
+ <envvar value="/home/qt/4.2"
name="QTDIR" />
+ </default>
</environments>
</make>
+ <general>
+ <activedir/>
+ </general>
</kdevcustomproject>
<ctagspart>
<customArguments/>
--- trunk/KDE/kdevelop/lib/interfaces/kdevmakeinterface.h
#576421:576422
 -57,13
+57,9 
public:
/**Constructor.
- param info Important information about the plugin -
plugin internal and generic
- (GUI) name, description, a list of authors, etc. That
information is used to show
- plugin information in various places like "about
application" dialog, plugin selector
- dialog, etc. Plugin does not take ownership on info
object, also its lifetime should
- be equal to the lifetime of the plugin.
- param parent The parent object for the plugin.
- */
+ * param instance The instance object created by the
plugin factory
+ * param parent The parent object for the plugin.
+ */
KDevMakeFrontend(KInstance *instance, QObject
*parent=0)
:KDevPlugin(instance, parent) {}
--- trunk/KDE/kdevelop/lib/kdevplugin.cpp #576421:576422
 -63,9
+63,4 
return false;
}
-KDevPlugin * KDevPlugin::extension_internal( const QString
&serviceType, const QString &constraint )
-{
- return KDevCore::pluginController() ->extension(
serviceType, constraint );
-}
-
#include "kdevplugin.moc"
--- trunk/KDE/kdevelop/lib/kdevplugin.h #576421:576422
 -138,26
+138,6 
*/
virtual bool isCentralPlugin() const;
- //FIXME Is this used for anything?
- /**Queries for the plugin which supports given service
type (such plugins are called extensions in KDevelop).
- All already loaded plugins will be queried and the
<b>first loaded one</b> to support
- the service type will be returned. Any plugin can be an
extension, only "ServiceTypes=..."
- entry is required in .desktop file for that plugin.
-
- Template argument is used as a type to cast the result
to. This is done because extension
- is usually derived from a certain base class and not
directly from KDevPlugin.
- param serviceType The service type of an extension
(like "KDevelop/SourceFormatter").
- param constraint The constraint which is applied when
quering for the service. This
- constraint is a usual KTrader constraint statement
(like "[X-KDevelop-Foo]=='MyFoo'").
- return A KDevelop extension plugin for given service
type or 0 if no plugin supports it*/
- template <class Extension>
- Extension *extension(const QString &serviceType,
const QString &constraint = "")
- {
- return
static_cast<Extension*>(extension_internal(serviceType
, constraint));
- }
-
-private:
- KDevPlugin *extension_internal(const QString
&serviceType, const QString &constraint =
"");
};
#endif
--- trunk/KDE/kdevelop/lib/kdevplugincontroller.cpp
#576421:576422
 -253,7
+253,7 
return m_parts.values();
}
-KDevPlugin * KDevPluginController::extension( const QString
& serviceType, const QString & constraint )
+KDevPlugin * KDevPluginController::getExtension( const
QString & serviceType, const QString & constraint )
{
KService::List offers = KDevPluginController::query(
serviceType, constraint );
for ( KService::List::const_iterator it =
offers.constBegin(); it != offers.constEnd(); ++it )
--- trunk/KDE/kdevelop/lib/kdevplugincontroller.h
#576421:576422
 -104,7
+104,11 
* constraint is a usual KTrader constraint statement
(like "[X-KDevelop-Foo]=='MyFoo'").
* return A KDevelop extension plugin for given service
type or 0 if no plugin supports it
*/
- KDevPlugin *extension( const QString &serviceType,
const QString &constraint = "" );
+ template <class Extension>
+ Extension *extension(const QString &serviceType,
const QString &constraint = "")
+ {
+ return static_cast<Extension*>(getExtension(
serviceType, constraint ) );
+ }
/**
* Queries KDevelop services. Version is checked
automatically
 -187,6
+191,7 
private:
static KDevPlugin *loadPlugin( const KService::Ptr
&service );
+ KDevPlugin* getExtension( const QString&, const
QString& );
QHash<QString, KDevPlugin *> m_parts;
QString m_profile;
_______________________________________________
KDevelop-devel mailing list
KDevelop-devel barney.cs.uni-potsdam.de
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel
|