<p dir="ltr">My use case is in a mobile app without a Kexi main window ;)... Just wondering what is the best approach. At the moment I'm not sure i can create a qml component that is also a keximainwindowiface....I need to look into this.</p>
<br><div class="gmail_quote"><div dir="ltr">On Mon, 3 Apr 2017, 13:14 Jaroslaw Staniek, <<a href="mailto:staniek@kde.org">staniek@kde.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_default gmail_msg" style="font-family:monospace,monospace;font-size:small"><br class="gmail_msg">Adam,<br class="gmail_msg">Sorry for delay, I was a bit outside this weekend.<br class="gmail_msg"><br class="gmail_msg">There's KexiMainWindow::openProject() and then as you supposed:<br class="gmail_msg">-> createKexiProjectObject(projectData)<br class="gmail_msg">  -> new KexiProject(data, this)<br class="gmail_msg"><br class="gmail_msg">- then KexiProject::open()<br class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_default gmail_msg" style="font-family:monospace,monospace;font-size:small">and <br class="gmail_msg"></div><div class="gmail_default gmail_msg" style="font-family:monospace,monospace;font-size:small">-> call KexiDBPasswordDialog::getPasswordIfNeeded()<br class="gmail_msg"></div><div class="gmail_default gmail_msg" style="font-family:monospace,monospace;font-size:small">-> (async) KexiMainWindow::slotAutoOpenObjectsLater()<br class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_default gmail_msg" 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 class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_default gmail_msg" 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::testGlobalSearch() too.<br class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_default gmail_msg" style="font-family:monospace,monospace;font-size:small">Maybe step-by-step in debugger would help you to understand the call hierarchy.<br class="gmail_msg"></div><div class="gmail_default gmail_msg" 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 class="gmail_msg"></div><div class="gmail_extra gmail_msg"></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg">On 2 April 2017 at 21:28, Adam Pigg <span dir="ltr" class="gmail_msg"><<a href="mailto:adam@piggz.co.uk" class="gmail_msg" target="_blank">adam@piggz.co.uk</a>></span> wrote:<br class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg">Jaroslaw,<div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Are there any helper methods to get a KexiProject object from just a .kexi file?  If not, is the procedure to create:</div><div class="gmail_msg">a driver</div><div class="gmail_msg">a kdbconnectiondata</div><div class="gmail_msg">a kdbconnection</div><div class="gmail_msg">a kexiprojectdata</div><div class="gmail_msg">a kexiproject</div><div class="gmail_msg">?</div></div>
</blockquote></div><br class="gmail_msg"><br clear="all" class="gmail_msg"><br class="gmail_msg"></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg">-- <br class="gmail_msg"><div class="m_4049619234502773703m_2783287064152008370gmail_signature gmail_msg" data-smartmail="gmail_signature">regards, Jaroslaw Staniek<br class="gmail_msg"><br class="gmail_msg">KDE:<br class="gmail_msg">: A world-wide network of software engineers, artists, writers, translators<br class="gmail_msg">: and facilitators committed to Free Software development - <a href="http://kde.org" class="gmail_msg" target="_blank">http://kde.org</a><br class="gmail_msg">Calligra Suite:<br class="gmail_msg">: A graphic art and office suite - <a href="http://calligra.org" class="gmail_msg" target="_blank">http://calligra.org</a><br class="gmail_msg">Kexi:<br class="gmail_msg">: A visual database apps builder - <a href="http://calligra.org/kexi" class="gmail_msg" target="_blank">http://calligra.org/kexi</a><br class="gmail_msg">Qt Certified Specialist:<br class="gmail_msg">: <a href="http://www.linkedin.com/in/jstaniek" class="gmail_msg" target="_blank">http://www.linkedin.com/in/jstaniek</a></div>
</div></div></blockquote></div>