Making path completion case insensitive

Diaa Sami diaasami at gmail.com
Mon Sep 15 21:04:19 BST 2008


On Fri, 12 Sep 2008 04:40:18 +0200, "Rafael Fernández López" <ereslibre at kde.org> said:
> Hi,
> 
> > I'm new to KDE development and I want to add case insensitive path
> > completion to KDE as a whole, I started with dolphin for now and I'll look
> > into other components later.
> 
> The ideal thing is to work on this at a libraries level. This way all 
> applications get benefit from this as a whole and you don't need to hack 
> component per component.
> 
> Our code for completion stuff is on kdelibs/kdeui/util/kcompletion[base].
> You 
> also will have a look at how KLineEdit and KComboBox implements it.
> 
> I have to say that I don't see very well the point of a non-sensitive
> case 
> completion, but well...
> 
> 
> Regards,
> Rafael Fernández López.

Ok, then first I'll try to make you motivated a little, I don't want to be working on something that no one else is interested in.
The simplest argument would say that free software is about choice and most command-line shells already have this feature so why not have it in KDE.
Something more detailed is that completion is a convenience feature, it's there to make things easier for the user, so if he types ~/d he should get ~/downloads and ~/Desktop, it's not necessary to remember that a folder is named starting with an uppercase letter and another one(which was created automatically such as Desktop) starts with a lowercase letter, actually several popular IDEs which support completion(such as VS, Code::Blocks and Eclipse/Java Eclipse/CDT), completion is case insensitive by default for the same reason.
Finally I'd like to mention that there are already a couple of bug reports about it [1][2]
Taking into consideration that the implementation is already there, it just needs an option that controls it, then why not do it.

Now to the technical part, regarding the support of case insensitive completion in Dolphin, After wading through Dolphin and KDE source-code, I found that KCompletion already has setIgnoreCase method and it's working well, I just added a line in KUrlNavigator to setIgnoreCase(true) of the KUrlCompletion object and it worked fine.

So now the question is whether this should be an option for Dolphin or for KUrlNavigator and consequently where the option will be, in dolphinrc or somewhere else, as the implementation is already there in the core libraries.

[1] https://bugs.kde.org/show_bug.cgi?id=108515
[2] https://bugs.kde.org/show_bug.cgi?id=149830

Regards,
Diaa Sami




More information about the kfm-devel mailing list