diff --git a/krusader/Panel/listpanel.h b/krusader/Panel/listpanel.h --- a/krusader/Panel/listpanel.h +++ b/krusader/Panel/listpanel.h @@ -102,7 +102,8 @@ virtual void otherPanelChanged() Q_DECL_OVERRIDE; void start(const QUrl &url = QUrl()); - + void openUrl(const QUrl &url); + void reparent(QWidget *parent, AbstractPanelManager *manager); int getType() { diff --git a/krusader/Panel/listpanel.cpp b/krusader/Panel/listpanel.cpp --- a/krusader/Panel/listpanel.cpp +++ b/krusader/Panel/listpanel.cpp @@ -793,6 +793,16 @@ slotUpdateTotals(); } +void ListPanel::openUrl(const QUrl &url) +{ + if (!url.isValid()) + return; + + _lastLocalPath = url; + func->openUrl(url); +} + + void ListPanel::updateFilesystemStats(const QString &metaInfo, const QString &fsType, KIO::filesize_t total, KIO::filesize_t free) { diff --git a/krusader/panelmanager.cpp b/krusader/panelmanager.cpp --- a/krusader/panelmanager.cpp +++ b/krusader/panelmanager.cpp @@ -267,6 +267,7 @@ cfg.writeEntry("Properties", 0); p->restoreSettings(cfg); krConfig->deleteGroup(grpName); + p->openUrl(url); } else p->start(url);