<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace;font-size:small"><br>Adam,<br>Sorry for delay, I was a bit outside this weekend.<br><br>There's KexiMainWindow::openProject() and then as you supposed:<br>-> createKexiProjectObject(<wbr>projectData)<br>  -> new KexiProject(data, this)<br><br>- then KexiProject::open()<br><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">and <br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">-> call KexiDBPasswordDialog::<wbr>getPasswordIfNeeded()<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">-> (async) KexiMainWindow::<wbr>slotAutoOpenObjectsLater()<br><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">There's no single atomic method because we're have potentially interactive tasks to do: 1. get the password before connecting 2. auto-opening startup objects<br><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">If this helps, KexiMainWindow::create is the top level function and is made for use outside of the regular kexi binary -- it's used in GlobalSearchTest::<wbr>testGlobalSearch() too.<br><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">Maybe step-by-step in debugger would help you to understand the call hierarchy.<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">It's not too easy because we're dynamically deciding what to do (opening a project or migrate or do something else).<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 2 April 2017 at 21:28, Adam Pigg <span dir="ltr"><<a href="mailto:adam@piggz.co.uk" target="_blank">adam@piggz.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Jaroslaw,<div><br></div><div>Are there any helper methods to get a KexiProject object from just a .kexi file?  If not, is the procedure to create:</div><div>a driver</div><div>a kdbconnectiondata</div><div>a kdbconnection</div><div>a kexiprojectdata</div><div>a kexiproject</div><div>?</div></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="m_2783287064152008370gmail_signature" data-smartmail="gmail_signature">regards, Jaroslaw Staniek<br><br>KDE:<br>: A world-wide network of software engineers, artists, writers, translators<br>: and facilitators committed to Free Software development - <a href="http://kde.org" target="_blank">http://kde.org</a><br>Calligra Suite:<br>: A graphic art and office suite - <a href="http://calligra.org" target="_blank">http://calligra.org</a><br>Kexi:<br>: A visual database apps builder - <a href="http://calligra.org/kexi" target="_blank">http://calligra.org/kexi</a><br>Qt Certified Specialist:<br>: <a href="http://www.linkedin.com/in/jstaniek" target="_blank">http://www.linkedin.com/in/<wbr>jstaniek</a></div>
</div></div>