Bug 266517

Summary: Terminal emulator shortcut is always ambiguous in filebrowsing mode
Product: [Applications] konqueror Reporter: Jens Takle <jenstakle>
Component: generalAssignee: Konqueror Developers <konq-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: adaptee, adawit, denis.prost, kolypto, lueck
Priority: NOR    
Version: 4.6.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 4.8.0
Attachments: configure shortcut dialog - terminal emulator actions...

Description Jens Takle 2011-02-17 10:53:41 UTC
Version:           4.6.0 (using KDE 4.6.0) 
OS:                Linux

Shortcuts assigned to "Terminal Emulator" get assigned to both the item in the Settings menu and the one in the View Mode menu, which is available in file browsing mode.

Reproducible: Always

Steps to Reproduce:
Open the "Configure Shortcuts" window in Konqueror.
Assign some non-preexisting shortcut to "Terminal Emulator".

Actual Results:  
The new shortcut is assigned to two conflicting actions. Pressing the shortcut while in filebrowsing mode brings up the ambiguity dialogue.

Expected Results:  
The new shortcut should be unambiguous.
Comment 1 Burkhard Lück 2011-05-20 13:52:01 UTC
Using Kubuntu 10.10 (kde 4.6.2) I can assign a shortcut to Terminal Emulator; that is the action from View->View Mode->Terminal Emulator in filemanager mode and I don't get a conflict.
But I am not able to add a shortcut to Settings->Show Terminal Emulator neither in browser nor in filemanager mode.

In branch 4.6.3 compiled from sources I can set a shortcut for Settings->Show Terminal Emulator in browser mode and View->View Mode->Terminal Emulator gets the same shortcut. So get the conflict as well in filemanager mode, but not in browser mode.
In browser mode I can not edit any of both.

In master compiled from sources I can set no shortcut for both in browser mode.

On Konquerors Introduction page and in filemanager mode I can set a shortcut for Settings->Show Terminal Emulator, but apparently only if the view mode does not have a shortcut.
In filemanager mode I can set a shortcut for View->View Mode->Terminal Emulator, but apparently only if Show Terminal Emulator does not have a shortcut.

In the actually runnig instance there is no conflict, but I get a conflict when I restart konqueror.
Comment 2 Denis Prost 2011-10-26 13:47:10 UTC
Same problem on OpenSuse 11.4 with Konqueror 4.7.2 "release 9".
Comment 3 Dawit Alemayehu 2011-12-15 05:50:42 UTC
(In reply to comment #2)
> Same problem on OpenSuse 11.4 with Konqueror 4.7.2 "release 9".

What unused shortcut were you assigning to get this conflict ? When you assign the shortcut that dialog should already detect any conflict and inform you about it ; so we need to know the shortcut you were assigning to the "Show Terminal Emulator" action.
Comment 4 Denis Prost 2011-12-16 08:09:33 UTC
I assigned Window+T but it doesn't matter. 
The dialog does not detect any conflict, since, before setting the "terminal emulator" shortcut, there is none.
As already explained in description from Jens Takle the problem is that there is only one shortcut item for "terminal emulator" in the shortcut configure dialog, while there are two different functions called by this name in konqueror : 
- view/view mode/terminal emulator, that replaces the filemanager view by a terminal view
- settings / show terminal emulator.
There should be two different items in the shortcut configure dialog for these two functions. At present time, one is unable to set a shortcut for settings / show terminal emulator : the one that is set in the config dialog is affected to view/view mode/terminal emulator.
Comment 5 Jekyll Wu 2011-12-30 15:08:48 UTC
I can reproduce this using KDE SC 4.8 RC1. It happens when I use konqueror as a filemanager instead of a web browser.
Comment 6 Dawit Alemayehu 2011-12-30 17:31:07 UTC
(In reply to comment #4)
> I assigned Window+T but it doesn't matter. 
> The dialog does not detect any conflict, since, before setting the "terminal
> emulator" shortcut, there is none.

That does not matter. The conflict detector detects whether or not the shortcut you are attempting to assign is already in use by any other action. Not just the "Terminal Emulator" or "Show Terminal emulator" actions. 

> As already explained in description from Jens Takle the problem is that there
> is only one shortcut item for "terminal emulator" in the shortcut configure
> dialog, while there are two different functions called by this name in
> konqueror : 
> - view/view mode/terminal emulator, that replaces the filemanager view by a
> terminal view
> - settings / show terminal emulator.
> There should be two different items in the shortcut configure dialog for these
> two functions. At present time, one is unable to set a shortcut for settings /
> show terminal emulator : the one that is set in the config dialog is affected
> to view/view mode/terminal emulator.

Sorry but I see two distincit and separate actions to which you can assign shortcuts. See the attached screenshot. Hence, I cannot reproduce the problem being reproted here.

Note, that this is using stock KDE and not a distribution package.
Comment 7 Dawit Alemayehu 2011-12-30 17:32:14 UTC
Created attachment 67255 [details]
configure shortcut dialog - terminal emulator actions...
Comment 8 Dawit Alemayehu 2011-12-30 17:35:42 UTC
Hmm... Never mind. This worked correctly once, but the action for "Show Terminal Emulator" seems to have disappered once I assigned a shortcut to it. So there is a some sort bug here, but not quite as described here.
Comment 9 Jekyll Wu 2011-12-30 22:29:00 UTC
Here is the one by one steps to reproduce the reported problem using a clean user account:

1. start konqueror for the first time.

2. open the shortcuts dialog, then search for 'terminal'. There is one action called 'Show Terminal Emulator', which has no shortcut now. Assign a shortcut for it, say, Alt+F8.

3. Try Alf+F8 in web browser mode and file manager mode. It works. No conflict now. And when in file manager mode, there are two terminal related actions in the menu, "Settings -> Show Terminal Emulator (Alf+F8)' and 'View -> View Mode -> Terminal Emulator'. No conflict NOW, repeat.

4. close konqueror, then reopen it.

5. In web browser mode, still no conflict.

6. Switch to file manager mode. Now the conflict arises. If you check the menu again, you will see "Settings -> Show Terminal Emulator (Alf+F8)" and "View -> View Mode -> Terminal Emulator (Alt+F8)". Now you have one shortcut for two actions

7. repeat step 4 to step 6 to reproduce the problem every time.

Hope that helps.
Comment 10 Dawit Alemayehu 2011-12-30 22:40:05 UTC
(In reply to comment #5)
> I can reproduce this using KDE SC 4.8 RC1. It happens when I use konqueror as a
> filemanager instead of a web browser.

Yes. That is the bug and it is caused by the same action name being used to
insert two different actions. Hence the item added last overwrites the one that
was added originally. Will try to fix before 4.8.0 release...
Comment 11 Dawit Alemayehu 2012-01-02 18:28:45 UTC
Git commit c0341d4479830d3e47b8ce9f31f6761e8ec8f4bc by Dawit Alemayehu.
Committed on 30/12/2011 at 23:49.
Pushed by adawit into branch 'KDE/4.8'.

Append "-viewmode" to the view mode actions added to the action collection in
order to avoid overwritting an existing action with the same name, e.g. konsolepart.
FIXED-IN: 4.8.0
REVIEW: 103590

M  +4    -1    konqueror/src/konqmainwindow.cpp

http://commits.kde.org/kde-baseapps/c0341d4479830d3e47b8ce9f31f6761e8ec8f4bc
Comment 12 Dawit Alemayehu 2012-01-02 18:31:39 UTC
Git commit f86eb0531a3dfe65403c953ee8e5eddb152e4c2e by Dawit Alemayehu.
Committed on 30/12/2011 at 23:49.
Pushed by adawit into branch 'master'.

Append "-viewmode" to the view mode actions added to the action collection in
order to avoid overwritting an existing action with the same name, e.g. konsolepart.
FIXED-IN: 4.8.0
REVIEW: 103590
(cherry picked from commit c0341d4479830d3e47b8ce9f31f6761e8ec8f4bc)

M  +4    -1    konqueror/src/konqmainwindow.cpp

http://commits.kde.org/kde-baseapps/f86eb0531a3dfe65403c953ee8e5eddb152e4c2e
Comment 13 Mark 2013-02-16 02:14:27 UTC
The bug is still here: KDE 4.9.4
Comment 14 Mark 2014-09-25 16:35:56 UTC
Konqueror 4.13.3, KUbuntu 14.04
The bug still exists: whenever I assign a shortcut 'F4' to "Show terminal emulator", it's always ambiguous.