User Details
- User Since
- Mar 15 2020, 9:34 AM (266 w, 3 d)
- Availability
- Available
Feb 24 2021
Here's the new merge request: https://invent.kde.org/network/kio-extras/-/merge_requests/75
Feb 23 2021
Oct 18 2020
I think I have the Solid part done, but as I don't know this code well, I'd be grateful if someone more advanced on the subject checked it.
Oct 8 2020
Oct 7 2020
!PING.
Sep 26 2020
How do we check if file access is encrypted using Solid? Do we need new property/method in StorageAccess?
Sep 14 2020
!PING.
I need help from someone with good understanding of Solid to continue.
Sep 5 2020
Sep 4 2020
Ping!
I'm remanding about question early, because I could do much more work if I get to do it on weekend.
Sep 2 2020
Aug 27 2020
Renaming "deviceIdUnset" to "s_deviceIdUnset"
Aug 25 2020
Moving allowCache check, so it's done only if thumbnail was created.
Setting canonical path as value of hadFirstThumbnail
Removing unnecessary includes
Aug 24 2020
Using special value instead of 0 as unset m_thumbnailDirDeviceId.
Changing ifdef checks for Q_OS_WIN for consistency.
Moving ifdev check into sharesFilesystemWithThumbRoot, to reduce number of preprocessor directives.
Aug 23 2020
Aug 22 2020
Skipping usage of POSIX functions and types on Windows
Aug 20 2020
Adding path to error logs
Aug 16 2020
Using solid for getting Device
Jul 4 2020
I made merge request for storageAccessFromPath: https://invent.kde.org/frameworks/solid/-/merge_requests/8
Jul 1 2020
Jun 30 2020
How often do I have to repeat the thumbnailer has to use the canonical path anyway? Please use that.
Jun 29 2020
Ok, so far I have implemented Solid::Device::storageAccessFromPath by talking all StorageAccess devices, going though all of them and and returning proper one.
code:
Solid::Device Solid::Device::storageAccessFromPath(const QString &path) { // TODO check if symlinks are in the path QFileInfo fileInfo = QFileInfo(path); if (!fileInfo.exists()) { //TODO error handling } QSet<QString> checked; //To avoid weird infinete loops checked.insert(fileInfo.path()); while (fileInfo.isSymLink()) { fileInfo = QFileInfo(fileInfo.symLinkTarget()); if (checked.contains(fileInfo.path())) { //TODO error handling } checked.insert(fileInfo.path()); } QDir dir = fileInfo.dir(); QString canonPath = dir.canonicalPath(); QList<Device> list = Solid::Device::listFromType(DeviceInterface::Type::StorageAccess); Device match; int match_length = 0; for (Device device: list) { StorageAccess *storageAccess = device.as<StorageAccess>(); if (canonPath.startsWith(storageAccess->filePath()) && storageAccess->filePath().size() > match_length) { match_length = storageAccess->filePath().size(); match = device; } } return match; }
Jun 11 2020
Ok, so, what I want to do now is to create static method findByPath which is going to return Solid::StorageVolume instance (is there a case in which we can expect something different than StorageVolume?).
Jun 6 2020
Ping! I'm not able to continue without help of someone who knows Solid::Device well.
May 31 2020
I tried to research Solid using api.kde.org (https://api.kde.org/frameworks/solid/html/classSolid_1_1Device.html, https://api.kde.org/frameworks/solid/html/classSolid_1_1StorageVolume.html) and looking for usages of both Solid::Device and Solid::StorageVolume in code but I'm not able to get StorageVolume instance for given file/directory. Could someone help me with that?
May 9 2020
May 2 2020
PING!
Is current code fine or should we get rid of KMountPoint completely somehow?
Apr 26 2020
Moving check for sharing filesystem with thumbroot into new method.
Apr 25 2020
Unless there's way to get rid of KMountPoint completely, this should reduce number of calls to minimum.
Limiting usage of KMountPoint and lstat to max once per directory.
Apr 19 2020
Review fixes
Apr 18 2020
I improved check if file is on the same filesystem as thumbnails cache, but don't know if we can get rid of KMountPoint completely.
Checking if file is on the same filesystem as thumbnails cache directory using lstsat
Apr 16 2020
Ok, Thanks! I'll check it this weekend.
Apr 15 2020
Apr 13 2020
Removing extra whitespaces
Removing extra whitespaces
Moving boolean variables to the front of logic statement.
Review fixes
Review fixes