#include "kfileitemmodelrolesupdater.h"
#include "kfileitemmodel.h"
-#include "kpixmapmodifier_p.h"
#include <KConfig>
#include <KConfigGroup>
#include <KDebug>
#include <KFileItem>
#include <KGlobal>
+#include <KIO/JobUiDelegate>
#include <KIO/PreviewJob>
+
+#include "private/kpixmapmodifier.h"
+
+#include <QApplication>
#include <QPainter>
#include <QPixmap>
#include <QElapsedTimer>
#include <QTimer>
#ifdef HAVE_NEPOMUK
- #include "knepomukrolesprovider_p.h"
- #include "knepomukresourcewatcher_p.h"
+ #include "private/knepomukrolesprovider.h"
+ #include "private/nepomuk/resourcewatcher.h"
#endif
// Required includes for subItemsCount():
m_previewShown(false),
m_enlargeSmallPreviews(true),
m_clearPreviews(false),
- m_sortProgress(-1),
+ m_sortingProgress(-1),
m_model(model),
m_iconSize(),
m_firstVisibleIndex(0),
// Don't let the ResourceWatcher watch for removed items
if (m_model->count() == 0) {
m_nepomukResourceWatcher->setResources(QList<Nepomuk::Resource>());
+ m_nepomukResourceWatcher->stop();
m_nepomukUriItems.clear();
} else {
QList<Nepomuk::Resource> newResources;
}
}
m_nepomukResourceWatcher->setResources(newResources);
+ if (newResources.isEmpty()) {
+ Q_ASSERT(m_nepomukUriItems.isEmpty());
+ m_nepomukResourceWatcher->stop();
+ }
}
}
#endif
}
KIO::PreviewJob* job = new KIO::PreviewJob(itemSubSet, cacheSize, &m_enabledPlugins);
job->setIgnoreMaximumSize(items.first().isLocalFile());
+ if (job->ui()) {
+ job->ui()->setWindow(qApp->activeWindow());
+ }
connect(job, SIGNAL(gotPreview(KFileItem,QPixmap)),
this, SLOT(slotGotPreview(KFileItem,QPixmap)));
void KFileItemModelRolesUpdater::applySortProgressToModel()
{
- if (m_sortProgress < 0) {
+ if (m_sortingProgress < 0) {
return;
}
if (resolvedCount > 0) {
m_model->emitSortProgress(resolvedCount);
if (resolvedCount == m_model->count()) {
- m_sortProgress = -1;
+ m_sortingProgress = -1;
}
}
}
? hasUnknownMimeTypes()
: m_resolvableRoles.contains(sortRole);
- if (m_sortProgress >= 0) {
+ if (m_sortingProgress >= 0) {
// Mark the current sorting as finished
m_model->emitSortProgress(m_model->count());
}
- m_sortProgress = showProgress ? 0 : -1;
+ m_sortingProgress = showProgress ? 0 : -1;
}
bool KFileItemModelRolesUpdater::hasUnknownMimeTypes() const
#ifdef HAVE_NEPOMUK
if (m_nepomukResourceWatcher) {
const KNepomukRolesProvider& rolesProvider = KNepomukRolesProvider::instance();
- Nepomuk::Resource resource(item.url());
+ Nepomuk::Resource resource(item.nepomukUri());
QHashIterator<QByteArray, QVariant> it(rolesProvider.roleValues(resource, m_roles));
while (it.hasNext()) {
it.next();
uri = resource.resourceUri();
}
if (!uri.isEmpty() && !m_nepomukUriItems.contains(uri)) {
- // TODO: Calling stop()/start() is a workaround until
- // ResourceWatcher has been fixed.
- m_nepomukResourceWatcher->stop();
m_nepomukResourceWatcher->addResource(resource);
- m_nepomukResourceWatcher->start();
+
+ if (m_nepomukUriItems.isEmpty()) {
+ m_nepomukResourceWatcher->start();
+ }
m_nepomukUriItems.insert(uri, item.url());
}
int KFileItemModelRolesUpdater::subItemsCount(const QString& path) const
{
const bool countHiddenFiles = m_model->showHiddenFiles();
- const bool showFoldersOnly = m_model->showFoldersOnly();
+ const bool showFoldersOnly = m_model->showDirectoriesOnly();
#ifdef Q_WS_WIN
QDir dir(path);