- // The item with the given URL is not loaded by the model yet. Iterate
- // backward to the base URL and trigger the loading of the items for
- // each hierarchy level.
- connect(m_dirLister, SIGNAL(completed()),
- this, SLOT(expandSelectionParent()));
-
- // Implementation note: It is important to remove the trailing slash from
- // the parent URL, as the directories from the dir lister (KDirLister::directories())
- // don't have a trailing slash and hence KUrl::List::contains() would fail...
- KUrl parentUrl = url.upUrl();
- parentUrl.adjustPath(KUrl::RemoveTrailingSlash);
- while (!parentUrl.isParentOf(baseUrl)) {
- if (m_dirLister->directories().contains(parentUrl)) {
- m_dirLister->updateDirectory(parentUrl);
- } else {
- m_dirLister->openUrl(parentUrl, true, false);
- }
- parentUrl = parentUrl.upUrl();
- parentUrl.adjustPath(KUrl::RemoveTrailingSlash);
- }