<br><br><div class="gmail_quote">2011/4/4 David Edmundson <span dir="ltr">&lt;<a href="mailto:david@davidedmundson.co.uk">david@davidedmundson.co.uk</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

In our first release of KDE Telepathy I want to have support of file transfers.<div><br></div><div>I think it makes sense to use as much as possible from the KJobs (AcceptFileTransfer/OfferFileTransfer) that someone (Dario?/DrDanz?) has written in telepathy-kde (the lib)</div>


<div><br></div><div>This leads to a few questions:</div><div><br></div><div>1) Which app should handle accepting an incoming file? </div><div>the approver?</div><div><br></div><div>2) Are we still going to ship telepathy-kde in the non-nepomuk release? </div>


<div><br></div><div>If so does anyone object to to modifying the jobs to the following:</div><div><span style="border-collapse:collapse;color:rgb(34, 34, 34);font-family:&#39;Droid Sans&#39;, &#39;Liberation Sans&#39;, &#39;Bitstream Vera Sans&#39;, sans-serif;font-size:14px;line-height:16px"><pre style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;font-size:11px;vertical-align:baseline;background-color:transparent;white-space:pre-wrap;background-repeat:initial initial">

  OfferFileTransferJob(<span style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;font-size:11px;vertical-align:baseline;background-color:transparent;color:rgb(0, 136, 136);font-weight:bold;background-repeat:initial initial">const</span> Nepomuk::PersonContact&amp; contact, QString filename, QObject* parent = <span style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;font-size:11px;vertical-align:baseline;background-color:transparent;color:rgb(0, 0, 221);font-weight:bold;background-repeat:initial initial">0</span>);</pre>


<pre style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;font-size:11px;vertical-align:baseline;background-color:transparent;white-space:pre-wrap;background-repeat:initial initial">

<span style="font-family:&#39;Droid Sans&#39;, &#39;Liberation Sans&#39;, &#39;Bitstream Vera Sans&#39;, sans-serif;font-size:14px;white-space:normal"><pre style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;font-size:11px;vertical-align:baseline;background-color:transparent;white-space:pre-wrap;background-repeat:initial initial">

  OfferFileTransferJob(<span style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;font-size:11px;vertical-align:baseline;background-color:transparent;color:rgb(0, 136, 136);font-weight:bold;background-repeat:initial initial">const</span> Nepomuk::Person&amp; metacontact, QString filename, QObject* parent = <span style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;font-size:11px;vertical-align:baseline;background-color:transparent;color:rgb(0, 0, 221);font-weight:bold;background-repeat:initial initial">0</span>)</pre>


<pre style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;font-size:11px;vertical-align:baseline;background-color:transparent;white-space:pre-wrap;background-repeat:initial initial">

+ OfferFileTransferJob(<span style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;font-size:11px;vertical-align:baseline;background-color:transparent;color:rgb(0, 136, 136);font-weight:bold">const</span> Tp::ContactPtr&amp; contact, QString filename, QObject* parent = <span style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;font-size:11px;vertical-align:baseline;background-color:transparent;color:rgb(0, 0, 221);font-weight:bold">0</span>) &lt;- this line would be new</pre>


</span></pre></span><div><br></div><div>The first one would call the second one which would call the third one (in the internal private slots). To me it makes sense to read the flow of things, and exposes our jobs to every layer without any code duplication. This release we use the direct telepathy call, then in the future we use the two nepomuk ones as appropriate. </div>


<div><br></div><div>OR</div><div><br></div><div>Shall I make a new library just for this release which just copies and pastes code about from these classes (stripping out to be just the parts we want this time)</div><div>


<br></div><div>OR</div><div><br></div><div>Copy the KJobs (stripping out to be just the parts we want this release) into each app using it (a lot of code duplication, but it&#39;s only a prototype.)</div><div><br></div><div>


OR</div><div><br></div><div>Not use the lovely KJobs and handle it all ourselves in the relevant app (which sounds like more work)</div><div><br></div><div>OR </div><div><br></div><div>Something else that I haven&#39;t thought of.</div>


<div><div><br></div></div></div><div>3) If I did get the jobs/a nice lib, I&#39;d quite like to go for making it integrate into dolphin (service menu) as well as being in the contact list like DrDanz has demoed in the past. It helps show what telepathy is all about, and how it&#39;s more than just being a monolithic IM app. It should be damn easy to write with the jobs mostly pre-written and me able to use the accounts model with a tiny tweak in the AccountFilter from the contact list. Any thoughts/objections?</div>

</blockquote><div><br></div><div>I&#39;d help you with the Dolphin integration. I have this idea for some time now. Also the Contact List is prepared for file transfers as well (there is an overlay icon for that). The downside is, that I see the file transfer capability with only few contacts. And the Telepathy protocols file transfer support is not that great either (only XMPP if I&#39;m not mistaken).</div>

<div><br></div><div>Marty</div></div>