#include <QClipboard>
K_PLUGIN_FACTORY(DolphinPartFactory, registerPlugin<DolphinPart>();)
-// The componentdata name must be dolphinpart so that dolphinpart.rc is found
-// Alternatively we would have to install it as dolphin/dolphinpart.rc
-K_EXPORT_PLUGIN(DolphinPartFactory("dolphinpart"))
+K_EXPORT_PLUGIN(DolphinPartFactory("dolphinpart", "dolphin"))
DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantList& args)
: KParts::ReadOnlyPart(parent)
m_actionHandler->updateViewActions();
slotSelectionChanged(KFileItemList()); // initially disable selection-dependent actions
- // TODO sort_by_* actions
-
// TODO there was a "always open a new window" (when clicking on a directory) setting in konqueror
// (sort of spacial navigation)
QAction* deleteAction = actionCollection()->action("delete");
QAction* editMimeTypeAction = actionCollection()->action("editMimeType");
QAction* propertiesAction = actionCollection()->action("properties");
+ QAction* deleteWithTrashShortcut = actionCollection()->action("delete_shortcut"); // see DolphinViewActionHandler
if (!hasSelection) {
stateChanged("has_no_selection");
emit m_extension->enableAction("cut", false);
emit m_extension->enableAction("copy", false);
- renameAction->setEnabled(false);
- moveToTrashAction->setEnabled(false);
- deleteAction->setEnabled(false);
+ deleteWithTrashShortcut->setEnabled(false);
editMimeTypeAction->setEnabled(false);
- propertiesAction->setEnabled(false);
} else {
stateChanged("has_selection");
+ // TODO share this code with DolphinMainWindow::updateEditActions (and the desktop code)
+ // in libkonq
KonqFileItemCapabilities capabilities(selection);
const bool enableMoveToTrash = capabilities.isLocal() && capabilities.supportsMoving();
renameAction->setEnabled(capabilities.supportsMoving());
moveToTrashAction->setEnabled(enableMoveToTrash);
deleteAction->setEnabled(capabilities.supportsDeleting());
+ deleteWithTrashShortcut->setEnabled(capabilities.supportsDeleting() && !enableMoveToTrash);
editMimeTypeAction->setEnabled(true);
propertiesAction->setEnabled(true);
emit m_extension->enableAction("cut", capabilities.supportsMoving());
// If the parent directory of the selected item is writable, moving
// and deleting are possible.
KFileItem parentDir = m_dirLister->rootItem();
- if (!parentDir.isWritable()) {
+ if (!parentDir.isNull() && !parentDir.isWritable()) {
popupFlags |= KParts::BrowserExtension::NoDeletion;
sDeleting = false;
sMoving = false;
void DolphinPart::slotUrlChanged(const KUrl& url)
{
+ KParts::ReadOnlyPart::setUrl(url);
QString prettyUrl = url.pathOrUrl();
emit m_extension->setLocationBarUrl(prettyUrl);
}