Disable the menu 'File' -> 'Create New...' if no writing is supported.

BUG: 166592

svn path=/trunk/KDE/kdebase/apps/; revision=834845
This commit is contained in:
Peter Penz 2008-07-19 16:51:29 +00:00
parent ec2ed0f3e7
commit 295ecd1ddf

View file

@ -35,8 +35,11 @@
#include <kiconeffect.h>
#include <kio/netaccess.h>
#include <kio/previewjob.h>
#include <kmenu.h>
#include <kmimetyperesolver.h>
#include <knewmenu.h>
#include <konqmimedata.h>
#include <konq_fileitemcapabilities.h>
#include <konq_operations.h>
#include <kurl.h>
@ -170,6 +173,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 +237,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)