X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/e54e6a9cdbc0e37e7c81abcea4e69838cddabaa3..817f3952e2bed820ea3b50dfdfe91ccb99dcb748:/src/dolphinviewcontainer.cpp diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index 7179c5080..4ff9ab0e4 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -35,8 +35,11 @@ #include #include #include +#include #include +#include #include +#include #include #include @@ -84,6 +87,7 @@ DolphinViewContainer::DolphinViewContainer(DolphinMainWindow* mainWindow, const GeneralSettings* settings = DolphinSettings::instance().generalSettings(); m_urlNavigator->setUrlEditable(settings->editableUrl()); + m_urlNavigator->setShowFullPath(settings->showFullPath()); m_urlNavigator->setHomeUrl(settings->homeUrl()); m_dirLister = new DolphinDirLister(); @@ -170,6 +174,11 @@ DolphinViewContainer::~DolphinViewContainer() void DolphinViewContainer::setUrl(const KUrl& newUrl) { m_urlNavigator->setUrl(newUrl); + + // Temporary disable the 'File'->'Create New...' menu until + // the write permissions can be checked in a fast way at + // DolphinViewContainer::slotDirListerCompleted(). + m_mainWindow->newMenu()->menu()->setEnabled(false); } const KUrl& DolphinViewContainer::url() const @@ -229,6 +238,18 @@ void DolphinViewContainer::slotDirListerCompleted() updateStatusBar(); QTimer::singleShot(100, this, SLOT(restoreContentsPos())); + + // Enable the 'File'->'Create New...' menu only if the directory + // supports writing. + KMenu* createNew = m_mainWindow->newMenu()->menu(); + KFileItem item = m_dirLister->rootItem(); + if (item.isNull()) { + // it is unclear whether writing is supported + createNew->setEnabled(true); + } else { + KonqFileItemCapabilities capabilities(KFileItemList() << item); + createNew->setEnabled(capabilities.supportsWriting()); + } } void DolphinViewContainer::showItemInfo(const KFileItem& item)