本文整理汇总了C++中kio::UDSEntry::stringValue方法的典型用法代码示例。如果您正苦于以下问题:C++ UDSEntry::stringValue方法的具体用法?C++ UDSEntry::stringValue怎么用?C++ UDSEntry::stringValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kio::UDSEntry
的用法示例。
在下文中一共展示了UDSEntry::stringValue方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: cmp
inline //because it is used only in one place
bool KFileItemPrivate::cmp(const KFileItemPrivate &item) const
{
#if 0
//qDebug() << "Comparing" << m_url << "and" << item.m_url;
//qDebug() << " name" << (m_strName == item.m_strName);
//qDebug() << " local" << (m_bIsLocalUrl == item.m_bIsLocalUrl);
//qDebug() << " mode" << (m_fileMode == item.m_fileMode);
//qDebug() << " perm" << (m_permissions == item.m_permissions);
//qDebug() << " UDS_EXTENDED_ACL" << (m_entry.stringValue( KIO::UDSEntry::UDS_EXTENDED_ACL ) == item.m_entry.stringValue( KIO::UDSEntry::UDS_EXTENDED_ACL ));
//qDebug() << " UDS_ACL_STRING" << (m_entry.stringValue( KIO::UDSEntry::UDS_ACL_STRING ) == item.m_entry.stringValue( KIO::UDSEntry::UDS_ACL_STRING ));
//qDebug() << " UDS_DEFAULT_ACL_STRING" << (m_entry.stringValue( KIO::UDSEntry::UDS_DEFAULT_ACL_STRING ) == item.m_entry.stringValue( KIO::UDSEntry::UDS_DEFAULT_ACL_STRING ));
//qDebug() << " m_bLink" << (m_bLink == item.m_bLink);
//qDebug() << " m_hidden" << (m_hidden == item.m_hidden);
//qDebug() << " size" << (size() == item.size());
//qDebug() << " ModificationTime" << m_entry.numberValue(KIO::UDSEntry::UDS_MODIFICATION_TIME) << item.m_entry.numberValue(KIO::UDSEntry::UDS_MODIFICATION_TIME);
//qDebug() << " UDS_ICON_NAME" << (m_entry.stringValue( KIO::UDSEntry::UDS_ICON_NAME ) == item.m_entry.stringValue( KIO::UDSEntry::UDS_ICON_NAME ));
#endif
return (m_strName == item.m_strName
&& m_bIsLocalUrl == item.m_bIsLocalUrl
&& m_fileMode == item.m_fileMode
&& m_permissions == item.m_permissions
&& m_entry.stringValue(KIO::UDSEntry::UDS_EXTENDED_ACL) == item.m_entry.stringValue(KIO::UDSEntry::UDS_EXTENDED_ACL)
&& m_entry.stringValue(KIO::UDSEntry::UDS_ACL_STRING) == item.m_entry.stringValue(KIO::UDSEntry::UDS_ACL_STRING)
&& m_entry.stringValue(KIO::UDSEntry::UDS_DEFAULT_ACL_STRING) == item.m_entry.stringValue(KIO::UDSEntry::UDS_DEFAULT_ACL_STRING)
&& m_bLink == item.m_bLink
&& m_hidden == item.m_hidden
&& size() == item.size()
&& m_entry.numberValue(KIO::UDSEntry::UDS_MODIFICATION_TIME) == item.m_entry.numberValue(KIO::UDSEntry::UDS_MODIFICATION_TIME)
&& m_entry.stringValue(KIO::UDSEntry::UDS_ICON_NAME) == item.m_entry.stringValue(KIO::UDSEntry::UDS_ICON_NAME)
);
// Don't compare the mimetypes here. They might not be known, and we don't want to
// do the slow operation of determining them here.
}
示例2: group
QString KFileItemPrivate::group() const
{
QString groupName = m_entry.stringValue( KIO::UDSEntry::UDS_GROUP );
if (groupName.isEmpty() && m_bIsLocalUrl )
{
#ifdef Q_WS_WIN
QFileInfo a(m_url.toLocalFile( KUrl::RemoveTrailingSlash ));
groupName = a.group();
m_entry.insert( KIO::UDSEntry::UDS_GROUP, groupName );
#else
KDE_struct_stat buff;
if ( KDE::lstat( m_url.toLocalFile( KUrl::RemoveTrailingSlash ), &buff ) == 0) // get uid/gid of the link, if it's a link
{
struct group *ge = getgrgid( buff.st_gid );
if ( ge != 0 ) {
groupName = QString::fromLocal8Bit(ge->gr_name);
if (groupName.isEmpty())
groupName.sprintf("%d",ge->gr_gid);
}
else
groupName.sprintf("%d",buff.st_gid);
m_entry.insert( KIO::UDSEntry::UDS_GROUP, groupName );
}
#endif
}
return groupName;
}
示例3: localPath
QString KFileItemPrivate::localPath() const
{
if (m_bIsLocalUrl) {
return m_url.toLocalFile();
}
// Extract the local path from the KIO::UDSEntry
return m_entry.stringValue(KIO::UDSEntry::UDS_LOCAL_PATH);
}
示例4: slotStatResult
void AccessManagerReply::slotStatResult(KJob* kJob)
{
if (jobError(kJob)) {
emit error (error());
emitFinished(true);
return;
}
KIO::StatJob* statJob = qobject_cast<KIO::StatJob*>(kJob);
Q_ASSERT(statJob);
KIO::UDSEntry entry = statJob->statResult();
QString mimeType = entry.stringValue(KIO::UDSEntry::UDS_MIME_TYPE);
if (mimeType.isEmpty() && entry.isDir())
mimeType = QL1S("inode/directory");
if (!mimeType.isEmpty())
setHeader(QNetworkRequest::ContentTypeHeader, mimeType.toUtf8());
emitFinished(true);
}
示例5: user
QString KFileItemPrivate::user() const
{
QString userName = m_entry.stringValue(KIO::UDSEntry::UDS_USER);
if (userName.isEmpty() && m_bIsLocalUrl) {
#ifdef Q_WS_WIN
QFileInfo a(m_url.toLocalFile( KUrl::RemoveTrailingSlash ));
userName = a.owner();
m_entry.insert( KIO::UDSEntry::UDS_USER, userName );
#else
KDE_struct_stat buff;
if ( KDE::lstat( m_url.toLocalFile( KUrl::RemoveTrailingSlash ), &buff ) == 0) // get uid/gid of the link, if it's a link
{
struct passwd *pwuser = getpwuid( buff.st_uid );
if ( pwuser != 0 ) {
userName = QString::fromLocal8Bit(pwuser->pw_name);
m_entry.insert( KIO::UDSEntry::UDS_USER, userName );
}
}
#endif
}
return userName;
}
示例6: readUDSEntry
void KFileItemPrivate::readUDSEntry(bool _urlIsDirectory)
{
// extract fields from the KIO::UDS Entry
m_fileMode = m_entry.numberValue(KIO::UDSEntry::UDS_FILE_TYPE, KFileItem::Unknown);
m_permissions = m_entry.numberValue(KIO::UDSEntry::UDS_ACCESS, KFileItem::Unknown);
m_strName = m_entry.stringValue(KIO::UDSEntry::UDS_NAME);
const QString displayName = m_entry.stringValue(KIO::UDSEntry::UDS_DISPLAY_NAME);
if (!displayName.isEmpty()) {
m_strText = displayName;
} else {
m_strText = KIO::decodeFileName(m_strName);
}
const QString urlStr = m_entry.stringValue(KIO::UDSEntry::UDS_URL);
const bool UDS_URL_seen = !urlStr.isEmpty();
if (UDS_URL_seen) {
m_url = QUrl(urlStr);
if (m_url.isLocalFile()) {
m_bIsLocalUrl = true;
}
}
QMimeDatabase db;
const QString mimeTypeStr = m_entry.stringValue(KIO::UDSEntry::UDS_MIME_TYPE);
m_bMimeTypeKnown = !mimeTypeStr.isEmpty();
if (m_bMimeTypeKnown) {
m_mimeType = db.mimeTypeForName(mimeTypeStr);
}
m_guessedMimeType = m_entry.stringValue(KIO::UDSEntry::UDS_GUESSED_MIME_TYPE);
m_bLink = !m_entry.stringValue(KIO::UDSEntry::UDS_LINK_DEST).isEmpty(); // we don't store the link dest
const int hiddenVal = m_entry.numberValue(KIO::UDSEntry::UDS_HIDDEN, -1);
m_hidden = hiddenVal == 1 ? Hidden : (hiddenVal == 0 ? Shown : Auto);
if (_urlIsDirectory && !UDS_URL_seen && !m_strName.isEmpty() && m_strName != QLatin1String(".")) {
if (!m_url.path().endsWith('/')) {
m_url.setPath(m_url.path() + '/');
}
m_url.setPath(m_url.path() + m_strName);
}
m_iconName.clear();
}
示例7: mostLocalUrl
KUrl NetAccess::mostLocalUrl(const KUrl & url, QWidget* window)
{
if ( url.isLocalFile() )
{
return url;
}
KIO::UDSEntry entry;
if (!stat(url, entry, window))
{
return url;
}
const QString path = entry.stringValue( KIO::UDSEntry::UDS_LOCAL_PATH );
if ( !path.isEmpty() )
{
KUrl new_url;
new_url.setPath(path);
return new_url;
}
return url;
}
示例8: readUDSEntry
void KFileItemPrivate::readUDSEntry( bool _urlIsDirectory )
{
// extract fields from the KIO::UDS Entry
m_fileMode = m_entry.numberValue( KIO::UDSEntry::UDS_FILE_TYPE );
m_permissions = m_entry.numberValue( KIO::UDSEntry::UDS_ACCESS );
m_strName = m_entry.stringValue( KIO::UDSEntry::UDS_NAME );
const QString displayName = m_entry.stringValue( KIO::UDSEntry::UDS_DISPLAY_NAME );
if (!displayName.isEmpty())
m_strText = displayName;
else
m_strText = KIO::decodeFileName( m_strName );
const QString urlStr = m_entry.stringValue( KIO::UDSEntry::UDS_URL );
const bool UDS_URL_seen = !urlStr.isEmpty();
if ( UDS_URL_seen ) {
m_url = KUrl( urlStr );
if ( m_url.isLocalFile() )
m_bIsLocalUrl = true;
}
const QString mimeTypeStr = m_entry.stringValue( KIO::UDSEntry::UDS_MIME_TYPE );
m_bMimeTypeKnown = !mimeTypeStr.isEmpty();
if ( m_bMimeTypeKnown )
m_pMimeType = KMimeType::mimeType( mimeTypeStr );
m_guessedMimeType = m_entry.stringValue( KIO::UDSEntry::UDS_GUESSED_MIME_TYPE );
m_bLink = !m_entry.stringValue( KIO::UDSEntry::UDS_LINK_DEST ).isEmpty(); // we don't store the link dest
const int hiddenVal = m_entry.numberValue( KIO::UDSEntry::UDS_HIDDEN, -1 );
m_hidden = hiddenVal == 1 ? Hidden : ( hiddenVal == 0 ? Shown : Auto );
// avoid creating these QStrings again and again
static const QString& dot = KGlobal::staticQString(".");
if ( _urlIsDirectory && !UDS_URL_seen && !m_strName.isEmpty() && m_strName != dot )
m_url.addPath( m_strName );
m_iconName.clear();
}
示例9: getTrack
Meta::TrackPtr UpnpCache::getTrack( const KIO::UDSEntry &entry, bool refresh )
{
QMutexLocker lock( &m_cacheMutex );
// a little indirection to get the nicely formatted track uidUrl
Meta::UpnpTrackPtr track( new Meta::UpnpTrack( m_collection ) );
track->setUidUrl( entry.stringValue( KIO::UPNP_ID ) );
// if we have a reference ID search for that
// in either case the original ID (refID) becomes our UID URL instead of the UPNP_ID
if( entry.contains( KIO::UPNP_REF_ID ) ) {
track->setUidUrl( entry.stringValue( KIO::UPNP_REF_ID ) );
}
QString uidUrl = track->uidUrl();
if( m_trackMap.contains( uidUrl ) && !refresh ) {
return m_trackMap[uidUrl];
}
// UDS_NAME is the plain ASCII, relative path prefixed name
// but UDS_DISPLAY_NAME is the unicode, 'file' name.
track->setTitle( entry.stringValue( KIO::UDSEntry::UDS_DISPLAY_NAME ) );
track->setPlayableUrl( entry.stringValue(KIO::UDSEntry::UDS_TARGET_URL) );
track->setTrackNumber( entry.stringValue(KIO::UPNP_TRACK_NUMBER).toInt() );
// TODO validate and then convert to kbps
track->setBitrate( entry.stringValue( KIO::UPNP_BITRATE ).toInt() / 1024 );
track->setLength( duration( entry.stringValue( KIO::UPNP_DURATION ) ) );
Meta::UpnpArtistPtr artist = Meta::UpnpArtistPtr::staticCast( getArtist( entry.stringValue( KIO::UPNP_ARTIST ) ) );
artist->addTrack( track );
track->setArtist( artist );
Meta::UpnpAlbumPtr album = Meta::UpnpAlbumPtr::staticCast( getAlbum( entry.stringValue( KIO::UPNP_ALBUM ), artist->name() ) );
album->setAlbumArtist( artist );
album->addTrack( track );
track->setAlbum( album );
// album art
if( ! album->imageLocation().isValid() )
album->setAlbumArtUrl( entry.stringValue( KIO::UPNP_ALBUMART_URI ) );
Meta::UpnpGenrePtr genre = Meta::UpnpGenrePtr::staticCast( getGenre( entry.stringValue( KIO::UPNP_GENRE ) ) );
genre->addTrack( track );
track->setGenre( genre );
// TODO this is plain WRONG! the UPNP_DATE will not have year of the album
// it will have year of addition to the collection
//QString yearStr = yearForDate( entry.stringValue( KIO::UPNP_DATE ) );
//
//Meta::UpnpYearPtr year = Meta::UpnpYearPtr::staticCast( getYear( yearStr ) );
//year->addTrack( track );
//track->setYear( year );
m_trackMap.insert( uidUrl, Meta::TrackPtr::staticCast( track ) );
return Meta::TrackPtr::staticCast( track );
}
示例10: validateOpenUrl
void OpenProjectDialog::validateOpenUrl( const QUrl& url_ )
{
bool isDir = false;
QString extension;
bool isValid = false;
const QUrl url = url_.adjusted(QUrl::StripTrailingSlash);
if( url.isLocalFile() )
{
QFileInfo info( url.toLocalFile() );
isValid = info.exists();
if ( isValid ) {
isDir = info.isDir();
extension = info.suffix();
}
} else if ( url.isValid() )
{
KIO::StatJob* statJob = KIO::stat( url, KIO::HideProgressInfo );
KJobWidgets::setWindow(statJob, Core::self()->uiControllerInternal()->defaultMainWindow() );
isValid = statJob->exec(); // TODO: do this asynchronously so that the user isn't blocked while typing every letter of the hostname in sftp://hostname
if ( isValid ) {
KIO::UDSEntry entry = statJob->statResult();
isDir = entry.isDir();
extension = QFileInfo( entry.stringValue( KIO::UDSEntry::UDS_NAME ) ).suffix();
}
}
if ( isValid ) {
// reset header
openPage->setHeader(i18n("Open \"%1\" as project", url.fileName()));
} else {
// report error
KColorScheme scheme(palette().currentColorGroup());
const QString errorMsg = i18n("Selected URL is invalid");
openPage->setHeader(QStringLiteral("<font color='%1'>%2</font>")
.arg(scheme.foreground(KColorScheme::NegativeText).color().name(), errorMsg)
);
setAppropriate( projectInfoPage, false );
setAppropriate( openPage, true );
setValid( openPage, false );
return;
}
if( isDir || extension != ShellExtension::getInstance()->projectFileExtension() )
{
setAppropriate( projectInfoPage, true );
m_url = url;
if( !isDir ) {
m_url = m_url.adjusted(QUrl::StripTrailingSlash | QUrl::RemoveFilename);
}
ProjectInfoPage* page = qobject_cast<ProjectInfoPage*>( projectInfoPage->widget() );
if( page )
{
page->setProjectName( m_url.fileName() );
OpenProjectPage* page2 = qobject_cast<OpenProjectPage*>( openPage->widget() );
if( page2 )
{
// Default manager
page->setProjectManager( QStringLiteral("Generic Project Manager") );
// clear the filelist
m_fileList.clear();
if( isDir ) {
// If a dir was selected fetch all files in it
KIO::ListJob* job = KIO::listDir( m_url );
connect( job, &KIO::ListJob::entries,
this, &OpenProjectDialog::storeFileList);
KJobWidgets::setWindow(job, Core::self()->uiController()->activeMainWindow());
job->exec();
} else {
// Else we'lll just take the given file
m_fileList << url.fileName();
}
// Now find a manager for the file(s) in our filelist.
bool managerFound = false;
foreach( const QString& manager, page2->projectFilters().keys() )
{
foreach( const QString& filterexp, page2->projectFilters().value(manager) )
{
if( !m_fileList.filter( QRegExp( filterexp, Qt::CaseSensitive, QRegExp::Wildcard ) ).isEmpty() )
{
managerFound = true;
break;
}
}
if( managerFound )
{
page->setProjectManager( manager );
break;
}
}
}
}
m_url.setPath( m_url.path() + '/' + m_url.fileName() + '.' + ShellExtension::getInstance()->projectFileExtension() );
} else