<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="http://git.reviewboard.kde.org/r/100070/">http://git.reviewboard.kde.org/r/100070/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On November 7th, 2010, 10:07 p.m., <b>Soren Harward</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Okay, here are my comments on r5:
- Now that the TagMatch class has been pared down quite a bit, I agree with your original idea to get rid of the Support file. Let's merge the code from the TagMatchComparer.cpp file into TagMatch.cpp.
- The name of a Tag Match constraint that uses "Simple Search" doesn't display nicely in the "Constraint Tree" section of the "APG Preset Editor" dialog.
- The trickery with having 30 days equal 1 month in the MQWidget is too much. Not every month is 30 days, so just keep it at "X days" and add a further dropdown unit for months.
- The date fields display properly for TagMatch in the "Constraint Tree" section (with the exception of the "months" trickery), but they don't function properly. Running the APG with a constraint that has a date comparison causes it to behave, well, abnormally.
- When changing the type of match in the MQWidget (eg, from number to string), the comparison in the Constraint name doesn't get updated properly
- The "Match" label should be disabled along with the "Loose -|----- Strict" slider when a string type is selected in the MQWidget.
- The date for date matching on a new constraint should default to something more reasonable than 31-Dec-1969; the best default would probably be "today".
- Removing the CompareDate function from the Comparer is actually a problem; there's a long standing bug with date comparisons that I started to fix, but shelved until after the change to MQWidget. Comparing dates isn't as easy as just comparing two numbers. For example "added to collection on [date]" isn't just a straight "equals" comparison, because "on [date]" semantically covers the ~86400 seconds during that day. So the comparison of "equals" actually has to encompass a range. So date comparisons should be kept as a separate function so they can be treated properly.
The Widget itself looks great, and I think the idea to restructure the Comparer class to use static functions rather than a const object was a good one. Once we get these regressions fixed, the patch will be good to go.
The date-handling interaction between the MQWidget and the TagMatch constraint is likely to be a bit complicated. Could you please push this branch to a repo so we can work on it together? It would also give me the chance to fix the CompareDate function.</pre>
</blockquote>
<p>On November 9th, 2010, 2:05 a.m., <b>Ralf Engels</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">First: the repository is at http://gitorious.org/~rengels/amarok/rengelss-amarok/commits/metaquery-patch
I would need your Gitorious user name to add you as collaborator. We should have done this before :)
The trickery with 30 days is really a trickery. But I have no idea how you could convert months or years to seconds otherwise. We could use the sun year and on 1/12 as month. Actually that is a good idea.
Date default is easy to do. Currently it set's every numeric field (dates included) to 0.
Regarding the CompareDate. You are right. date == date actually means "on the same day".
</pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Soren,
I was wondering.
Is the branch OK now? Should I commit it?
I am for committing it once we are relatively sure that it's better than the current mainline, which it is in my opinion.
</pre>
<br />
<p>- Ralf</p>
<br />
<p>On November 7th, 2010, 7:06 p.m., Ralf Engels wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.orgrb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for Amarok.</div>
<div>By Ralf Engels.</div>
<p style="color: grey;"><i>Updated 2010-11-07 19:06:34</i></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Instead of implementing the whole behavior of selecting field and values I am just using the MetaQueryWidget.
Also I am moving all field related texts to src/core/meta/support/MetaConstants.cpp
This would also be a good place for the playlist to get it's texts from.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Generated several advanced playlists testing a couple of the fields and all the conditions.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>src/CMakeLists.txt <span style="color: grey">(2160670)</span></li>
<li>src/core-impl/collections/support/XmlQueryReader.h <span style="color: grey">(0088608)</span></li>
<li>src/core-impl/collections/support/XmlQueryReader.cpp <span style="color: grey">(b5518f0)</span></li>
<li>src/core-impl/collections/support/XmlQueryWriter.h <span style="color: grey">(5caf7bc)</span></li>
<li>src/core-impl/collections/support/XmlQueryWriter.cpp <span style="color: grey">(3c9cf41)</span></li>
<li>src/core/CMakeLists.txt <span style="color: grey">(8272804)</span></li>
<li>src/core/meta/support/MetaConstants.h <span style="color: grey">(73d03fc)</span></li>
<li>src/core/meta/support/MetaConstants.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>src/core/meta/support/MetaUtility.h <span style="color: grey">(47e7c24)</span></li>
<li>src/core/meta/support/MetaUtility.cpp <span style="color: grey">(5cf4519)</span></li>
<li>src/dynamic/Bias.h <span style="color: grey">(082327c)</span></li>
<li>src/dynamic/Bias.cpp <span style="color: grey">(8a8ab97)</span></li>
<li>src/playlistgenerator/PresetModel.cpp <span style="color: grey">(9b74636)</span></li>
<li>src/playlistgenerator/constraints/PlaylistDuration.h <span style="color: grey">(992215c)</span></li>
<li>src/playlistgenerator/constraints/PlaylistDuration.cpp <span style="color: grey">(5d83dfe)</span></li>
<li>src/playlistgenerator/constraints/TagMatch.h <span style="color: grey">(f23d562)</span></li>
<li>src/playlistgenerator/constraints/TagMatch.cpp <span style="color: grey">(d8ed7db)</span></li>
<li>src/playlistgenerator/constraints/TagMatchComparer.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>src/playlistgenerator/constraints/TagMatchEditWidget.ui <span style="color: grey">(b9d97c6)</span></li>
<li>src/playlistgenerator/constraints/TagMatchSupport.cpp <span style="color: grey">(6b777b1)</span></li>
<li>src/widgets/MetaQueryWidget.h <span style="color: grey">(ba64e4c)</span></li>
<li>src/widgets/MetaQueryWidget.cpp <span style="color: grey">(32f3f24)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/100070/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>