[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