#include <iostream>
#include <boost/filesystem/path.hpp>
+#include <boost/filesystem/operations.hpp>
namespace fs = boost::filesystem;
#include <boost/bind.hpp>
connect(createSubAnalysisAction, SIGNAL(triggered()),
this, SLOT(createSubAnalysis()));
+ saveAnalysisAction = new QAction(tr("Save Analysis"), this);
+ connect(saveAnalysisAction, SIGNAL(triggered()),
+ this, SLOT(saveAnalysis()));
+
editMotifsAction = new QAction(tr("Edit Motifs"), this);;
connect(editMotifsAction, SIGNAL(triggered()), this, SLOT(editMotifs()));
newMenu->addAction(createNewAnalysisAction);
newMenu->addAction(loadMupaAction);
newMenu->addAction(loadSavedAnalysisAction);
+ newMenu->addAction(saveAnalysisAction);
newMenu->addSeparator();
newMenu->addAction(loadMotifListAction);
newMenu->addAction(saveMotifListAction);
}
}
+void MussaWindow::saveAnalysis()
+{
+ std::auto_ptr<QFileDialog> dialog(new QFileDialog(this));
+ dialog->setAcceptMode(QFileDialog::AcceptSave);
+ dialog->setFileMode(QFileDialog::AnyFile);
+
+ QStringList fileNames;
+ if (not dialog->exec()) {
+ return;
+ }
+ fileNames = dialog->selectedFiles();
+
+ if (fileNames.size() != 1) {
+ return;
+ }
+
+ fs::path save_path(fileNames[0].toStdString());
+ // do you want to overwrite?
+ if (fs::exists(save_path) and
+ QMessageBox::question(
+ this,
+ tr("Overwrite File? -- Mussa"),
+ tr("A file called %1 already exists"
+ "do you want to overwrite it?")
+ .arg(fileNames[0]),
+ tr("&Yes"), tr("&No"),
+ QString(), 0, 1)
+ ) {
+ return;
+ }
+ analysis->save(save_path);
+}
+
void MussaWindow::editMotifs()
{
if (motif_editor != 0) {
void createNewAnalysis();
//! launch a sub analysis
void createSubAnalysis();
+ //! save an analysis
+ void saveAnalysis();
//\@}
//! \defgroup MotifHandling Handling of motif lists
QAction *closeAction;
QAction *createNewAnalysisAction;
QAction *createSubAnalysisAction;
+ QAction *saveAnalysisAction;
QAction *editMotifsAction;
QAction *loadMotifListAction;
QAction *loadMupaAction;