<div dir="ltr"><br><br><div class="gmail_quote">2008/9/11 Petri Damstén <span dir="ltr">&lt;<a href="mailto:petri.damsten@gmail.com">petri.damsten@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
<br>
I have been playing with webkit AppletScript. There is a small example<br>
(webkit/code/test.html) using plasma dataengines so I have added more<br>
functions (init(), engine.connectSource(), etc.) and plasma package support so<br>
it looks more like a normal plasma applet.<br>
<br>
Applets connect to apply &amp; ok to know when user accepted config, but if<br>
AppletScript uses configxml there seems to be no way to do that? Maybe<br>
configAccepted signal in applet? I guess this could be good for Applets too so<br>
they don&#39;t have to rely parent to have ok/apply.</blockquote>The biggest problem with using configxml with script engine based applets is in this code where it tests &#39;if (d-&gt;script) {&#39; and then leaves early. I&#39;ve no idea what script engine applets would want to do that is different from a normal applet as the whole point of configxml is that it is a sort of &#39;fire and forget&#39; api that doesn&#39;t actually need any programmer intervention to use.<br>
<br>&nbsp;&nbsp;&nbsp; if (d-&gt;package &amp;&amp; d-&gt;configXml) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QString uiFile = d-&gt;package-&gt;filePath(&quot;mainconfigui&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (uiFile.isEmpty()) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KConfigDialog *dialog = new KConfigDialog(0, dialogId, d-&gt;configXml);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dialog-&gt;setWindowTitle(windowTitle);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dialog-&gt;setAttribute(Qt::WA_DeleteOnClose, true);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QUiLoader loader;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QFile f(uiFile);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!f.open(QIODevice::ReadOnly)) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delete dialog;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (d-&gt;script) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d-&gt;script-&gt;showConfigurationInterface();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QWidget *w = loader.load(&amp;f);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.close();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dialog-&gt;addPage(w, i18n(&quot;Settings&quot;), icon(), i18n(&quot;%1 Settings&quot;, name()));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dialog-&gt;show();<br>&nbsp;&nbsp;&nbsp; } else if (d-&gt;script) {<br><br>-- Richard<br></div>
<br></div>