<table><tr><td style="">danders added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D18466">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D18466#400507" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D18466#400507</a>, <a href="https://phabricator.kde.org/p/niccolove/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@niccolove</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>I'm not sure on how to do that, do you have any tip?<br />
 openDocumentInternal is called by openDocument, which is called in KoApplication just before checking the arguments. When it sees the print argument, it calls slotFilePrint. openDocumentInternal downloads the document in async. Should it be made not async, or is there another way to make it wait until the other process ends? Also, "slotLoadCanceled" is already implemented, or were you talking about something else?</p></div>
</blockquote>

<p>Well niccolove, you have really put your hand into a bee-hive :)<br />
The answer from anthony can be used as a test to see if the the princip works, but does not address all situations.</p>

<p>The current implementation needs quite a lot of change to work. These are the conditions as I see them:</p>

<ol class="remarkup-list">
<li class="remarkup-list-item">openDocument() initiates loading and returns true if it finds the file, just return false if the file do not exist.</li>
<li class="remarkup-list-item">The actual loading is asynchronous if the file is remote.</li>
<li class="remarkup-list-item">It is possible to specify multiple files to load. (Each file will be shown in it's own main window.)</li>
<li class="remarkup-list-item">For writing to pdf, a file name can be specified on the command line.</li>
</ol>

<p>These are the steps I think is needed:</p>

<ol class="remarkup-list">
<li class="remarkup-list-item">Create slot(s) in KoApplication to handle the different  resullts; print, pdf and cancelled.</li>
<li class="remarkup-list-item">The signal connections must be done before openDocument() is called. (So that local files also works.)</li>
<li class="remarkup-list-item">Add KoDocument as an arg to the KoMainWindow::loadCompleted() signal, so KoApllication knows which dcoument has been loaded.</li>
<li class="remarkup-list-item">For pdf, find a way to handle filename.</li>
</ol></div></div><br /><div><strong>REPOSITORY</strong><div><div>R8 Calligra</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D18466">https://phabricator.kde.org/D18466</a></div></div><br /><div><strong>To: </strong>niccolove, danders<br /><strong>Cc: </strong>anthonyfieroni, boemann, Calligra-Devel-list, dcaliste, cochise, vandenoever<br /></div>