Review Request 118879: Revert to old shell script code for parsing rgb.txt
Alexander Potashev
aspotashev at gmail.com
Wed Jun 25 07:11:35 UTC 2014
> On June 23, 2014, 8:28 a.m., Aurélien Gâteau wrote:
> > Out of curiosity: why is it necessary to skip colors with spaces?
>
> Alexander Potashev wrote:
> I guess it's a heuristic to remove duplicate entries for same {R,G,B}. However, it doesn't work perfectly, e.g. we have two entries "navy" and "NavyBlue" for the same RGB={0, 0, 128}.
>
> A better algorithm would be to group all lines in rgb.txt by RGB and then choose one text from each group somehow, may be take the shortest one.
>
> More important, we are now talking about Messages.sh which only populates translation templates with strings. The rgb.txt file parser used at run-time is elsewhere: see KColorTable::readNamedColor() in kdelibs4support/src/kdeui/kcolordialog.cpp
>
> Aurélien Gâteau wrote:
> I see. Since it's in kdelibs4support, I don't think we should change the C++ code there.
>
> I rewrote the shell line because I found it difficult to read. I thought removing color with spaces was a bug but I should have looked at the code using those strings. The awk script can be adjusted to skip names with spaces by only outputting the name if there are exactly 4 fields (a name with a space would result in 5 fields). This can be done like this:
>
> awk '$1 ~ "[0-9]+" && $4 !~ "gr[ae]y" && NF == 4 { print $4 }' kdeui/rgb.txt
>
> Use whichever version you prefer, I'd just ask adding a comment on top of the shell code explaining those strings are used by KColorTable::readNamedColor(), from src/kdeui/kcolordialog.cpp.
Your AWK code is more readable than sed, thanks! I'll commit it later today adding some comments and a reference to KColorTable::readNamedColor().
- Alexander
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118879/#review60754
-----------------------------------------------------------
On June 22, 2014, 12:30 p.m., Alexander Potashev wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/118879/
> -----------------------------------------------------------
>
> (Updated June 22, 2014, 12:30 p.m.)
>
>
> Review request for KDE Frameworks and Aurélien Gâteau.
>
>
> Repository: kdelibs4support
>
>
> Description
> -------
>
> The code using AWK did not properly throw away entries containing
> spaces.
>
> The code inserted in this commit was used successfully in KDE SC 4, see
> kdelibs/kdeui/colors/Messages.sh
>
>
> Diffs
> -----
>
> src/Messages.sh 9b918fa
>
> Diff: https://git.reviewboard.kde.org/r/118879/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Alexander Potashev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140625/1cc61a08/attachment-0001.html>
More information about the Kde-frameworks-devel
mailing list