Review Request 112288: fillApplicationLanguages: Do not add the system locale
Kevin Ottens
ervin at kde.org
Mon Aug 26 14:45:02 UTC 2013
> On Aug. 26, 2013, 1:35 p.m., Kevin Ottens wrote:
> > staging/xmlgui/src/kswitchlanguagedialog_p.cpp, line 333
> > <http://git.reviewboard.kde.org/r/112288/diff/1/?file=184765#file184765line333>
> >
> > From QLocale documentation if the ctor didn't find the language in the database it then uses ::default(). It just happens in your case that ::system() == ::default(), but I think we should test for default() not system().
> >
> > Now that means that your default language will never get in the combo box... Don't you end up with an empty combo box with that patch? That would be a problem.
> >
> > I wonder if we shouldn't store the default locale before the loop, set C to be the new default and test on that instead. And last restore the previous default language after the loop.
> >
> > It's jumping through hoops a bit but we're out of the usual QLocale uses it seems.
>
> Albert Astals Cid wrote:
> To be honest I've been thinking about this code and I don't like it (Aleix and me did it together). Sure apply this patch, but a better way for us to find the instaled languages other than
>
> for ( int i = 2; i <= QLocale::LastLanguage; ++i )
>
> which doesn't work for us anyway since there's pt and pt_BR that is not covered here, basically my idea is to just iterate over
>
> QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation) + QString::fromLatin1("locale/"); <-- note this does not compile :D
>
> (i.e. /usr/share/locale) to get the languages and then pass that to isApplicationTranslatedInto
>
> That should be muuuch better than the current loop we have, but don't prevent my suggestion for a better solution accept this if it is an improvement to the current one
>
> Vishesh Handa wrote:
> @Kevin: One could also just do -
>
> bool addedDefault = false;
> for ( ... ) {
>
> if (l == QLocale())
> if (!addedDefault) {
> addedDefault = true;
> }
> else
> continue;
>
> ...
> }
>
> Or we could just add the default one in the beginning/end. Let me know which you prefer. I've already implemented the default swapping one.
@Albert: Sure, if we have a better way to do it go for it. This patch at least unbreaks the status quo though.
@Vishesh: I don't really have a preference, the one you prefer is fine by me.
- Kevin
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/112288/#review38639
-----------------------------------------------------------
On Aug. 26, 2013, 2:34 p.m., Vishesh Handa wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/112288/
> -----------------------------------------------------------
>
> (Updated Aug. 26, 2013, 2:34 p.m.)
>
>
> Review request for KDE Frameworks and Aleix Pol Gonzalez.
>
>
> Description
> -------
>
> If QLocale cannot find the appropriate language, it then defaults to the
> system locale. When adding all possible languages it is possible that
> QLocale::system() is added multiple times. This results in a huge list
> for the default language being added.
>
> For me, "US English" gets added over 50 times.
>
>
> Diffs
> -----
>
> staging/xmlgui/src/kswitchlanguagedialog_p.cpp 894f2f4
>
> Diff: http://git.reviewboard.kde.org/r/112288/diff/
>
>
> Testing
> -------
>
> Ran kwindowtest and compared the list of languages shown in the switch languages dialog.
>
>
> Thanks,
>
> Vishesh Handa
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20130826/e824c1dd/attachment-0001.html>
More information about the Kde-frameworks-devel
mailing list