Bug 169959 - Remember completion mode of Join Channel dialog channel input field
Summary: Remember completion mode of Join Channel dialog channel input field
Status: CONFIRMED
Alias: None
Product: konversation
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR wishlist
Target Milestone: ---
Assignee: Konversation Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-28 00:12 UTC by Jon Brandvein
Modified: 2008-09-15 11:28 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jon Brandvein 2008-08-28 00:12:23 UTC
Version:            (using KDE 3.5.9)
OS:                Linux
Installed from:    Gentoo Packages

Whenever I try to join the #gentoo channel in Konversation, I end up joining #gentoo-kde4-live because it's in my channel history and I press enter without specifically deleting the additional autocompleted text. This is highly annoying, as it requires typing a bogus character and backspacing to get rid of the autocompletion, instead of opting in to the longer version of the text by pressing tab. It's also not the expected action because the additional text is in a grey font instead of, say, highlighted by autoselecting it. Ideally, it'd use the same technique as konqueror's address bar, presenting a dropdown box of possible completions and allowing you to select one with the up and down arrow keys and tab button.
Comment 1 Peter Simonsson 2008-08-28 08:25:48 UTC
It's already possible to set a custom completion type (or none at all) in the context menu of the input.
Comment 2 Jon Brandvein 2008-09-14 05:02:42 UTC
Thanks for pointing that out, I hadn't seen that menu. But it appears as if konversation is overriding the default, which is the dropdown mode that I want. Every time the join window dialog is opened, I have to change that context menu option once again, defeating the point of customizing autocompletion.

That is, the dialog is always created with the completion option "Automatic", and I have to right click and select "Dropdown" or "Default" to change it, and then that change is forgotten the next time I join a channel.
Comment 3 Eike Hein 2008-09-14 11:37:40 UTC
"Automatic" is the KDE default, and there's indeed no attempt made to store the user-set mode across dialog invocations or application sessions on Konvi's side.
Comment 4 Eike Hein 2008-09-14 11:41:44 UTC
Renaming for clarity.
Comment 5 Jon Brandvein 2008-09-14 19:45:52 UTC
I'm confused by that statement. If Automatic is the KDE default, then why does the literal option "Default" choose Dropdown and only appear in the menu when Dropdown is not already the current selection? I don't remember using Automatic completion in any other KDE apps, which is why I suspect it's Konversation that's responsible for this odd behavior.

The two other text fields I can think of off the top of my head where completion plays a heavy role are Konqueror's URL bar and the Alt+F2 Run Command dialog. For both of these fields, the default is most definitely Dropdown. Moreover, if I change it to another completion type, it does remember it the next time the dialog or application is invoked (previous instances remain unaffected). Are you implying that both of these applications make a specific effort to remember these settings and that the KDE widget system doesn't do it for them? If so, I suggest Konversation take whatever action is needed to mirror them. But I don't think that's the case, again because of the fact that the "Default" literal option chooses Dropdown even in Konversation.

My original problem was that I find the Join Channel dialog less usable because I had to take an extra step in order to join certain channels that have names that are prefixes of other channel names, like #kde versus #kde-bugs. This extra step was typing a bogus character to invalidate the completion, then backspace. KDE already has the wonderful ability to customize the completion type (which I was unaware of before Peter's response), but that is unfortunately moot if I still have to take my hands off the keyboard and navigate a context menu every single time the dialog's opened, just to make use of it that one time.

Is there a place where I can change/verify the system wide default (i.e., some part of a kcontrol module)? Because if that will change konversation's join channel dialog, I'll consider that a workaround, but not the end of the story. In my view, I still don't have an explanation for why konversation is different from Konqueror and Run Command in defaulting to Automatic.
Comment 6 Eike Hein 2008-09-15 11:28:00 UTC
Sorry, the reason for your confusion is a typo from my side: "Automatic" is the Konversation default (set via a 'autoCompletion=true' property on the widget in the .ui file), not the KDE default. 

Option 1 is to remove that property, reverting the default completion mode to, well, "Default", resulting in dropdown completion. Option 2 is to properly remember the user-set mode.

Option 1 would be the easy way out; Option 2 is the proper fix, since just going with "Default" might float your boat, but still leaves the problem of not remembering when the user selects a different mode. And no, the "KDE widget system" does not do that by itself, hence the new bug title.

Since there is obviously someone who likes "Automatic" mode (or he/she wouldn't have made the design decision to enable it), adding code to remember a user-set mode is also a prerequisite for thinking about changing the default back to dropdown (since otherwise he/she can't change it to "Automatic" for him/herself and have it stick).