History

- Scripts JS object renamed to ScriptDiscoveryService. - Renamed Example script file for the ScriptDiscoveryService. - Moved ScriptDiscoveryService functions to the RunningScriptWidget

Thijs Wenker committed 11 years ago

Commit 0cb5ee51 parent af34add6 files · +82 −129Browse files

Showing the changes to interface/src/ui/RunningScriptsWidget.cpp (1 of 6 files). Show all

Unified · Split

interface/src/ui/RunningScriptsWidget.cpp+71−0
@@ -210,3 +210,74 @@ void RunningScriptsWidget::scriptStopped(const QString& scriptName) { · 209 unmodified lines
210210 void RunningScriptsWidget::allScriptsStopped() {
211211 Application::getInstance()->stopAllScripts();
212212 }
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+}