#include <KConfig>
#include <KConfigGroup>
-#include <KDebug>
+#include <KSharedConfig>
#include <KFileItem>
-#include <KGlobal>
#include <KIconLoader>
#include <KJobWidgets>
#include <KIO/JobUiDelegate>
#ifdef HAVE_BALOO
#include "private/kbaloorolesprovider.h"
#include <Baloo/File>
- #include <Baloo/FileFetchJob>
#include <Baloo/FileMonitor>
#endif
const QString mimeTypeGroup = mimeType.left(slashIndex);
if (mimeTypeGroup == QLatin1String("image")) {
if (m_enlargeSmallPreviews) {
- KPixmapModifier::applyFrame(scaledPixmap, m_iconSize);
+ KPixmapModifier::applyFrame(scaledPixmap, m_iconSize * qApp->devicePixelRatio());
} else {
// Assure that small previews don't get enlarged. Instead they
// should be shown centered within the frame.
scaledPixmap.height() < contentSize.height();
if (enlargingRequired) {
QSize frameSize = scaledPixmap.size();
- frameSize.scale(m_iconSize, Qt::KeepAspectRatio);
+ frameSize.scale(m_iconSize * qApp->devicePixelRatio(), Qt::KeepAspectRatio);
QPixmap largeFrame(frameSize);
largeFrame.fill(Qt::transparent);
KPixmapModifier::applyFrame(largeFrame, frameSize);
QPainter painter(&largeFrame);
- painter.drawPixmap((largeFrame.width() - scaledPixmap.width()) / 2,
- (largeFrame.height() - scaledPixmap.height()) / 2,
+ painter.drawPixmap((largeFrame.width() - scaledPixmap.width() / scaledPixmap.devicePixelRatio()) / 2,
+ (largeFrame.height() - scaledPixmap.height() / scaledPixmap.devicePixelRatio()) / 2,
scaledPixmap);
scaledPixmap = largeFrame;
} else {
// The image must be shrinked as it is too large to fit into
// the available icon size
- KPixmapModifier::applyFrame(scaledPixmap, m_iconSize);
+ KPixmapModifier::applyFrame(scaledPixmap, m_iconSize * qApp->devicePixelRatio());
}
}
} else {
- KPixmapModifier::scale(scaledPixmap, m_iconSize);
+ KPixmapModifier::scale(scaledPixmap, m_iconSize * qApp->devicePixelRatio());
}
+ scaledPixmap.setDevicePixelRatio(qApp->devicePixelRatio());
QHash<QByteArray, QVariant> data = rolesData(item);
return;
}
- Baloo::FileFetchJob* job = new Baloo::FileFetchJob(item.localPath());
- connect(job, &Baloo::FileFetchJob::finished, this, &KFileItemModelRolesUpdater::applyChangedBalooRolesJobFinished);
- job->setProperty("item", QVariant::fromValue(item));
- job->start();
-#else
-#ifndef Q_CC_MSVC
- Q_UNUSED(itemUrl);
-#endif
-#endif
-}
-
-void KFileItemModelRolesUpdater::applyChangedBalooRolesJobFinished(KJob* kjob)
-{
-#ifdef HAVE_BALOO
- const KFileItem item = kjob->property("item").value<KFileItem>();
+ Baloo::File file(item.localPath());
+ file.load();
const KBalooRolesProvider& rolesProvider = KBalooRolesProvider::instance();
QHash<QByteArray, QVariant> data;
data.insert(role, QVariant());
}
- Baloo::FileFetchJob* job = static_cast<Baloo::FileFetchJob*>(kjob);
- QHashIterator<QByteArray, QVariant> it(rolesProvider.roleValues(job->file(), m_roles));
+ QHashIterator<QByteArray, QVariant> it(rolesProvider.roleValues(file, m_roles));
while (it.hasNext()) {
it.next();
data.insert(it.key(), it.value());
m_model->setData(index, data);
connect(m_model, &KFileItemModel::itemsChanged,
this, &KFileItemModelRolesUpdater::slotItemsChanged);
+#else
+#ifndef Q_CC_MSVC
+ Q_UNUSED(itemUrl);
+#endif
#endif
}
const bool getIsExpandableRole = m_roles.contains("isExpandable");
if (getSizeRole || getIsExpandableRole) {
- const int index = m_model->index(KUrl(path));
+ const int index = m_model->index(QUrl::fromLocalFile(path));
if (index >= 0) {
QHash<QByteArray, QVariant> data;