Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/script/scriptstudio.cpp

Go to the documentation of this file.
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 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines