[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdebindings/kjsembed/kscript
From: Ian Reinhart Geiser <geiseri () kde ! org>
Date: 2005-02-21 14:04:15
Message-ID: 20050221140415.AD1A718862 () office ! kde ! org
[Download RAW message or body]
CVS commit by geiseri:
dont drop messages that go back to the client app.
dont repubish the appID, second time around it gets hozed.
M +30 -15 javascript.cpp 1.4
M +10 -0 javascript.h 1.2
--- kdebindings/kjsembed/kscript/javascript.cpp #1.3:1.4
@@ -32,26 +32,25 @@ typedef KGenericFactory<JavaScript, KScr
K_EXPORT_COMPONENT_FACTORY( libjavascript, JavaScriptFactory( "JavaScript" ) )
-JavaScript::JavaScript(KScriptClientInterface *parent, const char *, const QStringList &args )
+JavaScript::JavaScript(KScriptClientInterface *parent, const char *name, const QStringList &args )
{
- kdDebug() << "Load kscript" << endl;
ScriptClientInterface = parent;
- m_jsembed = new KJSEmbed::KJSEmbedPart(0, "kjsembed_part", this,"JSEmbed");
+ m_jsembed = new KJSEmbed::KJSEmbedPart(this, "kjsembed_part");
m_scriptLoc = ""; // arg1?
m_method = ""; // arg2?
+ m_jsembed->addObject( this, "KScriptInterface");
+ m_jsembed->addObject( m_jsembed->view(), "console" );
}
JavaScript::~JavaScript()
{
- kdDebug() << "Script goes away" << endl;
}
QString JavaScript::script() const
{
- return "";
+ return m_scriptLoc;
}
void JavaScript::setScript( const QString &scriptFile )
{
- kdDebug() << "Set script " << scriptFile << endl;
m_scriptLoc = scriptFile;
}
@@ -59,5 +58,4 @@ void JavaScript::setScript( const QStrin
void JavaScript::setScript( const QString &scriptFile, const QString &method )
{
- kdDebug() << "Set script " << scriptFile << " and method " << method << endl;
m_scriptLoc = scriptFile;
m_method = method;
@@ -67,13 +65,7 @@ void JavaScript::run(QObject *context, c
{
QVariant retVal;
- kdDebug() << "start run" << endl;
if( context ) m_jsembed->addObject(context);
- kdDebug() << "add context" << endl;
-
- m_jsembed->putValue("appID",KJS::String( kapp->dcopClient()->appId().data() ));
- kdDebug() << "add value" << endl;
m_jsembed->runFile(m_scriptLoc, m_jsembed->globalObject() );
- kdDebug() << "Run script" << endl;
if( !m_method.isEmpty() )
@@ -85,5 +77,29 @@ void JavaScript::run(QObject *context, c
}
ScriptClientInterface->done(KScriptClientInterface::ResultSuccess, retVal);
+}
+void JavaScript::writeLine( const QString &msg )
+{
+ ScriptClientInterface->output(msg);
+}
+
+void JavaScript::writeWarning( const QString &msg )
+{
+ ScriptClientInterface->warning(msg);
+}
+
+void JavaScript::writeError( const QString &msg )
+{
+ ScriptClientInterface->error(msg);
+}
+
+void JavaScript::setProgress( int percent )
+{
+ ScriptClientInterface->progress(percent);
+}
+
+QString JavaScript::appID() const
+{
+ return kapp->dcopClient()->appId();
}
--- kdebindings/kjsembed/kscript/javascript.h #1.1:1.2
@@ -32,4 +32,6 @@ class JavaScript : public KScriptInterf
{
Q_OBJECT
+ Q_PROPERTY( QString appID READ appID )
+
public:
JavaScript(KScriptClientInterface *parent, const char *name, const QStringList &args);
@@ -41,4 +43,12 @@ public:
void kill();
+ QString appID() const;
+
+public slots:
+ void writeLine( const QString &msg );
+ void writeWarning( const QString &msg );
+ void writeError( const QString &msg );
+ void setProgress( int percent );
+
private:
KScriptClientInterface *ScriptClientInterface;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic