mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-23 10:22:48 +00:00
kio: remove redundant KFileItem::pixmap() method
convenience method, was not applying all possible overlays nor was it producing a pixmap that would match the icon returned by KFileItem::iconName() Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
5f8a5ca497
commit
02557d5dc4
3 changed files with 16 additions and 64 deletions
|
@ -647,56 +647,6 @@ QString KFileItem::comment() const
|
|||
return d->m_entry.stringValue(KIO::UDSEntry::UDS_COMMENT);
|
||||
}
|
||||
|
||||
// TODO: where is this used?
|
||||
QPixmap KFileItem::pixmap(int _size, int _state) const
|
||||
{
|
||||
if (!d) {
|
||||
return QPixmap();
|
||||
}
|
||||
|
||||
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)) {
|
||||
const KMimeType::Ptr mimeType = KMimeType::mimeType("inode/directory");
|
||||
if (mimeType) {
|
||||
return DesktopIcon(mimeType->iconName(), _size, _state);
|
||||
} else {
|
||||
kWarning() << "No mimetype for inode/directory could be found. Check your installation.";
|
||||
}
|
||||
}
|
||||
return DesktopIcon("unknown", _size, _state);
|
||||
}
|
||||
|
||||
KMimeType::Ptr mime;
|
||||
// Use guessed mimetype for the icon
|
||||
if (!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);
|
||||
}
|
||||
|
||||
QPixmap p = KIconLoader::global()->loadMimeTypeIcon(mime->iconName(d->m_url), KIconLoader::Desktop, _size, _state);
|
||||
// kDebug() << "finding pixmap for " << d->m_url.url() << " : " << mime->name();
|
||||
if (p.isNull()) {
|
||||
kWarning() << "Pixmap not found for mimetype " << d->m_pMimeType->name();
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
||||
bool KFileItem::isReadable() const
|
||||
{
|
||||
if (!d) {
|
||||
|
|
|
@ -313,16 +313,6 @@ public:
|
|||
*/
|
||||
QString iconName() const;
|
||||
|
||||
/**
|
||||
* Returns a pixmap representing the file.
|
||||
* @param _size Size for the pixmap in pixels. Zero will return the
|
||||
* globally configured default size.
|
||||
* @param _state The state of the icon: KIconLoader::DefaultState,
|
||||
* KIconLoader::ActiveState or KIconLoader::DisabledState.
|
||||
* @return the pixmap
|
||||
*/
|
||||
QPixmap pixmap(int _size, int _state = 0) const;
|
||||
|
||||
/**
|
||||
* Returns the overlays (bitfield of KIconLoader::*Overlay flags) that are used
|
||||
* for this item's pixmap. Overlays are used to show for example, whether
|
||||
|
|
|
@ -56,6 +56,8 @@
|
|||
|
||||
using namespace KIO;
|
||||
|
||||
static const int s_previewsize = KIconLoader::SizeEnormous;
|
||||
|
||||
/** @internal */
|
||||
class RenameDialog::RenameDialogPrivate
|
||||
{
|
||||
|
@ -264,8 +266,8 @@ RenameDialog::RenameDialog(QWidget *parent, const QString & _caption,
|
|||
d->m_srcPreview = d->createPixmapWidget(parent);
|
||||
d->m_destPreview = d->createPixmapWidget(parent);
|
||||
|
||||
d->m_srcPreview->setMinimumHeight(KIconLoader::SizeEnormous);
|
||||
d->m_destPreview->setMinimumHeight(KIconLoader::SizeEnormous);
|
||||
d->m_srcPreview->setMinimumHeight(s_previewsize);
|
||||
d->m_destPreview->setMinimumHeight(s_previewsize);
|
||||
|
||||
d->m_srcPreview->setAlignment(Qt::AlignCenter);
|
||||
d->m_destPreview->setAlignment(Qt::AlignCenter);
|
||||
|
@ -618,14 +620,24 @@ void RenameDialog::showSrcIcon(const KFileItem& fileitem)
|
|||
{
|
||||
// The preview job failed, show a standard file icon.
|
||||
d->m_srcPendingPreview = false;
|
||||
d->m_srcPreview->setPixmap(fileitem.pixmap(d->m_srcPreview->height()));
|
||||
d->m_srcPreview->setPixmap(
|
||||
KIconLoader::global()->loadIcon(
|
||||
fileitem.iconName(), KIconLoader::Desktop, s_previewsize, KIconLoader::DefaultState,
|
||||
fileitem.overlays()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
void RenameDialog::showDestIcon(const KFileItem& fileitem)
|
||||
{
|
||||
// The preview job failed, show a standard file icon.
|
||||
d->m_destPendingPreview = false;
|
||||
d->m_destPreview->setPixmap(fileitem.pixmap(d->m_srcPreview->height()));
|
||||
d->m_destPreview->setPixmap(
|
||||
KIconLoader::global()->loadIcon(
|
||||
fileitem.iconName(), KIconLoader::Desktop, s_previewsize, KIconLoader::DefaultState,
|
||||
fileitem.overlays()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
void RenameDialog::showSrcPreview(const KFileItem& fileitem, const QPixmap& pixmap)
|
||||
|
|
Loading…
Add table
Reference in a new issue