Version: (using KDE KDE 3.2.2) Installed from: Gentoo Packages When keyboard focus is on a directory in Konqueror's navigation pannel, keyboard shortcuts for actions such as : cut, copy, paste, trash and delete do not work. The contextual menu does not appear when pressing the Menu key. The corresponding entries (Cut, Copy, etc.) are disabled in the Edit menu. It is also impossible to rename directories in the navigation pannel. This makes manipulating directories using the navigation pannel impractical.
*** Bug 36749 has been marked as a duplicate of this bug. ***
*** Bug 71301 has been marked as a duplicate of this bug. ***
*** Bug 77186 has been marked as a duplicate of this bug. ***
*** Bug 89560 has been marked as a duplicate of this bug. ***
Problem still exists in 3.3.1
Problem still exists in 3.3.2-1 (debian/sid)
With KDE-3.4.0_beta2, the "Rename" option is now enabled (in the popup menu in the side bar) but when I click on "Rename", nothing happens, no dialog box appears, no editable field... But the Properties in the Side bar can renamed the directory
Confirm on HEAD 20050213.
Confirm on KDE 3.4.1 20050613.
Confirm on KDE 3.4.2.
The bug also happens in debian testing kde 3.4.2
Status in KDE-3.5 : - Keyboard shortcuts : "Copy", "paste", "cut", "move to trash", "delete" or "rename" DON'T WORK - The contextual menu : "Copy", "paste", "cut", "move to trash" or "delete" work "Rename" is present but DOESN'T WORK - Edit menu : "Copy", "paste", "cut", "move to trash", "delete" or "rename" DON'T WORK (I think Edit menu works only with the right panel, not the left panel (even if the focus is in the left panel)
Problem also exists in KDE 3.4.0 Level b, SuSE Linux
Status in KDE-3.5.1 : - Keyboard shortcuts : "Copy", "paste", "cut", "move to trash", "delete" or "rename" DON'T WORK - The contextual menu : "Copy", "paste", "cut", "move to trash" or "delete" work "Rename" is present but DOESN'T WORK - Edit menu : "Copy", "paste", "cut", "move to trash", "delete" or "rename" DON'T WORK (I think Edit menu works only with the right panel, not the left panel (even if the focus is in the left panel)
I've noticed the same thing on KDE 3.5.1 (at least the delete key), with konqueror, in file management mode: Steps to reproduce: - Select folder from the filesystem in the folder tree on the left. - Press the Delete key; the menu doesn't appear. - Right click, select delete -> works.
'delete' 'rename' (at least) are still bugged in debian KDE 3.5.2
The point is that the sidebar is a passive view. It can not take focus. This is why the menu items never refer to the sidebar, but always to the active view (e.g. icon view). Well, this is how it was supposed to work. But I see that one can click in the sidebar tree and use the up/down keys so it indeed has focus.... In any case RMB/rename wasn't implemented on non-toplevel items and that was a bug indeed - fixed now. RMB/delete worked fine already.
SVN commit 541800 by dfaure: Fix RMB+rename in sidebar tree not working (part of the 19th most hated KDE bug) CCBUG: 80584 M +4 -1 konq_mainwindow.cc M +1 -1 sidebar/sidebar_widget.cpp M +10 -3 sidebar/trees/dirtree_module/dirtree_item.cpp M +2 -0 sidebar/trees/dirtree_module/dirtree_item.h M +2 -8 sidebar/trees/konq_sidebartree.cpp M +2 -1 sidebar/trees/konq_sidebartreeitem.h M +1 -1 sidebar/trees/konq_sidebartreetoplevelitem.h M +4 -3 sidebar/trees/konqsidebar_tree.cpp --- branches/KDE/3.5/kdebase/konqueror/konq_mainwindow.cc #541799:541800 @@ -4767,7 +4767,10 @@ connectExtension( m_oldView->browserExtension() ); m_currentView = m_oldView; } - m_oldView->part()->widget()->setFocus(); + // Special case: RMB + renaming in sidebar; setFocus would abort editing. + QWidget* fw = focusWidget(); + if ( !fw || !::qt_cast<QLineEdit*>( fw ) ) + m_oldView->part()->widget()->setFocus(); } } } --- branches/KDE/3.5/kdebase/konqueror/sidebar/sidebar_widget.cpp #541799:541800 @@ -652,7 +652,7 @@ if (!(mod->module)) return; - kdDebug() << "Try calling >active< module's action" << handlestd << endl; + kdDebug() << "Try calling >active< module's (" << mod->module->className() << ") slot " << handlestd << endl; int id = mod->module->metaObject()->findSlot( handlestd ); if ( id == -1 ) --- branches/KDE/3.5/kdebase/konqueror/sidebar/trees/dirtree_module/dirtree_item.cpp #541799:541800 @@ -231,8 +231,15 @@ QString KonqSidebarDirTreeItem::toolTipText() const { - if ( m_fileItem->url().isLocalFile() ) - return m_fileItem->url().path(); + return m_fileItem->url().pathOrURL(); +} - return m_fileItem->url().prettyURL(); +void KonqSidebarDirTreeItem::rename() +{ + tree()->rename( this, 0 ); } + +void KonqSidebarDirTreeItem::rename( const QString & name ) +{ + KonqOperations::rename( tree(), m_fileItem->url(), name ); +} --- branches/KDE/3.5/kdebase/konqueror/sidebar/trees/dirtree_module/dirtree_item.h #541799:541800 @@ -49,6 +49,8 @@ virtual void trash(); virtual void del(); virtual void shred(); + virtual void rename(); // start a rename operation + void rename( const QString & name ); // do the actual renaming // The URL to open when this link is clicked virtual KURL externalURL() const; --- branches/KDE/3.5/kdebase/konqueror/sidebar/trees/konq_sidebartree.cpp #541799:541800 @@ -857,13 +857,7 @@ if (col != 0) return; assert(item); KonqSidebarTreeItem * treeItem = static_cast<KonqSidebarTreeItem *>(item); - if ( treeItem->isTopLevelItem() ) - { - KonqSidebarTreeTopLevelItem * topLevelItem = static_cast<KonqSidebarTreeTopLevelItem *>(treeItem); - topLevelItem->rename( name ); - } - else - kdWarning() << "slotItemRenamed: rename not implemented for non-toplevel items" << endl; + treeItem->rename( name ); } @@ -1022,7 +1016,7 @@ void KonqSidebarTree::slotOpenTab() { if (!m_currentTopLevelItem) return; - DCOPRef ref(kapp->dcopClient()->appId(), topLevelWidget()->name()); + DCOPRef ref(kapp->dcopClient()->appId(), topLevelWidget()->name()); ref.call( "newTab(QString)", m_currentTopLevelItem->externalURL().url() ); } --- branches/KDE/3.5/kdebase/konqueror/sidebar/trees/konq_sidebartreeitem.h #541799:541800 @@ -65,6 +65,7 @@ virtual void del() {} virtual void shred() {} virtual void rename() {} + virtual void rename( const QString& ) {} // The URL to open when this link is clicked virtual KURL externalURL() const = 0; @@ -100,7 +101,7 @@ KonqSidebarTree *tree() const; virtual QString key( int column, bool ) const { return text( column ).lower(); } - + // List of alternative names (URLs) this entry is known under QStringList alias; protected: --- branches/KDE/3.5/kdebase/konqueror/sidebar/trees/konq_sidebartreetoplevelitem.h #541799:541800 @@ -62,7 +62,7 @@ virtual void del(); virtual void shred(); virtual void rename(); // start a rename operation - void rename( const QString & name ); // do the actual renaming + virtual void rename( const QString & name ); // do the actual renaming virtual void setOpen( bool open ); --- branches/KDE/3.5/kdebase/konqueror/sidebar/trees/konqsidebar_tree.cpp #541799:541800 @@ -20,9 +20,9 @@ ksc.setGroup("Desktop Entry"); int virt= ( (ksc.readEntry("X-KDE-TreeModule","")=="Virtual") ?VIRT_Folder:VIRT_Link); if (virt==1) desktopName_=ksc.readEntry("X-KDE-RelURL",""); - + widget = new QVBox(widgetParent); - + if (ksc.readBoolEntry("X-KDE-SearchableTreeModule",false)) { QHBox* searchline = new QHBox(widget); searchline->setSpacing(KDialog::spacingHint()); @@ -43,7 +43,7 @@ connect(tree,SIGNAL(createNewWindow( const KURL &, const KParts::URLArgs &)), this,SIGNAL(createNewWindow( const KURL &, const KParts::URLArgs &))); - + connect(tree,SIGNAL(popupMenu( const QPoint &, const KURL &, const QString &, mode_t )), this,SIGNAL(popupMenu( const QPoint &, const KURL &, const QString &, mode_t ))); @@ -111,6 +111,7 @@ void KonqSidebar_Tree::rename() { + Q_ASSERT( tree->currentItem() ); if (tree->currentItem()) tree->currentItem()->rename(); }
Not applied yet in KDE 3.5.4? Not working in kdebase-3.5.4-0.2.fc5.
The 'rename' in context menu (of the panel view) works with KDE-3.5.4 (But, the F2 shortcut doesn't work : seems to be normal as the panel view is a passive view) Status in KDE-3.5.4 : - The contextual menu : "Copy", "paste", "cut", "move to trash", "delete" and "rename" work - Keyboard shortcuts : "Copy", "paste", "cut", "move to trash", "delete" or "rename" DON'T WORK - Edit menu : "Copy", "paste", "cut", "move to trash", "delete" or "rename" DON'T WORK I think the keyboard shortcut and edit menu problems can't be solved with the current Konqueror architecture, can they ?
On Wednesday 23 August 2006 14:11, Frédéric COIFFIER wrote: > I think the keyboard shortcut and edit menu problems can't be solved with the current Konqueror architecture, can they ? Right, it is by design that the sidebar is passive, i.e. doesn't take focus. I can see how this is a problem for keyboard usage; but I still think menu usage would get confusing if the result of the menu entries depended on whether you last clicked on the main view or on the sidebar.... Well... it works like that with splitted views, but that's a less common case. Can someone do a little research and check whether sidebars take focus (and are affected by menu items) in many other apps? (Windows file manager, amarok, MacOsX, etc.)
In MS Windows' file manager(explorer), shortcuts such as delete, Ctrl+x, Ctrl+v work well in the sidebar. Many people like to use shortcuts than a mouse in such jobs, and may want to be able to use shortcuts in a sidebar, too. (Especially the sidebar is useful when operate on directories). I hope that shortcuts are activated in the sidebar, if possible.
And currently, shortcuts are displayed in the sidebar context menu, which is really ambiguous.
I'm using KDE 3.5.4 and this bug is still present for me, I press F2 with a directory selected in the Navigation Panel and nothing happens. I can get it to work by selecting using the mouse from the context menu at least. Would be great if this bug could be prioritised. Kind regards Jon
This is not a bug, but the way the GUI has been designed: the sidebar is a passive view, it cannot get focus.
It can get focus. Here is a case you can try to see for your self: 1) Open the Navigation Plane side bar 2) Right click on a file and rename it. 3) Press the down arrow, see that the Navigation Plane side bar is still with the focus for keyboard input. 4) Press F2 and see that despite the Navigation Plane side bar having focus, pressing F2 does not trigger a Rename. Kind regards Jon
On Friday 06 October 2006 22:48, jg@jguk.org wrote: > 3) Press the down arrow, see that the Navigation Plane side bar is still with the focus for keyboard input. That's a bug, in the current design :)
Would be great if that feature could be kept and the design changed to allow the F2 rename feature added... Jon
*** Bug 122889 has been marked as a duplicate of this bug. ***
The current behavior of Konqueror forces the user to use the mouse, which is not very nice. Also, as mentioned, if you right click it says that F2 would rename the folder, which does not work. I really hope that it will be possible to rename and delete folders directly in navigation panel. Most other file managers out there supports this! BR
It is still present in kde4 svn trunk r831729
*** Bug 95006 has been marked as a duplicate of this bug. ***
SVN commit 1047132 by dfaure: Support for renaming with F2 in the sidebar tree. (Note that Edit/Rename will still be about the active part, not about the sidebar.) CCBUG: 80584 M +18 -2 konq_sidebartree.cpp M +1 -0 konq_sidebartree.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1047132
SVN commit 1047182 by dfaure: Make the shortcuts for copy, paste, cut, trash and delete work in the sidebar directory tree. This fixes bug 80584 (356 votes) BUG: 80584 That tree module (qt3support based) is quite buggy though (missing updates after renaming and deleting (sometimes); no DnD). I should replace it with a dolphinpart-based tree... M +33 -6 konq_sidebartree.cpp M +6 -0 konq_sidebartree.h M +7 -0 konqsidebar_oldtreemodule.cpp M +7 -5 konqsidebar_oldtreemodule.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1047182