本文整理汇总了C++中kservice::Ptr::property方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::property方法的具体用法?C++ Ptr::property怎么用?C++ Ptr::property使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kservice::Ptr
的用法示例。
在下文中一共展示了Ptr::property方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: query
void
PluginManager::showAbout( const QString &constraint )
{
KTrader::OfferList offers = query( constraint );
if ( offers.isEmpty() )
return;
KService::Ptr s = offers.front();
const QString body = "<tr><td>%1</td><td>%2</td></tr>";
QString str = "<html><body><table width=\"100%\" border=\"1\">";
str += body.arg( i18n( "Name" ), s->name() );
str += body.arg( i18n( "Library" ), s->library() );
str += body.arg( i18n( "Authors" ), s->property( "X-KDE-amaroK-authors" ).toStringList().join( "\n" ) );
str += body.arg( i18n( "Email" ), s->property( "X-KDE-amaroK-email" ).toStringList().join( "\n" ) );
str += body.arg( i18n( "Version" ), s->property( "X-KDE-amaroK-version" ).toString() );
str += body.arg( i18n( "Framework Version" ), s->property( "X-KDE-amaroK-framework-version" ).toString() );
str += "</table></body></html>";
KMessageBox::information( 0, str, i18n( "Plugin Information" ) );
}
示例2:
SearchProvider::SearchProvider(const KService::Ptr service)
: m_dirty(false)
{
m_desktopEntryName = service->desktopEntryName();
m_name = service->name();
m_query = service->property("Query").toString();
m_keys = service->property("Keys").toStringList();
m_charset = service->property("Charset").toString();
}
示例3: setDesktopEntryName
SearchProvider::SearchProvider(const KService::Ptr service)
: m_dirty(false)
{
setDesktopEntryName(service->desktopEntryName());
setName(service->name());
setKeys(service->property(QStringLiteral("Keys")).toStringList());
m_query = service->property(QStringLiteral("Query")).toString();
m_charset = service->property(QStringLiteral("Charset")).toString();
}
示例4: d
KPluginInfo::KPluginInfo( const KService::Ptr service )
: d( new KPluginInfoPrivate )
{
if (!service) {
d = 0; // isValid() == false
return;
}
d->service = service;
d->entryPath = service->entryPath();
if ( service->isDeleted() )
{
d->hidden = true;
return;
}
d->name = service->name();
d->comment = service->comment();
d->icon = service->icon();
d->author = service->property( QLatin1String("X-KDE-PluginInfo-Author") ).toString();
d->email = service->property( QLatin1String("X-KDE-PluginInfo-Email") ).toString();
d->pluginName = service->property( QLatin1String("X-KDE-PluginInfo-Name") ).toString();
d->version = service->property( QLatin1String("X-KDE-PluginInfo-Version") ).toString();
d->website = service->property( QLatin1String("X-KDE-PluginInfo-Website") ).toString();
d->category = service->property( QLatin1String("X-KDE-PluginInfo-Category") ).toString();
d->license = service->property( QLatin1String("X-KDE-PluginInfo-License") ).toString();
d->dependencies =
service->property( QLatin1String("X-KDE-PluginInfo-Depends") ).toStringList();
QVariant tmp = service->property( QLatin1String("X-KDE-PluginInfo-EnabledByDefault") );
d->enabledbydefault = tmp.isValid() ? tmp.toBool() : false;
}
示例5: loadDisplayPlugins
void KatapultSettings::loadDisplayPlugins()
{
if(_display != 0)
{
delete _display;
_display = 0;
}
_displayNames.clear();
_displayIds.clear();
KTrader::OfferList offers = KTrader::self()->query("Katapult/Display");
KTrader::OfferList::ConstIterator it;
KService::Ptr lastservice;
for(it = offers.begin(); it != offers.end(); ++it)
{
KService::Ptr service = *it;
lastservice = service;
_displayNames.append(service->name());
if(!service->property("X-Katapult-ID", QVariant::String).toString().isEmpty())
_displayIds.append(service->property("X-Katapult-ID", QVariant::String).toString());
else
_displayIds.append(service->name());
if(_displayIds.last() == _displayName)
{
int errCode = 0;
_display = KParts::ComponentFactory::createInstanceFromService<KatapultDisplay>
(service, 0, 0, QStringList(), &errCode);
}
}
if(_display != 0)
{
KConfigGroup group(kapp->config(), QString("Displays/%1").arg(_displayName));
_display->readSettings(&group);
}
else
{
_displayName = _displayIds.last();
int errCode = 0;
_display = KParts::ComponentFactory::createInstanceFromService<KatapultDisplay>
(lastservice, 0, 0, QStringList(), &errCode);
KConfigGroup group(kapp->config(), QString("Displays/%1").arg(_displayName));
_display->readSettings(&group);
}
}
示例6: ptr
Info::Private::Private(const KService::Ptr& aPtr)
: ptr(aPtr)
, instanceCaption(aPtr->name())
, groupName(aPtr->genericName())
, itemIconName(aPtr->property("X-Kexi-ItemIcon", QVariant::String).toString())
, objectName(aPtr->property("X-Kexi-TypeName", QVariant::String).toString())
, partClass(aPtr->property("X-Kexi-Class", QVariant::String).toString())
, broken(false)
, idStoredInPartDatabase(false)
{
bool dataView = true;
getBooleanProperty(aPtr, "X-Kexi-SupportsDataView", &dataView);
if (dataView) {
supportedViewModes |= Kexi::DataViewMode;
}
bool designView = true;
getBooleanProperty(aPtr, "X-Kexi-SupportsDesignView", &designView);
if (designView) {
supportedViewModes |= Kexi::DesignViewMode;
}
bool textView = false;
getBooleanProperty(aPtr, "X-Kexi-SupportsTextView", &textView);
if (textView) {
supportedViewModes |= Kexi::TextViewMode;
}
dataView = true;
getBooleanProperty(aPtr, "X-Kexi-SupportsDataViewInUserMode", &dataView);
if (dataView) {
supportedUserViewModes |= Kexi::DataViewMode;
}
designView = false;
getBooleanProperty(aPtr, "X-Kexi-SupportsDesignViewInUserMode", &designView);
if (designView) {
supportedUserViewModes |= Kexi::DesignViewMode;
}
textView = false;
getBooleanProperty(aPtr, "X-Kexi-SupportsTextViewInUserMode", &textView);
if (textView) {
supportedUserViewModes |= Kexi::TextViewMode;
}
isVisibleInNavigator = true;
getBooleanProperty(aPtr, "X-Kexi-NoObject", &isVisibleInNavigator);
isPropertyEditorAlwaysVisibleInDesignMode = true;
getBooleanProperty(aPtr, "X-Kexi-PropertyEditorAlwaysVisibleInDesignMode",
&isPropertyEditorAlwaysVisibleInDesignMode);
}
示例7: runModule
bool KCMInit::runModule(const QString &libName, KService::Ptr service)
{
QLibrary lib(libName);
if (lib.load()) {
QVariant tmp = service->property("X-KDE-Init-Symbol", QVariant::String);
QString kcminit;
if ( tmp.isValid() ) {
kcminit = tmp.toString();
if( !kcminit.startsWith( QLatin1String( "kcminit_" ) ) )
kcminit = "kcminit_" + kcminit;
} else {
kcminit = "kcminit_" + libName;
}
// get the kcminit_ function
void *init = lib.resolve(kcminit.toUtf8());
if (init) {
// initialize the module
kDebug(1208) << "Initializing " << libName << ": " << kcminit;
void (*func)() = (void(*)())init;
func();
return true;
} else {
kDebug(1208) << "Module" << libName << "does not actually have a kcminit function";
}
}
return false;
}
示例8: instantiatePluginForDevice
PluginData PluginLoader::instantiatePluginForDevice(const QString& name, Device* device) const
{
PluginData ret;
KService::Ptr service = plugins[name];
if (!service) {
kDebug(kdeconnect_kded()) << "Plugin unknown" << name;
return ret;
}
KPluginFactory *factory = KPluginLoader(service->library()).factory();
if (!factory) {
kDebug(kdeconnect_kded()) << "KPluginFactory could not load the plugin:" << service->library();
return ret;
}
ret.interfaces = service->property("X-KdeConnect-SupportedPackageType", QVariant::StringList).toStringList();
QVariant deviceVariant = QVariant::fromValue<Device*>(device);
//FIXME any reason to use QObject in template param instead KdeConnectPlugin?
ret.plugin = factory->create<KdeConnectPlugin>(device, QVariantList() << deviceVariant);
if (!ret.plugin) {
kDebug(kdeconnect_kded()) << "Error loading plugin";
return ret;
}
kDebug(kdeconnect_kded()) << "Loaded plugin:" << service->name();
return ret;
}
示例9: loadExtension
void ExtensionMgr::loadExtension(const QString& name) {
KService::List sl = KServiceType::offers("Kst Extension");
for (KService::List::ConstIterator it = sl.begin(); it != sl.end(); ++it) {
KService::Ptr service = *it;
if (name == service->property("Name").toString()) {
loadExtension(service);
return;
}
}
}
示例10: driver
KexiMigrate* MigrateManagerInternal::driver(const QString& name)
{
if (!lookupDrivers())
return 0;
clearError();
KexiDBDbg << "loading" << name;
KexiMigrate *drv = name.isEmpty() ? 0 : m_drivers.value(name.toLatin1().toLower());
if (drv)
return drv; //cached
if (!m_services_lcase.contains(name.toLower())) {
setError(ERR_DRIVERMANAGER,
i18n("Could not find import/export database driver \"%1\".", name));
return 0;
}
KService::Ptr ptr = *(m_services_lcase.find(name.toLower()));
QString srv_name = ptr->property("X-Kexi-MigrationDriverName").toString();
KexiDBDbg << "library:" << ptr->library();
KPluginLoader loader(ptr->library());
const uint foundMajor = (loader.pluginVersion() >> 16) & 0xff;
const uint foundMinor = (loader.pluginVersion() >> 8) & 0xff;
if (!KexiMigration::version().matches(foundMajor, foundMinor)) {
setError(ERR_INCOMPAT_DRIVER_VERSION,
i18n(
"Incompatible migration driver's \"%1\" version: found version %2, expected version %3.",
name,
QString("%1.%2").arg(foundMajor).arg(foundMinor),
QString("%1.%2").arg(KexiMigration::version().major).arg(KexiMigration::version().minor))
);
return 0;
}
KPluginFactory *factory = loader.factory();
if (factory)
drv = factory->create<KexiMigrate>(this);
if (!drv) {
setError(ERR_DRIVERMANAGER,
i18n("Could not load import/export database driver \"%1\".", name));
return 0;
}
KexiDBDbg << "loading succeeded:" << name;
KexiDBDbg << "drv=" << (long)drv;
drv->setObjectName(srv_name);
m_drivers.insert(name.toLatin1().toLower(), drv); //cache it
return drv;
}
示例11: runModules
void KCMInit::runModules( int phase )
{
for(KService::List::Iterator it = list.begin();
it != list.end();
++it) {
KService::Ptr service = (*it);
QVariant tmp = service->property("X-KDE-Init-Library", QVariant::String);
QString library;
if( tmp.isValid() )
{
library = tmp.toString();
if( !library.startsWith( QLatin1String( "kcminit_" ) ) )
library = QLatin1String( "kcminit_" ) + library;
}
else
{
library = service->library();
}
if (library.isEmpty()) {
continue; // Skip
}
// see ksmserver's README for the description of the phases
QVariant vphase = service->property("X-KDE-Init-Phase", QVariant::Int );
int libphase = 1;
if( vphase.isValid() )
libphase = vphase.toInt();
if( phase != -1 && libphase != phase )
continue;
// try to load the library
if (!alreadyInitialized.contains(library)) {
runModule(library, service);
alreadyInitialized.append(library);
}
}
}
示例12: loadCatalogPlugins
void KatapultSettings::loadCatalogPlugins()
{
_activeCatalogs.clear();
_catalogNames.clear();
_catalogIds.clear();
ActionRegistry::self()->clear();
KTrader::OfferList offers = KTrader::self()->query("Katapult/Catalog");
KTrader::OfferList::ConstIterator it;
for(it = offers.begin(); it != offers.end(); ++it)
{
QString id;
KService::Ptr service = *it;
KatapultCatalog *catalog;
if(!service->property("X-Katapult-ID", QVariant::String).toString().isEmpty())
id = service->property("X-Katapult-ID", QVariant::String).toString();
else
id = service->name();
_catalogNames.append(service->name());
_catalogIds.append(id);
if(_activeCatalogNames.contains(id))
{
int errCode = 0;
catalog = KParts::ComponentFactory::createInstanceFromService<KatapultCatalog>
(service, 0, 0, QStringList(), &errCode);
if(catalog != 0)
{
KConfigGroup group(kapp->config(), QString("Catalogs/%1").arg(id));
catalog->readSettings(&group);
catalog->initialize();
_activeCatalogs.insert(id, catalog);
}
}
}
}
示例13: readConfig
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 );
if ( service->property("X-KDE-PluginInfo-Name").toString() == mItem->value() )
activeComponent = mPluginList.count() - 1;
}
mPluginCombo->setCurrentItem( activeComponent );
}
示例14: driverForMimeType
QString MigrateManager::driverForMimeType(const QString &mimeType)
{
if (!d_int->lookupDrivers()) {
kDebug() << "lookupDrivers() failed";
setError(d_int);
return 0;
}
KService::Ptr ptr = d_int->m_services_by_mimetype[mimeType.toLower()];
if (!ptr) {
kWarning() << "No such mimetype" << mimeType;
return QString();
}
return ptr->property("X-Kexi-MigrationDriverName").toString();
}
示例15: kdDebug
static KDevCompilerOptions *createCompilerOptions( const QString &name, QObject *parent )
{
KService::Ptr service = KService::serviceByDesktopName( name );
if ( !service )
{
kdDebug( 9020 ) << "Can't find service " << name << endl;
return 0;
}
KLibFactory *factory = KLibLoader::self()->factory(QFile::encodeName(service->library()));
if (!factory) {
QString errorMessage = KLibLoader::self()->lastErrorMessage();
kdDebug(9020) << "There was an error loading the module " << service->name() << endl <<
"The diagnostics is:" << endl << errorMessage << endl;
exit(1);
}
QStringList args;
QVariant prop = service->property("X-KDevelop-Args");
if (prop.isValid())
args = QStringList::split(" ", prop.toString());
QObject *obj = factory->create(parent, service->name().latin1(),
"KDevCompilerOptions", args);
if (!obj->inherits("KDevCompilerOptions")) {
kdDebug(9020) << "Component does not inherit KDevCompilerOptions" << endl;
return 0;
}
KDevCompilerOptions *dlg = (KDevCompilerOptions*) obj;
return dlg;
/*
QStringList args;
QVariant prop = service->property( "X-KDevelop-Args" );
if ( prop.isValid() )
args = QStringList::split( " ", prop.toString() );
return KParts::ComponentFactory
::createInstanceFromService<KDevCompilerOptions>( service, parent,
service->name().latin1(), args );*/
}