Version: 2.1 (using 4.2.3 (KDE 4.2.3), Mandriva Linux release 2009.1 (Official) for i586) Compiler: gcc OS: Linux (i686) release 2.6.29.3-desktop-1mnb When I change the subscription type from ‘Stream’ to ’Download’ (or ‘Last ned’ as it is called in my localised Amarok) for Magnatune, the setting is forgotten the next time I open the dialogue. It is reset to ‘Stream’ (‘Straum’). However, the other settings, i.e., the check box ‘I am a member’ and the preferred audio format (‘Ogg Vorbis‘) is remembered.
Nikolaj, any news on this?
yeah, its a bug caused by localized values being stored in the config and compared with non localized values when loading the settings. Ideally this should be saved as a non localized string. This is a good JJ if anyone wants it.
Changing to JJ
i proposed a patch but i don't remember on which bugreport i put it. i will search it and tell this here
can someone review this patch ? http://bugsfiles.kde.org/attachment.cgi?id=37927
If I understand it correctly, that patch isn't good enough. It tests if the type is equal to the localised value, which means it will break everytime the user switches UI language, or when the translation is updated/changed. (One common example of the last case is when Amarok is only partly translated, so that an English (or other language) text is stored. When the user upgrades to a later version of Amarok, which has a (new or changed) translation of these strings, suddenly the setting stops working, with no obvious cause.) The correct solution is to always store the English setting (or a numeric code, or something similar) in the settings file, but *display* it based on the current language settings.
commit 9070de03771104f4bac79f6673a877b1ae472778 Author: Nikolaj Hald Nielsen <nhnFreespirit@gmail.com> Date: Sun Nov 22 11:40:46 2009 +0100 Store magnatune membership type setting as an int instead of a string. Also provide transparent migration for existing string based setting. BUG: 195427