> On June 25, 2013, 6:46 a.m., Kevin Ottens wrote:
> > kio/kfile/kurlrequester.cpp, line 483
> > <http://git.reviewboard.kde.org/r/111184/diff/2/?file=165624#file165624line483>
> >
> >     Why don't you use KUrlMimeData like the original code in KLineEdit? 
> > It'll be more robust AFAICT.
> 
> Albert Vaca Cintora wrote:
>     I'm using hasUrls() instead because KUrlMimeData returns a list of urls, 
> which is more expensive than what Qt does (a string comparison). 
>     
>     Also, if our way of checking URLs is better than the way Qt uses, we 
> should contribute it to Qt instead of avoid using their methods (we are going 
> to rely a lot more on Qt since KF5, so we have to trust what Qt does).
> 
> Kevin Ottens wrote:
>     Well, KUrlMimeData has some specific handling for KIO, which is a big 
> no-no for Qt. That's more what I had in mind... we don't need the metadata 
> part in that context though, so it's likely a moot point.
>     
>     That said we look for the application/x-kde4-urilist mimetype too (again 
> something we can't really push in Qt). David, any reason why we have this 
> extra mimetype? Doesn't really makes sense to me.
> 
> David Faure wrote:
>     KUrlMimeData has some specific handling for KIO, and not just metadata, 
> but also shipping two lists of URLs: KIO urls and most-local urls. For 
> instance desktop:/foo and file://home/dfaure/Desktop/foo, the first one being 
> aimed at KIO-enabled apps and the second one at non-KIO-enabled apps.
>     
>     The code here simply checks for "there are urls", and lets QLineEdit do 
> the extraction.
>     This means that the most-local urls are going to be pasted, not the KIO 
> ones.
>     But that's not really specific to kurlrequester nor the 
> clear-before-insert feature... (e.g. konqueror's location bar would have the 
> same issue)
>     
>     WAIT ..... who determined that only KUrlRequester used the "url drop" 
> feature of KLineEdit?
>     That feature is ON by default, so looking for calls to 
> setUrlDropsEnabled(true) is definitely wrong.
>     Konqueror's location bar definitely uses that feature too. I suspect the 
> location bar in dolphin and the one in kfiledialog do as well, at least.
>     
>     It seems to me that putting the code into KUrlRequester is just wrong. It 
> should be an event filter that can be plugged onto any QLineEdit. And then it 
> can take care of both: clear before insert, and using KUrlMimeData to do the 
> URL extraction.
> 
> Kevin Ottens wrote:
>     Hmmm... You're right, as I mentionned earlier that was my only concern 
> that url drops were enabled by default... But somehow I assumed that most of 
> our URL bars were KUrlRequester. Dunno what happened in my brain that day as 
> obviously it's not the case. They're either KComboBox or KLineEdit.
>     
>     OK... so if we want to make the url drops feature more reusable we should 
> make that feature an event filter in its own class as I initially proposed.
>     
>     But (and that's a strong but), I now realize that we never pushed toward 
> KUrlRequester to use QLineEdit or QComboBox. It can keep using KLineEdit or 
> KComboBox just fine. They're not getting deprecated, they'll be in 
> KCompletion (and the future KioWidgets will be able to use KCompletion just 
> fine IMO).
>     
>     It makes me think this patch should in fact be dropped.
> 
> Albert Vaca Cintora wrote:
>     I see your point and agree with you. However I don't think that every 
> other class using this feature can keep using KLineEdit as before (some will 
> need to be ported to QLineEdit even if I was wrong and this is not the case 
> of KUrlRequester) and I don't think this feature is generic enough to send a 
> patch to Qt. I could then move it to a separate class (usable from wherever 
> we need) as Ervin suggested initially, but... do you feel it necessary or can 
> we just drop this feature from the apps we migrate to QLineEdit? 
>     
>     Since you have a more comprehensive perspective of the project as I have, 
> if you think we should keep it I will write the patch to move it to an 
> independent class.

Right, it's kind of case by case basis indeed... Some might want just a 
QLineEdit with no completion and still get this drop behavior for URLs. So yes, 
please make a new patch to put that as a separate class usable on top of 
anything having a text property. Thanks in advance!


- Kevin


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/111184/#review35019
-----------------------------------------------------------


On June 25, 2013, 10:46 a.m., Albert Vaca Cintora wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/111184/
> -----------------------------------------------------------
> 
> (Updated June 25, 2013, 10:46 a.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Description
> -------
> 
> KLineEdit and KComboBox had the property enableUrlDrops that was added to use 
> it in KUrlRequester. Since KUrlRequester is part of KIO, it can not use 
> Kde4Support and should be ported to use QLineEdit and QComboBox. As I said on 
> my email to the frameworks list, it was easier to implement this directly in 
> KUrlRequester than patching Qt, even though it was originally planned as a Qt 
> task. It was my intention to also remove that property from KLineEdit and 
> KComboBox, but finally I didn't include it in the patch (see Ervin's comment 
> in the mailing list).
> 
> In the patch I have also added a TODO because I think it would be good to 
> detect any url without needing the mimetype to be set, but I have not done it 
> yet because it should be discussed first.
> 
> (Reviewed by aacid and apol)
> 
> 
> Diffs
> -----
> 
>   KDE5PORTING.html ba67bdc 
>   kdeui/widgets/kcombobox.h ccb019d 
>   kdeui/widgets/klineedit.h 7ac22f6 
>   kio/kfile/kurlrequester.cpp fa6b234 
> 
> Diff: http://git.reviewboard.kde.org/r/111184/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Albert Vaca Cintora
> 
>

_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

Reply via email to