<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 19, 2014 at 6:55 PM, Sandro Santilli <span dir="ltr"><<a href="mailto:strk@keybit.net" target="_blank">strk@keybit.net</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br></div></div>
  Qt::ItemFlags flags = model->flags( QModelIndex() );<br>
  Q_ASSERT( flags == Qt::ItemIsDropEnabled || flags == 0 );<br>
<br>
The test checks that the flag for an invalid index can only<br>
be 0 or Qt::ItemIsDropEnabled. Instead QgsLayerTreeModel includes<br>
ItemIsSelectable and ItemIsEnabled in the flags:<br>
<br>
  if ( !index.isValid() )<br>
  {<br>
    Qt::ItemFlags rootFlags = Qt::ItemIsEnabled | Qt::ItemIsSelectable;<br>
    if ( testFlag( AllowNodeReorder ) )<br>
      rootFlags |= Qt::ItemIsDropEnabled;<br>
    return rootFlags;<br>
  }<br>
<br>
What's the rationale for adding those two flags ?<br>
I've tested that initializing ti to 0 and adding the dropEnabled<br>
based on AllowNodeReorder passes the test.</blockquote><div><br></div><div>I don't think there was any particular reason for that - just an omission I would say (adding those flags for invalid index obviously does not make any harm besides not being 100% correct).</div><div><br></div><div>Cheers</div><div>Martin</div><div><br></div></div></div></div>