<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Ubuntu'; font-size:9pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">may I commit?</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">best regards,</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Markus</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">On Tuesday 15 January 2013 22.27:22 Markus Leuthold wrote:<br /></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<table border="0" style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px;" width="100%" cellspacing="2" cellpadding="8" bgcolor="#f9f3c9">
<tr>
<td>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';">This is an automatically generated e-mail. To reply, visit: </span><a href="http://git.reviewboard.kde.org/r/108382/"><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif'; text-decoration: underline; color:#0057ae;">http://git.reviewboard.kde.org/r/108382/</span></a><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';"> </span></p></td></tr></table>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';"><br /></span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:55px; margin-right:80px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';">On January 13th, 2013, 6:20 p.m. UTC, </span><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif'; font-weight:600;">Marcel Wiesweg</span><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';"> wrote: </span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:70px; margin-right:120px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">The only changes I dont understand without explanation are those to AddTagsCompletionBox::setItems. What is achieved here?</span><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';"> </span></p>
<p style=" margin-top:12px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">Assume you have three tags "Albert", "Alice" and "Bertha" (parent tag is "People"). You want to assign "Alice" to your photo. With current digikam, you get the following situation after each keystroke:</span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">keystroke:items displayed</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">"A":"Create A in People", "Albert","Alice","Create A"  (Case A as labeled in sourcecode)</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">"l":"Create Al in People", "Albert","Alice","Create Al" (Case A)</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">"i":"Create Ali in People","Alice","Create Ali" (Case A)</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">"c":"Create Alic in People","Alice","Create Alic" (Case A)</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">"e":"Alice","Create Alice" (Case C)</span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">Please note that only after the fifth character, you can press enter to commit your tag. The first item is always selected, you can only press enter if your desired item is at position one. Now let's look at my patch, same scenario</span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">"A":"Albert","Alice","Create A in People","Create A" (Case A)</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">"l":"Albert","Alice","Create Al in People","Create Al" (Case A)</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">"i":"Alice","Create Ali in People","Create Ali" (Case A)</span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">After the 3rd character, you can press enter. Since I remember the chosen tags, "Alice" will be the first item for another photo (this logic is not in the setItems function, though). Assume you want to tag a second photo with "Alice"</span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">"A":"Alice" "Albert" "Create A in People" "Create A"</span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">Now you can already press enter after the first character, and you're done. With the current digikam version, you need to write the entire name.</span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">What I have to admit: I don't know how you can actually get into case B (no item selected at all). I checked with debug statements, and didn't figure out a way to hit that codepath, with current digikam as well as with my patch applied. But if this codepath is hit, the code should behave correctly.</span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">Does it become more clear to you what my modifications in setItems do?</span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';"><br /></span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';">- Markus <br /></span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:40px; margin-right:40px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';">On January 13th, 2013, 10:16 a.m. UTC, Markus Leuthold wrote: </span></p>
<table border="0" style=" margin-top:0px; margin-bottom:0px; margin-left:40px; margin-right:40px;" width="100%" cellspacing="0" cellpadding="8" bgcolor="#fefadf">
<tr>
<td background="http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';">Review request for Digikam, Gilles Caulier and Marcel Wiesweg.</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';">By Markus Leuthold. </span></p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif'; font-style:italic; color:#808080;">Updated Jan. 13, 2013, 10:16 a.m.</span><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';"> </span></p>
<p style=" margin-top:24px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif'; font-size:10pt; font-weight:600; color:#575012;">Description </span></p>
<table border="0" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;" width="100%" cellspacing="0" cellpadding="10" bgcolor="#ffffff">
<tr>
<td background="http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">Make tagging more accessible by keyboard</span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';"> * Pressing "T" will focus the tagedit-box.</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';"> * The tag is applied by pressing enter. Pressing enter a second time will</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">   focus the mainwindow and advance to the next image.</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';"> * The dropdown of the tagedit-box remembers already entered tags, the</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">   order of the dropdown items are sorted such that already entered tags appear first.</span><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';"> </span></p></td></tr></table>
<p style=" margin-top:24px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif'; font-size:10pt; font-weight:600; color:#575012;">Testing </span></p>
<table border="0" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;" width="100%" cellspacing="0" cellpadding="10" bgcolor="#ffffff">
<tr>
<td background="http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Courier New,courier';">I successfully use this feature on a regular basis. Also tested with current HEAD, works fine.</span><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';"> </span></p></td></tr></table>
<p style=" margin-top:24px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif'; font-size:10pt; font-weight:600; color:#575012;">Diffs </span></p>
<ul style="margin-top: 0px; margin-bottom: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';" style=" margin-top:12px; margin-bottom:0px; margin-left:45px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">digikam/main/digikamapp.cpp <span style=" color:#808080;">(f9a1206faa0ff2c5f174b74728d45e660bfea599)</span> </li>
<li style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';" style=" margin-top:0px; margin-bottom:0px; margin-left:45px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">digikam/main/digikamapp_p.h <span style=" color:#808080;">(e4924fc0818715e79919e3ac1de74fbd07e26152)</span> </li>
<li style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';" style=" margin-top:0px; margin-bottom:0px; margin-left:45px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">digikam/tags/addtagscompletionbox.cpp <span style=" color:#808080;">(266421c34fe6d939b094d0c0b1dea77065e024ee)</span> </li>
<li style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';" style=" margin-top:0px; margin-bottom:0px; margin-left:45px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">digikam/tags/addtagslineedit.h <span style=" color:#808080;">(1eec38c090eaefd592e4cc5c4561fadf04b9de26)</span> </li>
<li style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';" style=" margin-top:0px; margin-bottom:0px; margin-left:45px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">digikam/tags/addtagslineedit.cpp <span style=" color:#808080;">(abcf5b1f9d9a0340a9838b267faa2637f989bd96)</span> </li>
<li style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';" style=" margin-top:0px; margin-bottom:0px; margin-left:45px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">digikam/views/digikamview.h <span style=" color:#808080;">(418dc019256300315a1623d45ad1a7d6e6c484f7)</span> </li>
<li style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';" style=" margin-top:0px; margin-bottom:0px; margin-left:45px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">digikam/views/digikamview.cpp <span style=" color:#808080;">(b8c2f6408d59a638c0c400b81516eedd5d1a621b)</span> </li>
<li style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';" style=" margin-top:0px; margin-bottom:0px; margin-left:45px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">libs/database/albumdb.cpp <span style=" color:#808080;">(2d04b1568e46d59a162be0bfdc2105a6d5bb7d2a)</span> </li>
<li style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';" style=" margin-top:0px; margin-bottom:0px; margin-left:45px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">libs/imageproperties/imagedescedittab.h <span style=" color:#808080;">(9b229e451c0d14b34b39c510749f2088b259ef34)</span> </li>
<li style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';" style=" margin-top:0px; margin-bottom:0px; margin-left:45px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">libs/imageproperties/imagedescedittab.cpp <span style=" color:#808080;">(d607c73ae4a4c19074f18539be8e785fd3110b5f)</span> </li>
<li style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';" style=" margin-top:0px; margin-bottom:12px; margin-left:45px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">libs/imageproperties/imagepropertiessidebar.h <span style=" color:#808080;">(f6703339fc2e1a5762f8db898e7ad69dddab7868)</span> </li></ul>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><a href="http://git.reviewboard.kde.org/r/108382/diff/"><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif'; text-decoration: underline; color:#0057ae;">View Diff</span></a><span style=" font-family:'Verdana,Arial,Helvetica,Sans-Serif';"> </span></p></td></tr></table>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br /><br /></p></body></html>