diff options
Diffstat (limited to 'interfaces/kscript/scriptmanager.cpp')
-rw-r--r-- | interfaces/kscript/scriptmanager.cpp | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/interfaces/kscript/scriptmanager.cpp b/interfaces/kscript/scriptmanager.cpp deleted file mode 100644 index 647410b8b..000000000 --- a/interfaces/kscript/scriptmanager.cpp +++ /dev/null @@ -1,132 +0,0 @@ -#include "scriptmanager.h" -#include <kparts/part.h> -#include <kparts/componentfactory.h> -#include <kapplication.h> -#include <kdesktopfile.h> -#include <kstandarddirs.h> - -#include <klocale.h> -#include <kmessagebox.h> -#include <kdebug.h> - -//using namespace KScriptInterface; -class ScriptInfo -{ - public: - TQString scriptType; - TQString scriptFile; - TQString scriptMethod; - ScriptInfo(); - ~ScriptInfo(){} -}; -ScriptInfo::ScriptInfo() -{ - scriptType = ""; - scriptFile = ""; - scriptMethod = ""; -} -KScriptManager::KScriptManager(TQObject *parent, const char *name) : - TQObject(parent,name), KScriptClientInterface() -{ - -} -KScriptManager::~KScriptManager() -{ - m_scripts.setAutoDelete(true); - m_scriptCache.setAutoDelete(true); - -} -bool KScriptManager::addScript( const TQString &scriptDesktopFile) -{ - //m_scriptNames.append(scriptName); - // lets get some information about the script we are going to run... - bool success = false; - TQString tmpScriptType = ""; - TQString tmpScriptFile = ""; - TQString tmpScriptMethod = ""; - // Read the desktop file - - if(KDesktopFile::isDesktopFile(scriptDesktopFile)) - { - KDesktopFile desktop(scriptDesktopFile, true); - m_scripts.insert(desktop.readName(), new ScriptInfo()); - m_scripts[desktop.readName()]->scriptType = desktop.readType(); - TQString localpath = TQString(kapp->name()) + "/scripts/" + desktop.readEntry("X-TDE-ScriptName", ""); - m_scripts[desktop.readName()]->scriptFile = locate("data", localpath); -// m_scripts[desktop.readName()]->scriptMethod = tmpScriptMethod; - success = true; - } - return success; -} -bool KScriptManager::removeScript( const TQString &scriptName ) -{ - bool result = m_scriptCache.remove(scriptName); - result = m_scripts.remove(scriptName); - return result; -} -TQStringList KScriptManager::scripts() -{ - TQDictIterator<ScriptInfo> it( m_scripts ); -// return m_scriptNames; - TQStringList scriptList; - while ( it.current() ) - { - scriptList.append(it.currentKey()); - ++it; - } - return scriptList; -} -void KScriptManager::clear() -{ - m_scriptCache.clear(); - m_scripts.clear(); -} -void KScriptManager::runScript( const TQString &scriptName, TQObject *context, const TQVariant &arg) -{ - ScriptInfo *newScript = m_scripts[scriptName]; - if (newScript) - { - TQString scriptType = "([X-TDE-Script-Runner] == '" + newScript->scriptType + "')"; - kdDebug()<<"running script, type = '"<<scriptType<<"'"<<endl; - // See if the script is already cached... - if ( !m_scriptCache[scriptName] ) - { - // via some magic we will let the old script engine go away after - // some minutes... - // currently i am thinking a TQTimer that will throw a signal in 10 minutes - // to remove m_scriptCache[m_currentScript] - KScriptInterface *ksif = KParts::ComponentFactory::createInstanceFromQuery<KScriptInterface>( "KScriptRunner/KScriptRunner", scriptType, this ); - if ( ksif ) - { - m_scriptCache.insert( scriptName, ksif ); - - } - else - { - KMessageBox::sorry(0, i18n("Unable to get KScript Runner for type \"%1\".").arg(newScript->scriptType), i18n("KScript Error")); - return; - } - } - m_currentScript = scriptName; - - if ( m_scriptCache[m_currentScript] ) - { - m_scriptCache[m_currentScript]->ScriptClientInterface = this; - if (!newScript->scriptMethod.isEmpty()) - m_scriptCache[m_currentScript]->setScript( newScript->scriptFile, newScript->scriptMethod ); - else - m_scriptCache[m_currentScript]->setScript( newScript->scriptFile ); - m_scriptCache[m_currentScript]->run(context, arg); - } - else - { - // Dialog and say we cant go on... - // This is also a broken script so we need to remove it - m_scriptCache.remove(m_currentScript); - } - } - else - KMessageBox::sorry(0, i18n("Unable find script \"%1\".").arg(scriptName), i18n("KScript Error")); -} -#include "scriptmanager.moc" -#include "scriptinterface.moc" |