本文整理汇总了C++中kmimetype::Ptr::iconName方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::iconName方法的具体用法?C++ Ptr::iconName怎么用?C++ Ptr::iconName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kmimetype::Ptr
的用法示例。
在下文中一共展示了Ptr::iconName方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: iconForContent
KIcon iconForContent( KMime::Content *content )
{
if ( !content->contentType( false ) )
return KIcon();
KMimeType::Ptr mimeType = KMimeType::mimeType( QString::fromLatin1( content->contentType()->mimeType() ) );
if ( mimeType.isNull() || mimeType->iconName().isEmpty() )
return KIcon();
return KIcon( mimeType->iconName() );
}
示例2: pixmap
// ## where is this used?
QPixmap KFileItem::pixmap( int _size, int _state ) const
{
const QString iconName = d->m_entry.stringValue( KIO::UDSEntry::UDS_ICON_NAME );
if ( !iconName.isEmpty() )
return DesktopIcon(iconName, _size, _state);
if (!d->m_pMimeType) {
// No mimetype determined yet, go for a fast default icon
if (S_ISDIR(d->m_fileMode)) {
static const QString * defaultFolderIcon = 0;
if ( !defaultFolderIcon ) {
const KMimeType::Ptr mimeType = KMimeType::mimeType( "inode/directory" );
if ( mimeType )
defaultFolderIcon = &KGlobal::staticQString( mimeType->iconName() );
else
kWarning(7000) << "No mimetype for inode/directory could be found. Check your installation.";
}
if ( defaultFolderIcon )
return DesktopIcon( *defaultFolderIcon, _size, _state );
}
return DesktopIcon( "unknown", _size, _state );
}
KMimeType::Ptr mime;
// Use guessed mimetype if the main one hasn't been determined for sure
if ( !d->m_bMimeTypeKnown && !d->m_guessedMimeType.isEmpty() )
mime = KMimeType::mimeType( d->m_guessedMimeType );
else
mime = d->m_pMimeType;
// Support for gzipped files: extract mimetype of contained file
// See also the relevant code in overlays, which adds the zip overlay.
if ( mime->name() == "application/x-gzip" && d->m_url.fileName().endsWith( QLatin1String( ".gz" ) ) )
{
KUrl sf;
sf.setPath( d->m_url.path().left( d->m_url.path().length() - 3 ) );
//kDebug() << "subFileName=" << subFileName;
mime = KMimeType::findByUrl( sf, 0, d->m_bIsLocalUrl );
}
bool isLocalUrl;
KUrl url = mostLocalUrl(isLocalUrl);
QPixmap p = KIconLoader::global()->loadMimeTypeIcon( mime->iconName( url ), KIconLoader::Desktop, _size, _state );
//kDebug() << "finding pixmap for " << url.url() << " : " << mime->name();
if (p.isNull())
kWarning() << "Pixmap not found for mimetype " << d->m_pMimeType->name();
return p;
}
示例3: iconNameFor
// at first, tries to find the iconname in the cache
// if not available, tries to find the pixmap for the mimetype of url
// if that fails, gets the icon for the protocol
// finally, inserts the url/icon pair into the cache
QString KonqPixmapProvider::iconNameFor( const KUrl& url )
{
QMap<KUrl,QString>::iterator it = iconMap.find( url );
QString icon;
if ( it != iconMap.end() ) {
icon = it.value();
if ( !icon.isEmpty() )
return icon;
}
if ( url.url().isEmpty() ) {
// Use the folder icon for the empty URL
const KMimeType::Ptr directoryType = KMimeType::mimeType( "inode/directory" );
if( directoryType.isNull() ) // no mimetypes installed!
return QString();
icon = directoryType->iconName();
Q_ASSERT( !icon.isEmpty() );
}
else
{
icon = KMimeType::iconNameForUrl( url );
Q_ASSERT( !icon.isEmpty() );
}
// cache the icon found for url
iconMap.insert( url, icon );
return icon;
}
示例4: execute
bool Script::execute()
{
if (!bt::Exists(file) || action)
return false;
KMimeType::Ptr mt = KMimeType::findByPath(file);
QString name = QFileInfo(file).fileName();
action = new Kross::Action(this,name);
action->setText(name);
action->setDescription(name);
action->setFile(file);
action->setIconName(mt->iconName());
QString interpreter = Kross::Manager::self().interpreternameForFile(file);
if (interpreter.isNull())
{
delete action;
action = 0;
return false;
}
else
{
action->setInterpreter(interpreter);
Kross::Manager::self().actionCollection()->addAction(file,action);
action->trigger();
executing = true;
return true;
}
}
示例5: iconName
QString KFileItem::iconName() const
{
if (d->m_useIconNameCache && !d->m_iconName.isEmpty()) {
return d->m_iconName;
}
d->m_iconName = d->m_entry.stringValue( KIO::UDSEntry::UDS_ICON_NAME );
if (!d->m_iconName.isEmpty()) {
d->m_useIconNameCache = d->m_bMimeTypeKnown;
return d->m_iconName;
}
bool isLocalUrl;
KUrl url = mostLocalUrl(isLocalUrl);
KMimeType::Ptr mime = mimeTypePtr();
if (isLocalUrl && mime->is("application/x-desktop")) {
d->m_iconName = iconFromDesktopFile(url.toLocalFile());
if (!d->m_iconName.isEmpty()) {
d->m_useIconNameCache = d->m_bMimeTypeKnown;
return d->m_iconName;
}
}
// KDE5: handle .directory files here too, and get rid of
// KFolderMimeType and the url argument in KMimeType::iconName().
d->m_iconName = mime->iconName(url);
d->m_useIconNameCache = d->m_bMimeTypeKnown;
//kDebug() << "finding icon for" << url << ":" << d->m_iconName;
return d->m_iconName;
}
示例6: setResource
void DocumentPreviewTab::setResource(Nepomuk2::Resource & resource)
{
m_resource = resource;
ui->urlSelector->clear();
if(m_part) {
m_part->closeUrl();
}
QString specificUrl;
if(resource.isValid()) {
specificUrl = resource.property(Nepomuk2::Vocabulary::NIE::url()).toString();
if(!specificUrl.isEmpty()) {
resource = resource.property(Nepomuk2::Vocabulary::NBIB::publishedAs()).toResource();
m_resource = resource;
}
QList<Nepomuk2::Resource> fileList;
if(resource.hasType(Nepomuk2::Vocabulary::NBIB::Reference())) {
Nepomuk2::Resource publication = resource.property(Nepomuk2::Vocabulary::NBIB::publication()).toResource();
fileList = publication.property(Nepomuk2::Vocabulary::NBIB::isPublicationOf()).toResourceList();
fileList.append( publication.property(Nepomuk2::Vocabulary::NIE::links()).toResourceList() );
}
else if(resource.hasType(Nepomuk2::Vocabulary::NBIB::Publication())) {
fileList = resource.property(Nepomuk2::Vocabulary::NBIB::isPublicationOf()).toResourceList();
fileList.append( resource.property(Nepomuk2::Vocabulary::NIE::links()).toResourceList() );
}
else {
fileList.append(resource);
}
// add all DataObjects to the preview
foreach(const Nepomuk2::Resource & r, fileList) {
KUrl url = KUrl(r.property(Nepomuk2::Vocabulary::NIE::url()).toString());
KIcon icon;
QString mimetype;
if( r.hasType(Nepomuk2::Vocabulary::NFO::Website())// || r.hasType(Nepomuk2::Vocabulary::NFO::WebDataObject())
|| url.scheme() == QLatin1String("http")) {
QString favIcon = KMimeType::favIconForUrl(url);
if(favIcon.isEmpty()) {
favIcon = QLatin1String("text-html");
}
icon = KIcon(favIcon);
mimetype = QLatin1String("text/html");
}
else {
KMimeType::Ptr mimeTypePtr = KMimeType::findByUrl(url);
icon = KIcon(mimeTypePtr->iconName());
mimetype = mimeTypePtr->name();
}
ui->urlSelector->addItem(icon,url.url(),QVariant(mimetype));
}
示例7: icon
static QPixmap icon( KMimeType::Ptr mimeType, const QString &uri,
bool binary = false )
{
QString iconStr = mimeType->iconName( uri );
QStringList overlays;
if ( !uri.isEmpty() && !binary ) {
overlays << "emblem-link";
}
return KIconLoader::global()->loadIcon( iconStr, KIconLoader::Desktop, 0,
KIconLoader::DefaultState,
overlays );
}
示例8: viewInInternalViewer
bool ArkViewer::viewInInternalViewer(const QString& fileName, const KMimeType::Ptr& mimeType)
{
const KUrl fileUrl(fileName);
setCaption(fileUrl.fileName());
restoreDialogSize(KGlobal::config()->group("Viewer"));
QFrame *header = new QFrame(m_widget);
QHBoxLayout *headerLayout = new QHBoxLayout(header);
QLabel *iconLabel = new QLabel(header);
headerLayout->addWidget(iconLabel);
iconLabel->setPixmap(KIconLoader::global()->loadMimeTypeIcon(mimeType->iconName(), KIconLoader::Desktop));
iconLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum);
KVBox *headerRight = new KVBox(header);
headerLayout->addWidget(headerRight);
new QLabel(QString(QLatin1String( "<qt><b>%1</b></qt>" ))
.arg(fileUrl.fileName()), headerRight
);
new QLabel(mimeType->comment(), headerRight);
header->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum);
m_part = KMimeTypeTrader::self()->createPartInstanceFromQuery<KParts::ReadOnlyPart>(mimeType->name(),
m_widget,
this);
if (!m_part.data()) {
return false;
}
if (m_part.data()->browserExtension()) {
connect(m_part.data()->browserExtension(),
SIGNAL(openUrlRequestDelayed(KUrl,KParts::OpenUrlArguments,KParts::BrowserArguments)),
SLOT(slotOpenUrlRequestDelayed(KUrl,KParts::OpenUrlArguments,KParts::BrowserArguments)));
}
m_part.data()->openUrl(fileUrl);
return true;
}
示例9: slotMimeTypeChanged
void KMMsgPartDialog::slotMimeTypeChanged( const QString & mimeType ) {
// message subparts MUST have 7bit or 8bit encoding...
#if 0
// ...but until KMail can recode 8bit messages on attach, so that
// they can be signed, we can't enforce this :-(
if ( mimeType.startsWith("message/") ) {
setEncoding( SevenBit );
mEncoding->setEnabled( false );
} else {
mEncoding->setEnabled( !mReadOnly );
}
#endif
// find a mimetype icon:
KMimeType::Ptr mt = KMimeType::mimeType( mimeType, KMimeType::ResolveAliases );
if ( !mt.isNull() )
mIcon->setPixmap( KIconLoader::global()->loadMimeTypeIcon( mt->iconName(),
KIconLoader::Desktop ) );
else
mIcon->setPixmap( DesktopIcon("unknown") );
}
示例10: match
void Nepomuk::QueryClientWrapper::slotNewEntries(const QList<Nepomuk::Query::Result>& results)
{
QList<Plasma::QueryMatch> matches;
foreach(const Query::Result& result, results) {
Plasma::QueryMatch match(m_runner);
match.setType(Plasma::QueryMatch::PossibleMatch);
match.setRelevance(normalizeScore(result.score()));
Nepomuk::Resource res = result.resource();
QString type;
QString iconName;
KMimeType::Ptr mimetype;
if (res.hasProperty(Nepomuk::Vocabulary::NIE::mimeType())) {
mimetype = KMimeType::mimeType(res.property(Nepomuk::Vocabulary::NIE::mimeType()).toString());
}
if (!mimetype && res.isFile() && res.toFile().url().isLocalFile()) {
const KUrl url(res.toFile().url());
mimetype = KMimeType::findByUrl(url);
}
if (mimetype) {
type = mimetype->comment();
iconName = mimetype->iconName();
}
if (type.isEmpty() ) {
type = Nepomuk::Types::Class(res.resourceType()).label();
iconName = res.genericIcon();
}
match.setText(res.genericLabel());
match.setSubtext(type);
match.setIcon(KIcon(iconName.isEmpty() ? QString::fromLatin1("nepomuk") : iconName));
match.setData(qVariantFromValue(res));
match.setId(KUrl(res.resourceUri()).url());
matches << match;
}
示例11: showLinks
void KGetLinkView::showLinks( const QList<QString>& links )
{
QStandardItemModel *model = new QStandardItemModel(0, 5, this);
model->setHeaderData(0, Qt::Horizontal, i18n("Auxiliary header"));
model->setHeaderData(1, Qt::Horizontal, i18n("File Name"));
model->setHeaderData(2, Qt::Horizontal, i18n("Description"));
model->setHeaderData(3, Qt::Horizontal, i18nc("list header: type of file", "File Type"));
model->setHeaderData(4, Qt::Horizontal, i18n("Location (URL)"));
foreach (const QString &linkitem, links)
{
KUrl url(linkitem);
QString file = url.fileName();
if (file.isEmpty())
{
file = QString(url.host());
}
KMimeType::Ptr mt = KMimeType::findByUrl(linkitem, 0, true, true);
QList<QStandardItem*> items;
QStandardItem *item = new QStandardItem(file);
item->setIcon(KIcon(mt->iconName()));
item->setCheckable(true);
item->setData(QVariant(url.fileName()), Qt::DisplayRole);
item->setData(QVariant(mt->name()), Qt::UserRole); // used for filtering DownloadFilterType
items << new QStandardItem(QString::number(model->rowCount()));
items << item;
items << new QStandardItem();
items << new QStandardItem(mt->comment());
items << new QStandardItem(url.prettyUrl());
model->insertRow(model->rowCount(), items);
}
示例12: KUrl
LinkItem::LinkItem( DOM::Element link )
: m_valid( false )
{
DOM::NamedNodeMap attrs = link.attributes();
DOM::Node href = attrs.getNamedItem( "href" );
// Load source address of images too
DOM::Node src = attrs.getNamedItem( "src" );
if ( href.nodeValue().string().isEmpty() && !src.nodeValue().string().isEmpty() )
href = src;
// qDebug("*** href: %s", href.nodeValue().string().latin1() );
QString urlString = link.ownerDocument().completeURL( href.nodeValue() ).string();
if ( urlString.isEmpty() )
return;
url = KUrl( urlString );
if ( !KProtocolManager::supportsReading( url ) )
return;
// somehow getElementsByTagName("#text") doesn't work :(
DOM::NodeList children = link.childNodes();
for ( uint i = 0; i < children.length(); i++ )
{
DOM::Node node = children.item( i );
if ( node.nodeType() == DOM::Node::TEXT_NODE )
text.append( node.nodeValue().string() );
}
// force "local file" mimetype determination
KMimeType::Ptr mt = KMimeType::findByUrl( url, 0, true, true);
icon = mt->iconName();
mimeType = mt->comment();
m_valid = true;
}
示例13: KPageDialog
KoDocumentInfoDlg::KoDocumentInfoDlg(QWidget* parent, KoDocumentInfo* docInfo, KoDocumentRdf* docRdf)
: KPageDialog(parent)
, d(new KoDocumentInfoDlgPrivate)
{
d->m_info = docInfo;
d->m_rdf = docRdf;
setCaption(i18n("Document Information"));
setInitialSize(QSize(500, 500));
setFaceType(KPageDialog::List);
setButtons(KDialog::Ok | KDialog::Cancel);
setDefaultButton(KDialog::Ok);
d->m_aboutUi = new Ui::KoDocumentInfoAboutWidget();
QWidget *infodlg = new QWidget();
d->m_aboutUi->setupUi(infodlg);
if (!KoEncryptionChecker::isEncryptionSupported()) {
d->m_aboutUi->lblEncryptedDesc->setVisible(false);
d->m_aboutUi->lblEncrypted->setVisible(false);
d->m_aboutUi->pbEncrypt->setVisible(false);
d->m_aboutUi->lblEncryptedPic->setVisible(false);
}
KPageWidgetItem *page = new KPageWidgetItem(infodlg, i18n("General"));
page->setHeader(i18n("General"));
// Ugly hack, the mimetype should be a parameter, instead
KoDocument* doc = dynamic_cast< KoDocument* >(d->m_info->parent());
if (doc) {
KMimeType::Ptr mime = KMimeType::mimeType(doc->mimeType());
if (! mime)
mime = KMimeType::defaultMimeTypePtr();
page->setIcon(KIcon(KIconLoader::global()->loadMimeTypeIcon(mime->iconName(), KIconLoader::Desktop, 48)));
}
addPage(page);
d->m_pages.append(page);
initAboutTab();
d->m_authorUi = new Ui::KoDocumentInfoAuthorWidget();
QWidget *authordlg = new QWidget();
d->m_authorUi->setupUi(authordlg);
page = new KPageWidgetItem(authordlg, i18n("Author"));
page->setHeader(i18n("Author"));
page->setIcon(KIcon("user-identity"));
addPage(page);
d->m_pages.append(page);
initAuthorTab();
// Saving encryption implies saving the document, this is done after closing the dialog
connect(this, SIGNAL(hidden()), this, SLOT(slotSaveEncryption()));
if (d->m_rdf) {
d->m_rdfEditWidget = 0;
#ifdef SHOULD_BUILD_RDF
d->m_rdfEditWidget = new KoDocumentRdfEditWidget(this, d->m_rdf);
page = new KPageWidgetItem(d->m_rdfEditWidget->widget(), i18n("Rdf"));
page->setHeader(i18n("Rdf"));
page->setIcon(KIcon("text-rdf"));
addPage(page);
d->m_pages.append(page);
#endif
}
}
示例14: KPageDialog
PropertiesDialog::PropertiesDialog(QWidget *parent, Okular::Document *doc)
: KPageDialog( parent ), m_document( doc ), m_fontPage( 0 ),
m_fontModel( 0 ), m_fontInfo( 0 ), m_fontProgressBar( 0 ),
m_fontScanStarted( false )
{
setFaceType( Tabbed );
setCaption( i18n( "Unknown File" ) );
setButtons( Ok );
// PROPERTIES
QFrame *page = new QFrame();
KPageWidgetItem *item = addPage( page, i18n( "&Properties" ) );
item->setIcon( KIcon( "document-properties" ) );
// get document info
const Okular::DocumentInfo info = doc->documentInfo();
QFormLayout *layout = new QFormLayout( page );
// mime name based on mimetype id
QString mimeName = info.get( Okular::DocumentInfo::MimeType ).section( '/', -1 ).toUpper();
setCaption( i18n( "%1 Properties", mimeName ) );
int valMaxWidth = 100;
/* obtains the properties list, conveniently ordered */
QStringList orderedProperties;
orderedProperties << Okular::DocumentInfo::getKeyString( Okular::DocumentInfo::FilePath )
<< Okular::DocumentInfo::getKeyString( Okular::DocumentInfo::PagesSize )
<< Okular::DocumentInfo::getKeyString( Okular::DocumentInfo::DocumentSize );
for (Okular::DocumentInfo::Key ks = Okular::DocumentInfo::Title;
ks <= Okular::DocumentInfo::Keywords;
ks = Okular::DocumentInfo::Key( ks+1 ) )
{
orderedProperties << Okular::DocumentInfo::getKeyString( ks );
}
foreach( const QString &ks, info.keys()) {
if ( !orderedProperties.contains( ks ) ) {
orderedProperties << ks;
}
}
for ( QStringList::Iterator it = orderedProperties.begin();
it != orderedProperties.end();
++it )
{
const QString key = *it;
const QString titleString = info.getKeyTitle( key );
const QString valueString = info.get( key );
if ( titleString.isNull() || valueString.isNull() )
continue;
// create labels and layout them
QWidget *value = NULL;
if ( key == Okular::DocumentInfo::getKeyString( Okular::DocumentInfo::MimeType ) ) {
/// for mime type fields, show icon as well
value = new QWidget( page );
/// place icon left of mime type's name
QHBoxLayout *hboxLayout = new QHBoxLayout( value );
hboxLayout->setMargin( 0 );
/// retrieve icon and place it in a QLabel
KMimeType::Ptr mimeType = KMimeType::mimeType( valueString );
KSqueezedTextLabel *squeezed;
if (!mimeType.isNull()) {
/// retrieve icon and place it in a QLabel
QLabel *pixmapLabel = new QLabel( value );
hboxLayout->addWidget( pixmapLabel, 0 );
pixmapLabel->setPixmap( KIconLoader::global()->loadMimeTypeIcon( mimeType->iconName(), KIconLoader::Small ) );
/// mime type's name and label
squeezed = new KSqueezedTextLabel( i18nc( "mimetype information, example: \"PDF Document (application/pdf)\"", "%1 (%2)", mimeType->comment(), valueString ), value );
} else {
/// only mime type name
squeezed = new KSqueezedTextLabel( valueString, value );
}
squeezed->setTextInteractionFlags( Qt::TextSelectableByMouse );
hboxLayout->addWidget( squeezed, 1 );
} else {
/// default for any other document information
KSqueezedTextLabel *label = new KSqueezedTextLabel( valueString, page );
label->setTextInteractionFlags( Qt::TextSelectableByMouse );
value = label;
}
layout->addRow( new QLabel( i18n( "%1:", titleString ) ), value);
// refine maximum width of 'value' labels
valMaxWidth = qMax( valMaxWidth, fontMetrics().width( valueString ) );
}
// FONTS
QVBoxLayout *page2Layout = 0;
if ( doc->canProvideFontInformation() ) {
// create fonts tab and layout it
QFrame *page2 = new QFrame();
m_fontPage = addPage(page2, i18n("&Fonts"));
m_fontPage->setIcon( KIcon( "preferences-desktop-font" ) );
page2Layout = new QVBoxLayout(page2);
page2Layout->setMargin(marginHint());
page2Layout->setSpacing(spacingHint());
// add a tree view
QTreeView *view = new QTreeView(page2);
view->setContextMenuPolicy(Qt::CustomContextMenu);
//.........这里部分代码省略.........