[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdepim/kontact
From: Volker Krause <volker.krause () rwth-aachen ! de>
Date: 2005-02-20 15:00:26
Message-ID: 20050220150026.AF1981BBA9 () office ! kde ! org
[Download RAW message or body]
CVS commit by vkrause:
Add a X-KDE-KontactPluginHasPart property to Kontact plugins and use it in \
Plugin::showInSideBar(). We need this to hide summary-only plugins in the \
default startup plugin selection. This is backward-compatible, so nothing \
changes for the current plugins.
M +2 -0 interfaces/kontactplugin.desktop 1.88
M +12 -0 interfaces/plugin.cpp 1.38
M +7 -2 interfaces/plugin.h 1.44
M +6 -1 src/kcmkontact.cpp 1.19
M +4 -0 src/main.cpp 1.58
M +3 -0 src/mainwindow.cpp 1.163
--- kdepim/kontact/interfaces/kontactplugin.desktop #1.87:1.88
@@ -54,2 +54,4 @@
[PropertyDef::X-KDE-KontactPluginHasSummary]
Type=bool
+[PropertyDef::X-KDE-KontactPluginHasPart]
+Type=bool
--- kdepim/kontact/interfaces/plugin.cpp #1.37:1.38
@@ -47,4 +47,5 @@ class Plugin::Private
QString executableName;
QCString partLibraryName;
+ bool hasPart;
KParts::ReadOnlyPart *part;
};
@@ -59,4 +60,5 @@ Plugin::Plugin( Kontact::Core *core, QOb
d->dcopClient = 0;
d->newActions = new QPtrList<KAction>;
+ d->hasPart = true;
d->part = 0;
}
@@ -206,4 +208,14 @@ void Plugin::bringToForeground()
}
+bool Kontact::Plugin::showInSideBar() const
+{
+ return d->hasPart;
+}
+
+void Kontact::Plugin::setShowInSideBar( bool hasPart )
+{
+ d->hasPart = hasPart;
+}
+
void Plugin::virtual_hook( int, void* ) {
//BASE::virtual_hook( id, data );
--- kdepim/kontact/interfaces/plugin.h #1.43:1.44
@@ -174,7 +174,12 @@ class KDE_EXPORT Plugin : public QObject
/**
- Reimplement this method if you don't want to have a plugin shown in \
the sidebar. + Returns wether the plugin provides a part that should \
be shown in the sidebar.
*/
- virtual bool showInSideBar() const { return true; }
+ virtual bool showInSideBar() const;
+
+ /**
+ Set if the plugin provides a part that should be shown in the \
sidebar. + */
+ void setShowInSideBar( bool hasPart );
/**
--- kdepim/kontact/src/kcmkontact.cpp #1.18:1.19
@@ -115,9 +115,14 @@ void PluginSelection::readConfig()
const KTrader::OfferList offers = KTrader::self()->query(
QString::fromLatin1( "Kontact/Plugin" ),
-
QString( "[X-KDE-KontactPluginVersion] == %1" ).arg( \
KONTACT_PLUGIN_VERSION ) ); +
int activeComponent = 0;
+ mPluginCombo->clear();
for ( KService::List::ConstIterator it = offers.begin(); it != \
offers.end(); ++it ) { KService::Ptr service = *it;
+ // skip summary only plugins
+ QVariant var = service->property( "X-KDE-KontactPluginHasPart" );
+ if ( var.isValid() && var.toBool() == false )
+ continue;
mPluginCombo->insertItem( service->name() );
mPluginList.append( service );
--- kdepim/kontact/src/main.cpp #1.57:1.58
@@ -65,4 +65,8 @@ static void listPlugins()
for ( KService::List::Iterator it = offers.begin(); it != offers.end(); \
++it ) { KService::Ptr service = (*it);
+ // skip summary only plugins
+ QVariant var = service->property( "X-KDE-KontactPluginHasPart" );
+ if ( var.isValid() && var.toBool() == false )
+ continue;
cout << service->library().remove( "libkontact_" ).latin1() << endl;
}
--- kdepim/kontact/src/mainwindow.cpp #1.162:1.163
@@ -395,4 +395,5 @@ void MainWindow::loadPlugins()
QVariant exeNameProp = (*it)->property( \
"X-KDE-KontactPartExecutableName" );
QVariant loadOnStart = (*it)->property( "X-KDE-KontactPartLoadOnStart" \
); + QVariant hasPartProp = (*it)->property( \
"X-KDE-KontactPluginHasPart" );
if ( !loadOnStart.isNull() && loadOnStart.toBool() )
@@ -403,4 +404,6 @@ void MainWindow::loadPlugins()
plugin->setPartLibraryName( libNameProp.toString().utf8() );
plugin->setExecutableName( exeNameProp.toString() );
+ if ( hasPartProp.isValid() )
+ plugin->setShowInSideBar( hasPartProp.toBool() );
for ( i = 0; i < plugins.count(); ++i ) {
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic