|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#include "columncommand.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "toonzqt/menubarcommand.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "tmsgcore.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "tfilepath.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "tapp.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/tscenehandle.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/tproject.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/toonzscene.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/toonzfolders.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "filebrowserpopup.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "floatingpanelcommand.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "scriptconsolepanel.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "tsystem.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#include <qfiledialog></qfiledialog>
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
d1f6c4 |
class RunScriptCommand final : public MenuItemHandler {
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
RunScriptCommand() : MenuItemHandler("MI_RunScript") {}
|
|
Shinya Kitaoka |
473e70 |
void execute() override;
|
|
Toshihiro Shimizu |
890ddd |
} runScriptCommand;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void RunScriptCommand::execute() {
|
|
Shinya Kitaoka |
120a6e |
static GenericLoadFilePopup *popup = 0;
|
|
Shinya Kitaoka |
120a6e |
if (popup == 0) {
|
|
Shinya Kitaoka |
120a6e |
popup = new GenericLoadFilePopup(QObject::tr("Run script"));
|
|
Shinya Kitaoka |
120a6e |
TFilePath fp = ToonzFolder::getLibraryFolder() + "scripts";
|
|
Shinya Kitaoka |
120a6e |
TFileStatus fpStatus(fp);
|
|
Shinya Kitaoka |
120a6e |
if (!fpStatus.doesExist() || !fpStatus.isDirectory())
|
|
Shinya Kitaoka |
120a6e |
fp = ToonzFolder::getLibraryFolder();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
QStringList types;
|
|
Shinya Kitaoka |
120a6e |
types << "qs"
|
|
Shinya Kitaoka |
120a6e |
<< "js"
|
|
Shinya Kitaoka |
120a6e |
<< "txt"
|
|
Shinya Kitaoka |
120a6e |
<< "toonzscript";
|
|
Shinya Kitaoka |
120a6e |
popup->setFilterTypes(types);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
popup->setFolder(fp);
|
|
Shinya Kitaoka |
120a6e |
}
|
|
Shinya Kitaoka |
120a6e |
TFilePath fp = popup->getPath();
|
|
Shinya Kitaoka |
120a6e |
if (fp == TFilePath()) return;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
TPanel *panel = OpenFloatingPanel::getOrOpenFloatingPanel("ScriptConsole");
|
|
Shinya Kitaoka |
120a6e |
if (!panel) return;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
ScriptConsolePanel *scriptConsolePanel =
|
|
Shinya Kitaoka |
120a6e |
dynamic_cast<scriptconsolepanel *="">(panel);</scriptconsolepanel>
|
|
Shinya Kitaoka |
120a6e |
if (!scriptConsolePanel) return;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
QString s = QString::fromStdWString(fp.getWideString());
|
|
Shinya Kitaoka |
120a6e |
s = s.replace("\\", "\\\\").replace("\"", "\\\"");
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
QString cmd = QString("run(\"%1\")").arg(s);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
scriptConsolePanel->executeCommand(cmd);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
/*
|
|
Shinya Kitaoka |
120a6e |
TFilePath projectFolder =
|
|
Shinya Kitaoka |
120a6e |
TApp::instance()->getCurrentScene()->getScene()->getProject()->getProjectFolder();
|
|
Shinya Kitaoka |
120a6e |
QString fileNameStr = QFileDialog::getSaveFileName(0,"","c:\\"); // ,
|
|
Shinya Kitaoka |
120a6e |
// QObject::tr("Save Motion Path"),
|
|
Shinya Kitaoka |
120a6e |
QString::fromStdWString(projectFolder.getWideString()),
|
|
Shinya Kitaoka |
120a6e |
// QObject::tr("Motion Path files (*.mpath)"));
|
|
Shinya Kitaoka |
120a6e |
if(fileNameStr == "") return;
|
|
Shinya Kitaoka |
120a6e |
TFilePath fp(fileNameStr.toStdWString());
|
|
Shinya Kitaoka |
120a6e |
if(fp.getType()=="") fp = fp.withType("mpath");
|
|
Shinya Kitaoka |
120a6e |
*/
|
|
Toshihiro Shimizu |
890ddd |
}
|