Showing the changes to interface/src/ui/RunningScriptsWidget.cpp (1 of 6 files). Show all
Unified · Split
| @@ -210,3 +210,74 @@ void RunningScriptsWidget::scriptStopped(const QString& scriptName) { · 209 unmodified lines | |||
| 210 | void RunningScriptsWidget::allScriptsStopped() { | 210 | void RunningScriptsWidget::allScriptsStopped() { |
| 211 | Application::getInstance()->stopAllScripts(); | 211 | Application::getInstance()->stopAllScripts(); |
| 212 | } | 212 | } |
| 213 | |||
| 214 | QVariantList RunningScriptsWidget::getRunning() { | ||
| 215 | const int WINDOWS_DRIVE_LETTER_SIZE = 1; | ||
| 216 | QVariantList result; | ||
| 217 | QStringList runningScripts = Application::getInstance()->getRunningScripts(); | ||
| 218 | for (int i = 0; i < runningScripts.size(); i++) { | ||
| 219 | QUrl runningScriptURL = QUrl(runningScripts.at(i)); | ||
| 220 | if (runningScriptURL.scheme().size() <= WINDOWS_DRIVE_LETTER_SIZE) { | ||
| 221 | runningScriptURL = QUrl::fromLocalFile(runningScriptURL.toDisplayString(QUrl::FormattingOptions(QUrl::FullyEncoded))); | ||
| 222 | } | ||
| 223 | QVariantMap resultNode; | ||
| 224 | resultNode.insert("name", runningScriptURL.fileName()); | ||
| 225 | resultNode.insert("url", runningScriptURL.toDisplayString(QUrl::FormattingOptions(QUrl::FullyEncoded))); | ||
| 226 | resultNode.insert("local", runningScriptURL.isLocalFile()); | ||
| 227 | result.append(resultNode); | ||
| 228 | } | ||
| 229 | return result; | ||
| 230 | } | ||
| 231 | |||
| 232 | QVariantList RunningScriptsWidget::getPublic() { | ||
| 233 | return getPublicChildNodes(NULL); | ||
| 234 | } | ||
| 235 | |||
| 236 | QVariantList RunningScriptsWidget::getPublicChildNodes(TreeNodeFolder* parent) { | ||
| 237 | QVariantList result; | ||
| 238 | QList<TreeNodeBase*> treeNodes = Application::getInstance()->getRunningScriptsWidget()->getScriptsModel() | ||
| 239 | ->getFolderNodes(parent); | ||
| 240 | for (int i = 0; i < treeNodes.size(); i++) { | ||
| 241 | TreeNodeBase* node = treeNodes.at(i); | ||
| 242 | if (node->getType() == TREE_NODE_TYPE_FOLDER) { | ||
| 243 | TreeNodeFolder* folder = static_cast<TreeNodeFolder*>(node); | ||
| 244 | QVariantMap resultNode; | ||
| 245 | resultNode.insert("name", node->getName()); | ||
| 246 | resultNode.insert("type", "folder"); | ||
| 247 | resultNode.insert("children", getPublicChildNodes(folder)); | ||
| 248 | result.append(resultNode); | ||
| 249 | continue; | ||
| 250 | } | ||
| 251 | TreeNodeScript* script = static_cast<TreeNodeScript*>(node); | ||
| 252 | if (script->getOrigin() == ScriptOrigin::SCRIPT_ORIGIN_LOCAL) { | ||
| 253 | continue; | ||
| 254 | } | ||
| 255 | QVariantMap resultNode; | ||
| 256 | resultNode.insert("name", node->getName()); | ||
| 257 | resultNode.insert("type", "script"); | ||
| 258 | resultNode.insert("url", script->getFullPath()); | ||
| 259 | result.append(resultNode); | ||
| 260 | } | ||
| 261 | return result; | ||
| 262 | } | ||
| 263 | |||
| 264 | QVariantList RunningScriptsWidget::getLocal() { | ||
| 265 | QVariantList result; | ||
| 266 | QList<TreeNodeBase*> treeNodes = Application::getInstance()->getRunningScriptsWidget()->getScriptsModel() | ||
| 267 | ->getFolderNodes(NULL); | ||
| 268 | for (int i = 0; i < treeNodes.size(); i++) { | ||
| 269 | TreeNodeBase* node = treeNodes.at(i); | ||
| 270 | if (node->getType() != TREE_NODE_TYPE_SCRIPT) { | ||
| 271 | continue; | ||
| 272 | } | ||
| 273 | TreeNodeScript* script = static_cast<TreeNodeScript*>(node); | ||
| 274 | if (script->getOrigin() != ScriptOrigin::SCRIPT_ORIGIN_LOCAL) { | ||
| 275 | continue; | ||
| 276 | } | ||
| 277 | QVariantMap resultNode; | ||
| 278 | resultNode.insert("name", node->getName()); | ||
| 279 | resultNode.insert("path", script->getFullPath()); | ||
| 280 | result.append(resultNode); | ||
| 281 | } | ||
| 282 | return result; | ||
| 283 | } | ||