1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/simplescripteditor.cpp Mon Mar 05 23:22:51 2007 +0000
1.3 @@ -0,0 +1,109 @@
1.4 +#include "simplescripteditor.h"
1.5 +
1.6 +
1.7 +#include <QFileDialog>
1.8 +#include <QMessageBox>
1.9 +#include <QTextStream>
1.10 +
1.11 +
1.12 +extern QString vymName;
1.13 +
1.14 +SimpleScriptEditor::SimpleScriptEditor (QWidget *parent):QDialog(parent)
1.15 +{
1.16 + ui.setupUi (this);
1.17 +
1.18 + connect ( ui.loadButton, SIGNAL (clicked() ), this, SLOT (loadScriptClicked() ));
1.19 + connect ( ui.saveButton, SIGNAL (clicked() ), this, SLOT (saveScriptClicked() ));
1.20 + connect ( ui.runButton, SIGNAL (clicked() ), this, SLOT (runScriptClicked() ));
1.21 +}
1.22 +
1.23 +
1.24 +void SimpleScriptEditor::saveScript()
1.25 +{
1.26 + QFile f( filename );
1.27 + if ( !f.open( QIODevice::WriteOnly ) )
1.28 + {
1.29 + return;
1.30 + }
1.31 +
1.32 + QTextStream t( &f );
1.33 + t << ui.editor->text();
1.34 + f.close();
1.35 +}
1.36 +
1.37 +void SimpleScriptEditor::saveScriptClicked()
1.38 +{
1.39 + QString fn = QFileDialog::getSaveFileName(
1.40 + this,
1.41 + QString (vymName + " - " +tr("Save script")),
1.42 + QString (),
1.43 + "VYM script (HTML) (*.vys);;All files (*)",
1.44 + 0,
1.45 + QFileDialog::DontConfirmOverwrite);
1.46 +
1.47 + if ( !fn.isEmpty() )
1.48 + {
1.49 + QFile file (fn);
1.50 + if (file.exists())
1.51 + {
1.52 + QMessageBox mb( vymName,
1.53 + tr("The file %1\nexists already.\nDo you want to overwrite it?","dialog 'save as'").arg(fn),
1.54 + QMessageBox::Warning,
1.55 + QMessageBox::Yes | QMessageBox::Default,
1.56 + QMessageBox::Cancel | QMessageBox::Escape,
1.57 + Qt::NoButton );
1.58 + mb.setButtonText( QMessageBox::Yes, tr("Overwrite") );
1.59 + mb.setButtonText( QMessageBox::No, tr("Cancel"));
1.60 + switch( mb.exec() )
1.61 + {
1.62 + case QMessageBox::Yes:
1.63 + // save
1.64 + filename = fn;
1.65 + saveScript();
1.66 + return;
1.67 + case QMessageBox::Cancel:
1.68 + // do nothing
1.69 + return;
1.70 + }
1.71 + }
1.72 + filename=fn;
1.73 + saveScript();
1.74 + }
1.75 +}
1.76 +
1.77 +void SimpleScriptEditor::loadScriptClicked()
1.78 +{
1.79 + QFileDialog *fd=new QFileDialog( this);
1.80 + QStringList types;
1.81 + types<< "VYM scripts (*.vys)" <<
1.82 + "All (*)" ;
1.83 + fd->setFilters (types);
1.84 + fd->setDirectory (QDir().current());
1.85 + fd->setCaption (vymName + " - " + tr("Load script"));
1.86 + fd->show();
1.87 + QString fn;
1.88 + if ( fd->exec() == QDialog::Accepted )
1.89 + fn = fd->selectedFile();
1.90 +
1.91 + if ( !fn.isEmpty() )
1.92 + {
1.93 + QFile f( fn );
1.94 + if ( !f.open( QIODevice::ReadOnly ) )
1.95 + {
1.96 + QMessageBox::warning(0,
1.97 + tr("Error"),
1.98 + tr("Couldn't open %1.\n").arg(fn));
1.99 + return;
1.100 + }
1.101 +
1.102 + QTextStream ts( &f );
1.103 + ui.editor->setText( ts.read() );
1.104 + f.close();
1.105 + }
1.106 +
1.107 +}
1.108 +
1.109 +void SimpleScriptEditor::runScriptClicked()
1.110 +{
1.111 + emit runScript (ui.editor->text() );
1.112 +}