> On Nov. 21, 2016, 10:34 a.m., David Faure wrote: > > filenamesearch/kded/filenamesearchmodule.cpp, line 84 > > <https://git.reviewboard.kde.org/r/129394/diff/1/?file=485431#file485431line84> > > > > Well, if dirUrl looks like > > "filenamesearch:?search=file&url=file:///path/to/file" then dirUrl.path() > > is empty, and this code is incorrect (it should use the query item "url", > > not the path). What am I missing? > > Anthony Fieroni wrote: > This is a big misunderstanding mainly by me. Emitted url should contains > query with new path ? > for (const QString &file : files) { > const QUrl url(file); > if (!url.isLocalFile()) { > continue; > } > const QString urlPath = url.path(); > for (const QUrl &dirUrl : m_searchUrls) { > QUrlQuery urlQuery(dirUrl); > QString str = urlQuery.queryItemValue(QStringLiteral("url")); > if (urlPath.startsWith(QUrl(str).path())) { > QUrl temp; > temp.setScheme(QStringLiteral("filenamesearch")); > urlQuery.removeQueryItem(QStringLiteral("url"); > urlQuery.addQueryItem(QStringLiteral('url"), url); > temp.setQuery(urlQuery); > fileList << temp; > } > } > } > > David Faure wrote: > Maybe, but I'm still in the dark about something. How can KDirLister cope > with listing such URLs? It wants a directory URL and files inside that > directory. Such a filenamesearch URL doesn't look like it's a file inside a > directory, in terms of paths. Ideally I would look into the code to > understand what is being done but I'm short on time. > > Does kio_filenamesearch really return items from listDir(), which have an > empty path too, just like the listed directory? I would assume this breaks > many things in KDirLister. > > Please clarify with the dolphin people (or whoever wrote the > filenamesearch KIO) about the URL structure, then it will be straightforward > to do the URL conversions in this code. > > Anthony Fieroni wrote: > I'm invited Emmanuel, who knows? > https://github.com/KDE/dolphin/blob/1710304e9ba926d2aec4226d00974b826f9bcbc0/src/kitemviews/kfileitemmodel.cpp#L123 > url("filenamesearch:?search=file&url=file:///path/to/file") in slot > https://github.com/KDE/dolphin/blob/1710304e9ba926d2aec4226d00974b826f9bcbc0/src/kitemviews/kfileitemmodel.cpp#L77 > comes results > > Emmanuel Pescosta wrote: > Peter wrote the filenamesearch slave. > > Filenamesearch URLs are only used to initiate a search. The URL contains > the search start-folder, the pattern used for matching and an optional 'check > contents' query item which can be yes or no. The filenamesearch ioslave uses > all this query items to perform the search. It recursively opens each folder > via KCoreDirLister (starting with the start-folder of the filenamesearch URL) > and iterates trough the item list of the directory, every matching item is > then listed via `listEntry` by using the UDSEntry of the matching item (see > 1). So kio_filenamesearch can only return items with an empty path if the > underlying ioslave (local, smb, ftp, ...) returns items with an empty path. > > [1] > https://github.com/KDE/kio-extras/blob/master/filenamesearch/kio_filenamesearch.cpp#L103
I and David, i guess, it's not clear how KDirlister handles url with queries, i'm searching for this code, but i don't found it. - Anthony ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/129394/#review101007 ----------------------------------------------------------- On Nov. 14, 2016, 1:44 p.m., Anthony Fieroni wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/129394/ > ----------------------------------------------------------- > > Review request for KDE Frameworks, Anthony Fieroni, David Faure, and Emmanuel > Pescosta. > > > Repository: kio-extras > > > Description > ------- > > Bug is introduced in https://git.reviewboard.kde.org/r/129297/ > When is fixed new kio-extras realease is needed for 16.08 branch. > > > Diffs > ----- > > filenamesearch/kded/filenamesearchmodule.cpp 3f9f582 > > Diff: https://git.reviewboard.kde.org/r/129394/diff/ > > > Testing > ------- > > No big ram usage but still not works as expected. > 1. Perform search in Dolphin > 2. Delete one result item > 3. View must be update, but it's not > > > Thanks, > > Anthony Fieroni > >