<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/108895/">http://git.reviewboard.kde.org/r/108895/</a>
     </td>
    </tr>
   </table>
   <br />











<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/108895/diff/1/?file=113522#file113522line113" style="color: black; font-weight: bold; text-decoration: underline;">KTp/Declarative/base.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">113</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="kt">void</span> <span class="n">TelepathyBase</span><span class="o">::</span><span class="n">setFeaturesForTextChats</span><span class="p">(</span><span class="kt">bool</span> <span class="n">setFeatures</span><span class="p">)</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Here we should kWarning or smth if it's already constructed, since a change won't have any effect.</pre>
</div>
<br />



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I think it's some interesting work.

>From my point of view, there's little point in exposing managers to QML. That's especially bad because once we grow, we'll want to be able to put a ContactsModel {} wherever we want without having to initialize different manager instances or having to pass the pointer from a component to the other.

I guess it's necessary to explicitly declare the KTp.Base {} instance to define the features that will be used, but also it would be interesting not to make this link specific. A way to do that would be to create a singleton that can create different sets of account managers.

But maybe that's too complex and we can simply go with this. After all the very relaxed naming scopes in QML could be benefitial in this case, and we could have as much of those we want:

Ktp.ContactModel { accountManager: tpController.accountManager }

Although avoiding it could make room for some interesting optimizations in the future.

I hope that helps...</pre>

<p>- Aleix</p>


<br />
<p>On February 11th, 2013, 12:37 a.m. UTC, David Edmundson wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Telepathy.</div>
<div>By David Edmundson.</div>


<p style="color: grey;"><i>Updated Feb. 11, 2013, 12:37 a.m.</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;">Tidy QML Plugins

Remove our own declarative ContactsModel class, and simply expose KTp::CommonInternals

Create a new QML class that can act as the AccountManager. 
This can then be passed to anything that needs it (the ContactsModel and GlobalPresence and the ConversationsModel/TextObserver)

See part 2/2 for how it works in practice</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>KTp/Declarative/qml-plugins.cpp <span style="color: grey">(bd2a92717489af3ddb4cdc5b6413a2caaf307e92)</span></li>

 <li>KTp/Models/contacts-list-model.cpp <span style="color: grey">(dfa32870ea501c84bd15c3d2f0df78ef0e501da0)</span></li>

 <li>KTp/Models/contacts-model.h <span style="color: grey">(7e91e155a205b5c9dab24470a0e10ef63a087ea6)</span></li>

 <li>KTp/Declarative/base.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>KTp/Declarative/contact-list.h <span style="color: grey">(a59814490fd0dc3407e1f6a45266de7e6d89149c)</span></li>

 <li>KTp/Declarative/contact-list.cpp <span style="color: grey">(9e05d5c964ace0b6ee657edad6ecd99d0e823ce1)</span></li>

 <li>KTp/Declarative/CMakeLists.txt <span style="color: grey">(f42252d4fd2d3a7d5d23cd9de110e251a79e4170)</span></li>

 <li>KTp/Declarative/base.h <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/108895/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>