本文整理汇总了C++中kservice::Ptr::name方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::name方法的具体用法?C++ Ptr::name怎么用?C++ Ptr::name使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kservice::Ptr
的用法示例。
在下文中一共展示了Ptr::name方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: slotFixOpenWithMenu
void KateFileTree::slotFixOpenWithMenu()
{
QMenu *menu = (QMenu*)sender();
menu->clear();
KTextEditor::Document *doc = model()->data(m_indexContextMenu, KateFileTreeModel::DocumentRole).value<KTextEditor::Document *>();
if (!doc) return;
// get a list of appropriate services.
KMimeType::Ptr mime = KMimeType::mimeType(doc->mimeType());
//kDebug(13001) << "mime type: " << mime->name();
QAction *a = 0;
KService::List offers = KMimeTypeTrader::self()->query(mime->name(), "Application");
// for each one, insert a menu item...
for(KService::List::Iterator it = offers.begin(); it != offers.end(); ++it)
{
KService::Ptr service = *it;
if (service->name() == "Kate") continue;
a = menu->addAction(KIcon(service->icon()), service->name());
a->setData(service->entryPath());
}
// append "Other..." to call the KDE "open with" dialog.
a = menu->addAction(i18n("&Other..."));
a->setData(QString());
}
示例2: clickedMenu
void SyncTaskListItem::clickedMenu(int item)
{
KTrader::OfferList::Iterator it;
if (offers.begin() != offers.end()) {
for (it = offers.begin(); it != offers.end(); ++it) {
KService::Ptr service = *it;
kdDebug(2120) << i18n("Select Name:") << " "
<< service->name() + "; " << i18n("Library:") << " " <<
service->library() << endl;
if (service->name() == itemMenu.text(item)) {
if (preferedOffer != service->name() ||
preferedLibrary != service->library()) {
preferedOfferTemp = service->name();
preferedLibraryTemp = service->library();
itemMenu.setItemChecked(item, true);
}
} else {
itemMenu.setItemChecked(item, false);
}
}
}
createSyncPlugin(QCheckListItem::isOn());
emit serviceChanged();
}
示例3: 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);
}
}
示例4: loadServices
void BackendSelection::loadServices(const KService::List &offers)
{
m_services.clear();
m_select->clear();
KService::List::const_iterator it = offers.begin();
const KService::List::const_iterator end = offers.end();
for (; it != end; ++it)
{
KService::Ptr service = *it;
m_select->addItem(service->name());
m_services[service->name()] = service;
}
m_select->setItemSelected(m_select->item(0), true);
}
示例5: 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;
}
示例6: slotCapturedShortcut
void BasicTab::slotCapturedShortcut(const KShortcut &cut)
{
if(signalsBlocked())
return;
if(KKeyChooser::checkGlobalShortcutsConflict(cut, true, topLevelWidget())
|| KKeyChooser::checkStandardShortcutsConflict(cut, true, topLevelWidget()))
return;
if(KHotKeys::present())
{
if(!_menuEntryInfo->isShortcutAvailable(cut))
{
KService::Ptr service;
emit findServiceShortcut(cut, service);
if(!service)
service = KHotKeys::findMenuEntry(cut.toString());
if(service)
{
KMessageBox::sorry(this, i18n("<qt>The key <b>%1</b> can not be used here because it is already used to activate <b>%2</b>.")
.arg(cut.toString(), service->name()));
return;
}
else
{
KMessageBox::sorry(this, i18n("<qt>The key <b>%1</b> can not be used here because it is already in use.").arg(cut.toString()));
return;
}
}
_menuEntryInfo->setShortcut(cut);
}
_keyEdit->setShortcut(cut, false);
if(_menuEntryInfo)
emit changed(_menuEntryInfo);
}
示例7: KaffeineDVBsection
DVBevents::DVBevents( QString devType, int anum, int tnum, const QString &charset, EventTable *table )
: KaffeineDVBsection( anum, tnum, charset )
{
events = table;
KaffeineEpgPlugin *plug;
QString plugName;
int error;
KTrader::OfferList offers = KTrader::self()->query("KaffeineEpgPlugin");
KTrader::OfferList::Iterator end( offers.end() );
for ( KTrader::OfferList::Iterator it=offers.begin(); it!=end; ++it ) {
error = 0;
KService::Ptr ptr = (*it);
if ( !ptr->name().contains(devType) )
continue;
plug = KParts::ComponentFactory::createPartInstanceFromService<KaffeineEpgPlugin>(ptr, 0, ptr->name().ascii(), 0, 0, 0, &error );
plugName = ptr->desktopEntryName();
if (error > 0) {
fprintf( stderr, "Loading of EPG plugin %s failed: %s\n", plugName.ascii(), KLibLoader::self()->lastErrorMessage().ascii() );
plug = NULL;
}
else {
plugs.append( plug );
plug->setTable( table );
plug->initSection( anum, tnum, charset );
plugNames.append( plugName );
}
}
fprintf( stderr, "%d EPG plugins loaded for device %d:%d.\n", plugs.count(), anum, tnum );
}
示例8: data
QVariant RecentAppsModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid() || index.row() >= m_recentApps.count()) {
return QVariant();
}
const QString storageId = m_recentApps.at(index.row());
KService::Ptr service = KService::serviceByStorageId(storageId);
if (!service) {
return QVariant();
}
if (role == Qt::DisplayRole) {
return service->name();
} else if (role == Qt::DecorationRole) {
return QIcon::fromTheme(service->icon(), QIcon::fromTheme("unknown"));
} else if (role == Kicker::FavoriteIdRole) {
return QVariant("app:" + storageId);
} else if (role == Kicker::HasActionListRole) {
return true;
} else if (role == Kicker::ActionListRole) {
QVariantList actionList;
const QVariantMap &forgetAction = Kicker::createActionItem(i18n("Forget Application"), "forget");
actionList.append(forgetAction);
const QVariantMap &forgetAllAction = Kicker::createActionItem(i18n("Forget All Applications"), "forgetAll");
actionList.append(forgetAllAction);
return actionList;
}
return QVariant();
}
示例9: 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" ) );
}
示例10: initApplication
void SettingsBase::initApplication()
{
// Prepare the menu of all modules
categories = KServiceTypeTrader::self()->query("SystemSettingsCategory");
modules = KServiceTypeTrader::self()->query("KCModule", "[X-KDE-System-Settings-Parent-Category] != ''");
modules += KServiceTypeTrader::self()->query("SystemSettingsExternalApp");
rootModule = new MenuItem( true, 0 );
initMenuList(rootModule);
// Handle lost+found modules...
if (lostFound) {
for (int i = 0; i < modules.size(); ++i) {
const KService::Ptr entry = modules.at(i);
MenuItem * infoItem = new MenuItem(false, lostFound);
infoItem->setService( entry );
qDebug() << "Added " << entry->name();
}
}
// Prepare the Base Data
BaseData::instance()->setMenuItem( rootModule );
// Load all possible views
const KService::List pluginObjects = KServiceTypeTrader::self()->query( "SystemSettingsView" );
const int nbPlugins = pluginObjects.count();
for( int pluginsDone = 0; pluginsDone < nbPlugins ; ++pluginsDone ) {
KService::Ptr activeService = pluginObjects.at( pluginsDone );
QString error;
BaseMode * controller = activeService->createInstance<BaseMode>(this, QVariantList(), &error);
if( error.isEmpty() ) {
possibleViews.insert( activeService->library(), controller );
controller->init( activeService );
connect(controller, SIGNAL(changeToolBarItems(BaseMode::ToolBarItems)), this, SLOT(changeToolBar(BaseMode::ToolBarItems)));
connect(controller, SIGNAL(actionsChanged()), this, SLOT(updateViewActions()));
connect(searchText, SIGNAL(textChanged(QString)), controller, SLOT(searchChanged(QString)));
connect(controller, SIGNAL(viewChanged(bool)), this, SLOT(viewChange(bool)));
} else {
示例11: loadPlugins
void PluginManager::loadPlugins()
{
KService::List offers = KServiceTypeTrader::self()->query(QLatin1String("KTpAccountsKCM/AccountUiPlugin"));
KService::List::const_iterator iter;
for (iter = offers.constBegin(); iter < offers.constEnd(); ++iter) {
QString error;
KService::Ptr service = *iter;
KPluginFactory *factory = KPluginLoader(service->library()).factory();
if (!factory) {
qWarning() << "KPluginFactory could not load the plugin:" << service->library();
continue;
}
AbstractAccountUiPlugin *plugin = factory->create<AbstractAccountUiPlugin>(this);
if (plugin) {
qDebug() << "Loaded plugin:" << service->name();
m_plugins.append(plugin);
} else {
qDebug() << error;
}
}
}
示例12: queryButtonClicked
void AdminDatabase::queryButtonClicked()
{
if ( ! m_listView->currentItem() )
return;
QVBox *widget = new QVBox(this);
KTrader::OfferList offers = KTrader::self()->query("text/plain", "'KParts/ReadOnlyPart' in ServiceTypes");
KLibFactory *factory = 0;
KTrader::OfferList::Iterator it(offers.begin());
for( ; it != offers.end(); ++it)
{
KService::Ptr ptr = (*it);
factory = KLibLoader::self()->factory( ptr->library() );
if (factory)
{
m_part = static_cast<KParts::ReadOnlyPart *>(factory->create(widget, ptr->name(), "KParts::ReadOnlyPart"));
m_part->openURL("file://"+m_dumpDir->absPath()+"/"+m_listView->getText(0)+".sql");
break;
}
}
if (!factory)
{
KMessageBox::error(this, i18n("Could not find a suitable component"));
return;
}
emit sendWidget(widget,i18n("View dump"));
}
示例13: 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;
}
示例14: DesktopBehaviorPreviewItem
DesktopBehaviorPreviewItem(DesktopBehavior *rootOpts, QListView *parent,
const KService::Ptr &plugin, bool on)
: QCheckListItem(parent, plugin->name(), CheckBox),
m_rootOpts(rootOpts)
{
m_pluginName = plugin->desktopEntryName();
setOn(on);
}
示例15: setServiceMenu
void Configuration::setServiceMenu()
{
KMenu *menu = qobject_cast<KMenu*>(sender());
if (menu->actions().count() > 1)
{
return;
}
KServiceGroup::Ptr rootGroup = KServiceGroup::group(menu->actions()[0]->data().toString());
if (!rootGroup || !rootGroup->isValid() || rootGroup->noDisplay())
{
return;
}
KServiceGroup::List list = rootGroup->entries(true, true, true, true);
QAction *action = menu->addAction(KIcon("list-add"), i18n("Add This Menu"));
action->setData(rootGroup->relPath());
menu->addSeparator();
for (int i = 0; i < list.count(); ++i)
{
if (list.at(i)->isType(KST_KService))
{
const KService::Ptr service = KService::Ptr::staticCast(list.at(i));
action = menu->addAction(KIcon(service->icon()), service->name());
action->setEnabled(false);
}
else if (list.at(i)->isType(KST_KServiceGroup))
{
const KServiceGroup::Ptr group = KServiceGroup::Ptr::staticCast(list.at(i));
if (group->noDisplay() || group->childCount() == 0)
{
continue;
}
KMenu *subMenu = new KMenu(menu);
QAction *action = subMenu->addAction(QString());
action->setData(group->relPath());
action->setVisible(false);
action = menu->addAction(KIcon(group->icon()), group->caption());
action->setMenu(subMenu);
connect(subMenu, SIGNAL(aboutToShow()), this, SLOT(setServiceMenu()));
}
else if (list.at(i)->isType(KST_KServiceSeparator))
{
menu->addSeparator();
}
}
}