![]() |
Mixxx
|
00001 #include "scriptstudio.h" 00002 00003 #include <QDir> 00004 #include <QDirModel> 00005 00006 ScriptStudio::ScriptStudio(ScriptEngine *eng) : QMainWindow(), Ui::ScriptStudio(), m_eng(eng) { 00007 setupUi(this); 00008 00009 connect(actionRun_Macro, SIGNAL(triggered()), this, SLOT(runPressed())); 00010 connect(actionImport, SIGNAL(triggered()), this, SLOT(importScript())); 00011 connect(actionExport, SIGNAL(triggered()), this, SLOT(exportScript())); 00012 } 00013 00014 void ScriptStudio::showStudio() { 00015 fillTree(); 00016 00017 this->setVisible(true); 00018 } 00019 00020 #define MIXXXMACRODIR "mixxxmacros" 00021 00022 void ScriptStudio::fillTree() { 00023 QString path = QDir::home().QDir::homePath().append("/").append(SETTINGS_PATH).append(MIXXXMACRODIR); 00024 QDir topdir(path); 00025 if (!topdir.exists()) { 00026 QDir().mkdir(path); 00027 } 00028 00029 QDirModel *model = new QDirModel(); 00030 treeView->setModel(model); 00031 treeView->setRootIndex(model->index(path)); 00032 } 00033 00034 void ScriptStudio::runPressed() { 00035 m_eng->executeMacro(new Macro(Macro::LANG_QTSCRIPT, "Macro", textEdit->toPlainText())); 00036 } 00037 00038 void ScriptStudio::importScript() { 00039 QString filename = QFileDialog::getOpenFileName(this, "Select a macro...", QDir::home().QDir::homePath().append("/").append(SETTINGS_PATH).append(MIXXXMACRODIR), MIXXX_SCRIPT_NAMEFILTER); 00040 QFile file(filename); 00041 if (file.open(QFile::ReadWrite)) 00042 { 00043 QTextStream stream(&file); 00044 textEdit->setPlainText(stream.readAll()); //FIXME: Why doesn't this work? 00045 } 00046 else 00047 QMessageBox::critical(this, "Script Import Error", "Failed to open the selected file."); 00048 } 00049 00050 void ScriptStudio::exportScript() { 00051 qDebug() << "FIXME: ScriptStudio::exportScript() unimplemented in" << __FILE__ << "on line" << __LINE__; 00052 } 00053 00054