#include <KStandardDirs>
#include <KUrl>
+#include <QCryptographicHash>
#include <QDate>
#include <QFile>
#include <QFileInfo>
if (useGlobalViewProps) {
m_filePath = destinationDir("global");
} else if (url.protocol().contains("search")) {
- m_filePath = destinationDir("search");
+ m_filePath = destinationDir("search/") + directoryHashForUrl(url);
useDetailsViewWithPath = true;
} else if (url.protocol() == QLatin1String("trash")) {
m_filePath = destinationDir("trash");
return filePath.startsWith(homePath);
}
+
+QString ViewProperties::directoryHashForUrl(const KUrl& url)
+{
+ const QByteArray hashValue = QCryptographicHash::hash(url.prettyUrl().toLatin1(),
+ QCryptographicHash::Sha1);
+ QString hashString = hashValue.toBase64();
+ hashString.replace('/', '-');
+ return hashString;
+}
*/
static bool isPartOfHome(const QString& filePath);
+ /**
+ * @return A hash-value for an URL that can be used as directory name.
+ * Is used to be able to remember view-properties for long nepomuksearch-URLs.
+ */
+ static QString directoryHashForUrl(const KUrl& url);
+
Q_DISABLE_COPY(ViewProperties)
private: