#include <kio/netaccess.h>
#include <kinputdialog.h>
#include <klocale.h>
+#include <kprotocolmanager.h>
#include <kmenu.h>
#include <kmenubar.h>
#include <kmessagebox.h>
// the secondary view
DolphinViewContainer* activeViewContainer = m_activeViewContainer;
- m_viewTab[m_tabIndex].primaryView->view()->refresh();
- if (m_viewTab[m_tabIndex].secondaryView != 0) {
- m_viewTab[m_tabIndex].secondaryView->view()->refresh();
+ const int tabCount = m_viewTab.count();
+ for (int i = 0; i < tabCount; ++i) {
+ m_viewTab[i].primaryView->refresh();
+ if (m_viewTab[i].secondaryView != 0) {
+ m_viewTab[i].secondaryView->refresh();
+ }
}
setActiveViewContainer(activeViewContainer);
void DolphinMainWindow::changeUrl(const KUrl& url)
{
+ if (!KProtocolManager::supportsListing(url)) {
+ // The URL navigator only checks for validity, not
+ // if the URL can be listed. An error message is
+ // shown due to DolphinViewContainer::restoreView().
+ return;
+ }
+
DolphinViewContainer* view = activeViewContainer();
if (view != 0) {
view->setUrl(url);
setCentralWidget(centralWidget);
setupDockWidgets();
+ emit urlChanged(homeUrl);
setupGUI(Keys | Save | Create | ToolBar);
}
m_showMenuBar->setChecked(!menuBar()->isHidden()); // workaround for bug #171080
- emit urlChanged(homeUrl);
}
void DolphinMainWindow::setActiveViewContainer(DolphinViewContainer* viewContainer)