本文整理汇总了C++中QExplicitlySharedDataPointer::name方法的典型用法代码示例。如果您正苦于以下问题:C++ QExplicitlySharedDataPointer::name方法的具体用法?C++ QExplicitlySharedDataPointer::name怎么用?C++ QExplicitlySharedDataPointer::name使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QExplicitlySharedDataPointer
的用法示例。
在下文中一共展示了QExplicitlySharedDataPointer::name方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: saver
KrPopupMenu::KrPopupMenu(KrPanel *thePanel, QWidget *parent) : QMenu(parent), panel(thePanel), empty(false),
multipleSelections(false), actions(0), _item(0)
{
#ifdef __LIBKONQ__
konqMenu = 0;
konqMenuActions = 0;
#endif
KrViewItemList items;
panel->view->getSelectedKrViewItems(&items);
for (KrViewItemList::Iterator it = items.begin(); it != items.end(); ++it) {
vfile *file = panel->func->files()->vfs_search(((*it)->name()));
QUrl url = file->vfile_getUrl();
_items.append(KFileItem(url, file->vfile_getMime(), file->vfile_getMode()));
}
if (items.empty()) {
addCreateNewMenu();
addSeparator();
addEmptyMenuEntries();
return;
} else if (items.size() > 1) multipleSelections = true;
QList<QString> protocols;
for (int i = 0; i < items.size(); ++i) {
protocols.append(panel->func->getVFile(items[ i ]) ->vfile_getUrl().scheme());
}
bool inTrash = protocols.contains("trash");
bool trashOnly = (protocols.count() == 1) && (protocols[ 0 ] == "trash");
KrViewItem *item = items.first();
vfile *vf = panel->func->getVFile(item);
_item = &_items.first();
// ------------ the OPEN option - open preferred service
QAction * openAct = addAction(i18n("Open/Run"));
openAct->setData(QVariant(OPEN_ID));
if (!multipleSelections) { // meaningful only if one file is selected
openAct->setIcon(item->icon());
openAct->setText(vf->vfile_isExecutable() && !vf->vfile_isDir() ? i18n("Run") : i18n("Open"));
// open in a new tab (if folder)
if (vf->vfile_isDir()) {
QAction * openTab = addAction(i18n("Open in New Tab"));
openTab->setData(QVariant(OPEN_TAB_ID));
openTab->setIcon(krLoader->loadIcon("tab-new", KIconLoader::Panel));
openTab->setText(i18n("Open in New Tab"));
}
addSeparator();
}
// ------------- Preview - normal vfs only ?
if (panel->func->files()->vfs_getType() == vfs::VFS_NORMAL) {
// create the preview popup
QStringList names;
panel->gui->getSelectedNames(&names);
preview.setUrls(panel->func->files() ->vfs_getFiles(names));
QAction *pAct = addMenu(&preview);
pAct->setData(QVariant(PREVIEW_ID));
pAct->setText(i18n("Preview"));
}
// -------------- Open with: try to find-out which apps can open the file
// this too, is meaningful only if one file is selected or if all the files
// have the same mimetype !
QString mime = panel->func->getVFile(item)->vfile_getMime();
// check if all the list have the same mimetype
for (int i = 1; i < items.size(); ++i) {
if (panel->func->getVFile(items[ i ]) ->vfile_getMime() != mime) {
mime.clear();
break;
}
}
if (!mime.isEmpty()) {
offers = KMimeTypeTrader::self()->query(mime);
for (int i = 0; i < offers.count(); ++i) {
QExplicitlySharedDataPointer<KService> service = offers[i];
if (service->isValid() && service->isApplication()) {
openWith.addAction(krLoader->loadIcon(service->icon(), KIconLoader::Small), service->name())->setData(QVariant(SERVICE_LIST_ID + i));
}
}
openWith.addSeparator();
if (vf->vfile_isDir())
openWith.addAction(krLoader->loadIcon("utilities-terminal", KIconLoader::Small), i18n("Terminal"))->setData(QVariant(OPEN_TERM_ID));
openWith.addAction(i18n("Other..."))->setData(QVariant(CHOOSE_ID));
QAction *owAct = addMenu(&openWith);
owAct->setData(QVariant(OPEN_WITH_ID));
owAct->setText(i18n("Open With"));
addSeparator();
}
// --------------- user actions
QAction *uAct = new UserActionPopupMenu(panel->func->files()->vfs_getFile(item->name()));
addAction(uAct);
uAct->setText(i18n("User Actions"));
#ifdef __LIBKONQ__
// -------------- konqueror menu
// This section adds all Konqueror/Dolphin menu items.
// It's now updated to KDE4 and working, I've just commented it out.
//.........这里部分代码省略.........