MussaSetupDialog remembers previous load directory
[mussa.git] / qui / mussa_setup_dialog / SequenceSetupWidget.cpp
index fe8907735b02570232934544243badc1b03cf0c4..aa47bbd27b6c789939af76165565d9427beff48f 100644 (file)
@@ -6,17 +6,21 @@
 #include <QPushButton>
 
 #include "qui/mussa_setup_dialog/SequenceSetupWidget.hpp"
+#include "qui/mussa_setup_dialog/SequenceSetupFrame.hpp"
 
-
-SequenceSetupWidget::SequenceSetupWidget(QWidget *parent) :
-  QWidget(parent), 
+SequenceSetupWidget::SequenceSetupWidget(SequenceSetupFrame *setupFrame_,
+                                         QWidget *parent) :
+  QWidget(parent),
   sequenceNameEdit(0),
   sequenceLineEdit(0), 
   annotLineEdit(0),
   fastaIndexLineEdit(0),
   seqStartLineEdit(0),
-  seqStopLineEdit(0)
+  seqStopLineEdit(0),
+  setupFrame(setupFrame_)
 {
+  // we really need the setupFrame, so lets declair that requirement
+  assert(setupFrame != 0);
 
   sequenceNameEdit = new QLineEdit;
   QLabel *sequenceNameLabel = new QLabel(tr("Sequence name:"));
@@ -116,26 +120,30 @@ int SequenceSetupWidget::getFastaIndex() const
 
 void SequenceSetupWidget::promptForFastaFile()
 {
+  QString default_dir = setupFrame->get_default_dir().absolutePath();
   QString fastaFilePath = QFileDialog::getOpenFileName(this,
                                               "Choose a fasta file",
-                                              ".",
+                                              default_dir,
                                               "Fasta (*.fa *.fasta *.fsa *.txt)");
   if (fastaFilePath.isEmpty())
     return;
 
   sequenceLineEdit->setText(fastaFilePath);
+  setupFrame->set_default_dir(QDir(fastaFilePath));
   return;
 }
 
 void SequenceSetupWidget::promptForAnnotFile()
 {
+  QString default_dir = setupFrame->get_default_dir().absolutePath();
   QString annotFilePath = QFileDialog::getOpenFileName(this,
                                               "Choose a annotation file",
-                                              ".",
+                                              default_dir,
                                               "Annot (*.txt *.annot)");
   if (annotFilePath.isEmpty())
     return;
 
   annotLineEdit->setText(annotFilePath);
+  setupFrame->set_default_dir(QDir(annotFilePath));
   return;
 }