diff options
author | Darrell Anderson <humanreadable@yahoo.com> | 2013-03-02 15:57:34 -0600 |
---|---|---|
committer | Darrell Anderson <humanreadable@yahoo.com> | 2013-03-02 15:57:34 -0600 |
commit | 7c0b0c9dc9fcbe9c198925bdc7ee18ac6be49f4f (patch) | |
tree | c76702a7f6310fbe9d437e347535422e836e94e9 /interfaces/kscript/scriptmanager.cpp | |
parent | a2a38be7600e2a2c2b49c66902d912ca036a2c0f (diff) | |
parent | 27bbee9a5f9dcda53d8eb23863ee670ad1360e41 (diff) | |
download | tdelibs-7c0b0c9dc9fcbe9c198925bdc7ee18ac6be49f4f.tar.gz tdelibs-7c0b0c9dc9fcbe9c198925bdc7ee18ac6be49f4f.zip |
Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/tdelibs
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" |