summaryrefslogtreecommitdiffstats
path: root/src/dialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dialog.cpp')
-rw-r--r--src/dialog.cpp29
1 files changed, 20 insertions, 9 deletions
diff --git a/src/dialog.cpp b/src/dialog.cpp
index e4c74a4..a1ab266 100644
--- a/src/dialog.cpp
+++ b/src/dialog.cpp
@@ -1,16 +1,14 @@
#include "dialog.h"
#include "ui_dialog.h"
#include "model.h"
-#include "DataEntry.h"
-#include "functions.h"
+#include "session.h"
+#include "save_restore_session.h"
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
- //QAbstractListModel *data = new Model(1000, ui->listView);
- //ui->listView->setModel(data);
}
Dialog::~Dialog()
@@ -36,16 +34,29 @@ void Dialog::on_listView_activated(QModelIndex index)
printf ("Item %d has been activated\n", index.row());
//TODO get rid of this->entries, storing them in the model should be enough
// alternatively use references instead of copies?
- runImage(this->entries.at(index.row()));
- close();
+ Session* s(this->entries_.at(index.row()));
+ if (s->run()) {
+ writeSessionName(s->shortDescription());
+ close();
+ } else {
+ // TODO: error instead of close
+ close();
+ }
}
-void Dialog::addItems(const std::vector<DataEntry>& entries) {
+void Dialog::addItems(const QList<Session*>& entries, const QString& section) {
+ // TODO: section
// TODO: this is not the right way to do this
// we probably do not need a copy of the entries vector in Dialog and Model
- this->entries = entries;
- QAbstractListModel *data = new Model(entries, ui->listView);
+ printf("Dialog::addItems()\n");
+ printf(" before: %d items\n", this->entries_.size());
+ printf(" %d new items\n", entries.size());
+ this->entries_.append(entries);
+ printf(" after: %d items\n", this->entries_.size());
+ QAbstractListModel *data = new Model(this->entries_, ui->listView);
+ QItemSelectionModel *m = ui->listView->selectionModel();
ui->listView->setModel(data);
+ delete m;
}
void Dialog::on_pushButtonAbort_clicked()