[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/4.1/kdebase/apps/dolphin/src
From: Peter Penz <peter.penz () gmx ! at>
Date: 2008-07-21 18:09:29
Message-ID: 1216663769.152029.31315.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 836095 by ppenz:
Backport of 834845: Disable the menu 'File' -> 'Create New...' if no writing is supported.
CCBUG: 166592
M +20 -0 dolphinviewcontainer.cpp
--- branches/KDE/4.1/kdebase/apps/dolphin/src/dolphinviewcontainer.cpp #836094:836095
@@ -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 @@
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 @@
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)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic