<table><tr><td style="">astippich requested changes to this revision.<br />astippich added a comment.<br />This revision now requires changes to proceed.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D19087">View Revision</a></tr></table><br /><div><div><p>The stringlist case is still not handled. And a test case for multiple ints (2 ReleaseYear properties) will also likely fail. When going with JSON, I think this has to be done by always inserting values as an array (even if there is only one value), and removing this during deserialization. Stringlist will then be an array in an array in JSON. That will ensure that the map is of the same structure as it was put in, and this should also be possible to do in a backwards compatible way.</p>
<p>What do you think of using QDataStream here? This would require a db version bump, of course.</p></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D19087#inline-106329">View Inline</a><span style="color: #4b4d51; font-weight: bold;">astippich</span> wrote in <span style="color: #4b4d51; font-weight: bold;">propertydata.cpp:83</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">I think that will break all properties containing doubles, of which there are a few.</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Now ints are converted to doubles, which is not fatal, but IMHO also not very clean either. But since JSON only knows doubles, this is what we get. Only way out in this case is to query PropertyInfo::valueType, and do the conversion based on this.</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R293 Baloo</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D19087">https://phabricator.kde.org/D19087</a></div></div><br /><div><strong>To: </strong>bruns, Baloo, Frameworks, ngraham, poboiko, astippich<br /><strong>Cc: </strong>kde-frameworks-devel, ashaposhnikov, michaelh, astippich, spoorun, ngraham, bruns, abrahams<br /></div>