const QModelIndex proxyIndex = m_proxyModel->mapFromSource(dirIndex);
m_treeView->edit(proxyIndex);
} else {
- KFileItemList items;
- items.append(item);
- QPointer<RenameDialog> dialog = new RenameDialog(this, items);
- if (dialog->exec() == QDialog::Accepted) {
- const QString newName = dialog->newName();
- if (!newName.isEmpty()) {
- KUrl newUrl = item.url();
- newUrl.setFileName(newName);
- KonqOperations::rename(this, item.url(), newUrl);
- }
- }
- delete dialog;
+ RenameDialog* dialog = new RenameDialog(this, KFileItemList() << item);
+ dialog->setAttribute(Qt::WA_DeleteOnClose);
+ dialog->show();
+ dialog->raise();
+ dialog->activateWindow();
}
}
-void FoldersPanel::setUrl(const KUrl& url)
+bool FoldersPanel::urlChanged()
{
- if (!url.isValid() || (url == Panel::url())) {
- return;
+ if (!url().isValid() || url().protocol().contains("search")) {
+ // Skip results shown by a search, as possible identical
+ // directory names are useless without parent-path information.
+ return false;
}
- Panel::setUrl(url);
if (m_dirLister != 0) {
m_setLeafVisible = true;
- loadTree(url);
+ loadTree(url());
}
+
+ return true;
}
void FoldersPanel::showEvent(QShowEvent* event)