mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-24 02:42: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);
|
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
|
bool KFileItem::isReadable() const
|
||||||
{
|
{
|
||||||
if (!d) {
|
if (!d) {
|
||||||
|
|
|
@ -313,16 +313,6 @@ public:
|
||||||
*/
|
*/
|
||||||
QString iconName() const;
|
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
|
* Returns the overlays (bitfield of KIconLoader::*Overlay flags) that are used
|
||||||
* for this item's pixmap. Overlays are used to show for example, whether
|
* for this item's pixmap. Overlays are used to show for example, whether
|
||||||
|
|
|
@ -56,6 +56,8 @@
|
||||||
|
|
||||||
using namespace KIO;
|
using namespace KIO;
|
||||||
|
|
||||||
|
static const int s_previewsize = KIconLoader::SizeEnormous;
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
class RenameDialog::RenameDialogPrivate
|
class RenameDialog::RenameDialogPrivate
|
||||||
{
|
{
|
||||||
|
@ -264,8 +266,8 @@ RenameDialog::RenameDialog(QWidget *parent, const QString & _caption,
|
||||||
d->m_srcPreview = d->createPixmapWidget(parent);
|
d->m_srcPreview = d->createPixmapWidget(parent);
|
||||||
d->m_destPreview = d->createPixmapWidget(parent);
|
d->m_destPreview = d->createPixmapWidget(parent);
|
||||||
|
|
||||||
d->m_srcPreview->setMinimumHeight(KIconLoader::SizeEnormous);
|
d->m_srcPreview->setMinimumHeight(s_previewsize);
|
||||||
d->m_destPreview->setMinimumHeight(KIconLoader::SizeEnormous);
|
d->m_destPreview->setMinimumHeight(s_previewsize);
|
||||||
|
|
||||||
d->m_srcPreview->setAlignment(Qt::AlignCenter);
|
d->m_srcPreview->setAlignment(Qt::AlignCenter);
|
||||||
d->m_destPreview->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.
|
// The preview job failed, show a standard file icon.
|
||||||
d->m_srcPendingPreview = false;
|
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)
|
void RenameDialog::showDestIcon(const KFileItem& fileitem)
|
||||||
{
|
{
|
||||||
// The preview job failed, show a standard file icon.
|
// The preview job failed, show a standard file icon.
|
||||||
d->m_destPendingPreview = false;
|
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)
|
void RenameDialog::showSrcPreview(const KFileItem& fileitem, const QPixmap& pixmap)
|
||||||
|
|
Loading…
Add table
Reference in a new issue