diff --git a/sea_transport/adminpanel.cpp b/sea_transport/adminpanel.cpp
index 1bda76f..74a4e4a 100644
--- a/sea_transport/adminpanel.cpp
+++ b/sea_transport/adminpanel.cpp
@@ -78,7 +78,7 @@ void AdminPanel::on_logout_requested() {
this->close();
}
-void AdminPanel::on_vessel_add_edit(bool edit) {
+void AdminPanel::on_vessel_add_edit(bool /*edit*/) {
}
@@ -129,7 +129,7 @@ void AdminPanel::on_user_add_edit(bool edit) {
return;
}
- auto data = ued.user();
+ auto data = ued.user_data();
if (edit) {
bool success;
auto user = apparatus::instance()->get_auth_subsystem()->get_user(usr.login(), success);
@@ -188,7 +188,41 @@ void AdminPanel::on_user_remove() {
}
void AdminPanel::on_delivery_point_add_edit(bool edit) {
+ auto selected = ui->tv_dp->selectionModel()->selectedRows();
+ if (edit && selected.length() != 1) {
+ return;
+ }
+ dpoint_entity dpoint;
+ if (edit) {
+ int idx = selected[0].row();
+ dpoint = apparatus::instance()->get_object_subsystem()->dpoints()[idx];
+ }
+
+ DeliveryPointEditDialog dped(this);
+ dped.setWindowTitle(edit? "Edit delivery point" : "New delivery point");
+ dped.set_dpoint(&dpoint, edit);
+ if (dped.exec() != UserEditDialog::Accepted) {
+ return;
+ }
+
+ auto data = dped.dpoint();
+ if (edit) {
+ bool success;
+ auto dp = apparatus::instance()->get_object_subsystem()->get_dpoint(dpoint.id(), success);
+ if (!success) {
+ QMessageBox::critical(this, "Error", "Error editing delivery point");
+ return;
+ }
+
+ dp->set_title(data->title());
+ dp->set_storages(data->storages());
+ }
+ else {
+ apparatus::instance()->get_object_subsystem()->add_dpoint(*data);
+ }
+
+ dpvm->update();
}
void AdminPanel::on_delivery_point_remove() {
@@ -208,8 +242,8 @@ void AdminPanel::on_delivery_point_remove() {
}
foreach (auto mIdx, selected) {
- int idx = mIdx.row();
- qDebug() << idx << ' ' << mIdx.data() << '\n';
+ entity_id oid = mIdx.data().toULongLong();
+ apparatus::instance()->get_object_subsystem()->remove_dpoint(oid);
}
dpvm->update();
diff --git a/sea_transport/adminpanel.h b/sea_transport/adminpanel.h
index 3489f39..827c4b1 100644
--- a/sea_transport/adminpanel.h
+++ b/sea_transport/adminpanel.h
@@ -14,6 +14,7 @@
#include "viewmodels/deliverypointsviewmodel.h"
#include "entities/user_entity.h"
+#include "entities/dpoint_entity.h"
namespace Ui {
class AdminPanel;
diff --git a/sea_transport/cargoeditdialog.cpp b/sea_transport/cargoeditdialog.cpp
index 67c9a1e..a55ba79 100644
--- a/sea_transport/cargoeditdialog.cpp
+++ b/sea_transport/cargoeditdialog.cpp
@@ -3,6 +3,9 @@
CargoEditDialog::CargoEditDialog(QWidget *parent) : QDialog(parent), ui(new Ui::CargoEditDialog) {
ui->setupUi(this);
+
+ connect(ui->pb_save, &QPushButton::clicked, this, &CargoEditDialog::accept);
+ connect(ui->pb_discard, &QPushButton::clicked, this, &CargoEditDialog::reject);
}
CargoEditDialog::~CargoEditDialog() {
diff --git a/sea_transport/deliverypointeditdialog.cpp b/sea_transport/deliverypointeditdialog.cpp
index a010715..922a549 100644
--- a/sea_transport/deliverypointeditdialog.cpp
+++ b/sea_transport/deliverypointeditdialog.cpp
@@ -1,14 +1,116 @@
#include "deliverypointeditdialog.h"
#include "ui_deliverypointeditdialog.h"
-DeliveryPointEditDialog::DeliveryPointEditDialog(QWidget *parent) :
- QDialog(parent),
- ui(new Ui::DeliveryPointEditDialog)
-{
+
+DeliveryPointEditDialog::DeliveryPointEditDialog(QWidget *parent) : QDialog(parent), ui(new Ui::DeliveryPointEditDialog) {
ui->setupUi(this);
+
+ this->svm = new QStringListModel(this);
+ ui->lv_storages->setModel(this->svm);
+
+ connect(ui->lv_storages->selectionModel(), &QItemSelectionModel::selectionChanged, [this](const QItemSelection &selected) {
+ ui->pb_storage_remove->setEnabled(selected.length() > 0);
+ ui->pb_storage_edit->setEnabled(selected.length() == 1);
+ });
+
+ connect(ui->pb_storage_remove, &QPushButton::clicked, [this]() {
+ auto sel = ui->lv_storages->selectionModel()->selectedRows();
+ if (sel.length() == 0) {
+ return;
+ }
+
+ foreach (auto mIdx, sel) {
+ auto cuid = mIdx.data().toString().toULongLong();
+ auto st = this->_dp->storages();
+
+ for (int i = 0; i < st.length(); i++) {
+ if (st[i].id() == cuid) {
+ st.removeAt(i);
+ break;
+ }
+ }
+
+ this->_dp->set_storages(st);
+ }
+ this->update_list();
+ });
+
+ connect(ui->pb_storage_edit, &QPushButton::clicked, [this]() {
+ this->on_storage_edit_add(true);
+ });
+
+ connect(ui->pb_storage_add, &QPushButton::clicked, [this]() {
+ this->on_storage_edit_add(false);
+ });
+
+ connect(ui->pb_save, &QPushButton::clicked, this, &DeliveryPointEditDialog::accept);
+ connect(ui->pb_discard, &QPushButton::clicked, this, &DeliveryPointEditDialog::reject);
}
-DeliveryPointEditDialog::~DeliveryPointEditDialog()
-{
+DeliveryPointEditDialog::~DeliveryPointEditDialog() {
delete ui;
}
+
+void DeliveryPointEditDialog::update_list() {
+ QStringList slist;
+ foreach (auto storage, this->_dp->storages()) {
+ slist << QString::number(storage.id());
+ }
+ this->svm->setStringList(slist);
+}
+
+dpoint_entity* DeliveryPointEditDialog::dpoint() const {
+ return this->_dp;
+}
+
+void DeliveryPointEditDialog::on_storage_edit_add(bool edit) {
+ auto selected = ui->lv_storages->selectionModel()->selectedRows();
+ if (edit && selected.length() != 1) {
+ return;
+ }
+
+ storage_entity stor;
+ if (edit) {
+ int idx = selected[0].row();
+ stor = this->_dp->storages()[idx];
+ this->_dp->remove_storage(stor.id());
+ }
+
+ StorageEditDialog sed(this);
+ sed.setWindowTitle(edit? "Edit storage" : "New storage");
+ sed.set_storage(&stor, edit);
+ if (sed.exec() != StorageEditDialog::Accepted) {
+ return;
+ }
+
+ auto n_storage = sed.storage();
+ if (edit) {
+ this->_dp->remove_storage(stor.id());
+ }
+ this->_dp->add_storage(*n_storage);
+
+ this->update_list();
+}
+
+void DeliveryPointEditDialog::set_dpoint(dpoint_entity* dpoint, bool edit) {
+ this->_dp = new dpoint_entity(*dpoint);
+
+ if (edit) {
+ ui->et_title->setText(dpoint->title());
+ this->update_list();
+ }
+}
+
+void DeliveryPointEditDialog::accept() {
+ bool emptyTitle = ui->et_title->text().trimmed().isEmpty();
+ if (emptyTitle) {;
+ QString message = "Some errors happend, while saving your note:"
+ "
- Title cannot be empty (all spaces - empty too)";
+ QMessageBox::critical(this, "Error", message);
+ return;
+ }
+
+ this->_dp->set_title(ui->et_title->text().trimmed());
+
+ QDialog::accept();
+}
diff --git a/sea_transport/deliverypointeditdialog.h b/sea_transport/deliverypointeditdialog.h
index 6b044e2..3eeb00b 100644
--- a/sea_transport/deliverypointeditdialog.h
+++ b/sea_transport/deliverypointeditdialog.h
@@ -1,22 +1,42 @@
#ifndef DELIVERYPOINTEDITDIALOG_H
#define DELIVERYPOINTEDITDIALOG_H
+#include
#include
+#include
+#include
+#include
+#include
+
+#include "entities/dpoint_entity.h"
+#include "system/apparatus.h"
+#include "storageeditdialog.h"
+
namespace Ui {
class DeliveryPointEditDialog;
}
-class DeliveryPointEditDialog : public QDialog
-{
+class DeliveryPointEditDialog : public QDialog {
Q_OBJECT
+ Ui::DeliveryPointEditDialog *ui;
+
+ QStringListModel *svm;
+ dpoint_entity *_dp;
+
+ void update_list();
public:
explicit DeliveryPointEditDialog(QWidget *parent = nullptr);
~DeliveryPointEditDialog();
-private:
- Ui::DeliveryPointEditDialog *ui;
+ dpoint_entity* dpoint() const;
+ void set_dpoint(dpoint_entity* dpoint, bool edit);
+
+public slots:
+ void on_storage_edit_add(bool edit);
+
+ void accept() Q_DECL_OVERRIDE;
};
#endif // DELIVERYPOINTEDITDIALOG_H
diff --git a/sea_transport/deliverypointeditdialog.ui b/sea_transport/deliverypointeditdialog.ui
index 4a0ab3d..4797b21 100644
--- a/sea_transport/deliverypointeditdialog.ui
+++ b/sea_transport/deliverypointeditdialog.ui
@@ -44,19 +44,33 @@
-
-
+
+
+ QAbstractItemView::NoEditTriggers
+
+
-
-
-
+
Add storage
-
-
+
+
+ false
+
+
+ Edit storage
+
+
+
+ -
+
false
@@ -83,14 +97,14 @@
-
-
-
+
Discard
-
-
+
Save
diff --git a/sea_transport/entities/dpoint_entity.cpp b/sea_transport/entities/dpoint_entity.cpp
index ed5b926..01b164b 100644
--- a/sea_transport/entities/dpoint_entity.cpp
+++ b/sea_transport/entities/dpoint_entity.cpp
@@ -20,10 +20,28 @@ QString dpoint_entity::title() const {
return this->_title;
}
+void dpoint_entity::set_title(const QString &new_title) {
+ this->_title = new_title;
+}
+
const QVector dpoint_entity::storages() {
return this->_storages;
}
+void dpoint_entity::set_storages(QVector storages) {
+ this->_storages = storages;
+}
+
+void dpoint_entity::remove_storage(entity_id sid) {
+ std::remove_if(this->_storages.begin(), this->_storages.end(), [sid](storage_entity ent) {
+ return ent.id() == sid;
+ });
+}
+
+void dpoint_entity::add_storage(storage_entity ent) {
+ this->_storages.push_back(ent);
+}
+
void dpoint_entity::serialize(QDataStream &output) {
output << this->_id << this->_title << this->_storages.size();
for (auto &item : this->_storages) {
diff --git a/sea_transport/entities/dpoint_entity.h b/sea_transport/entities/dpoint_entity.h
index 90fb4a4..8c17537 100644
--- a/sea_transport/entities/dpoint_entity.h
+++ b/sea_transport/entities/dpoint_entity.h
@@ -23,7 +23,11 @@ public:
entity_id id() const;
entity_id dispatcher() const;
QString title() const;
+ void set_title(const QString &new_title);
const QVector storages();
+ void set_storages(QVector storages);
+ void remove_storage(entity_id sid);
+ void add_storage(storage_entity ent);
void serialize(QDataStream &output);
void deserialize(QDataStream &input);
diff --git a/sea_transport/entities/storage_entity.cpp b/sea_transport/entities/storage_entity.cpp
index 5e55f4c..49a381d 100644
--- a/sea_transport/entities/storage_entity.cpp
+++ b/sea_transport/entities/storage_entity.cpp
@@ -16,6 +16,10 @@ unsigned int storage_entity::capacity() const {
return this->_capacity;
}
+void storage_entity::set_capacity(unsigned int new_capacity) {
+ this->_capacity = new_capacity;
+}
+
const QVector storage_entity::cargo() {
return this->_cargo;
}
diff --git a/sea_transport/entities/storage_entity.h b/sea_transport/entities/storage_entity.h
index 3b8abf5..68030a2 100644
--- a/sea_transport/entities/storage_entity.h
+++ b/sea_transport/entities/storage_entity.h
@@ -22,6 +22,7 @@ public:
entity_id id() const;
unsigned int capacity() const;
+ void set_capacity(unsigned int new_capacity);
const QVector cargo();
void add_cargo(cargo_entity object, bool &success);
diff --git a/sea_transport/sea_transport.pro b/sea_transport/sea_transport.pro
index bf9d0a6..99e2c50 100644
--- a/sea_transport/sea_transport.pro
+++ b/sea_transport/sea_transport.pro
@@ -25,6 +25,7 @@ SOURCES += \
system/object_system.cpp \
usereditdialog.cpp \
vesseleditdialog.cpp \
+ viewmodels/cargoviewmodel.cpp \
viewmodels/deliverypointsviewmodel.cpp \
viewmodels/usersviewmodel.cpp \
viewmodels/vesselsviewmodel.cpp
@@ -47,6 +48,7 @@ HEADERS += \
system/object_system.h \
usereditdialog.h \
vesseleditdialog.h \
+ viewmodels/cargoviewmodel.h \
viewmodels/deliverypointsviewmodel.h \
viewmodels/usersviewmodel.h \
viewmodels/vesselsviewmodel.h
diff --git a/sea_transport/storageeditdialog.cpp b/sea_transport/storageeditdialog.cpp
index bfb4dc4..8395ae9 100644
--- a/sea_transport/storageeditdialog.cpp
+++ b/sea_transport/storageeditdialog.cpp
@@ -1,14 +1,80 @@
#include "storageeditdialog.h"
#include "ui_storageeditdialog.h"
-StorageEditDialog::StorageEditDialog(QWidget *parent) :
- QDialog(parent),
- ui(new Ui::StorageEditDialog)
-{
+StorageEditDialog::StorageEditDialog(QWidget *parent) : QDialog(parent), ui(new Ui::StorageEditDialog) {
ui->setupUi(this);
+
+ this->cvm = new CargoViewModel(this);
+ ui->lv_cargo->setModel(this->cvm);
+
+ connect(ui->lv_cargo->selectionModel(), &QItemSelectionModel::selectionChanged, [this](const QItemSelection &selected) {
+ ui->pb_cargo_remove->setEnabled(selected.length() > 0);
+ });
+
+ connect(ui->pb_cargo_remove, &QPushButton::clicked, [this]() {
+ auto sel = ui->lv_cargo->selectionModel()->selectedRows();
+ if (sel.length() == 0) {
+ return;
+ }
+
+ foreach (auto mIdx, sel) {
+ auto cdata = mIdx.data().toInt();
+ qDebug() << cdata << '\n';
+ }
+ });
+
+ connect(ui->pb_cargo_add, &QPushButton::clicked, this, &StorageEditDialog::on_cargo_add);
+
+ connect(ui->pb_save, &QPushButton::clicked, this, &StorageEditDialog::accept);
+ connect(ui->pb_discard, &QPushButton::clicked, this, &StorageEditDialog::reject);
}
-StorageEditDialog::~StorageEditDialog()
-{
+StorageEditDialog::~StorageEditDialog() {
delete ui;
}
+
+storage_entity* StorageEditDialog::storage() {
+ return this->_storage;
+}
+
+void StorageEditDialog::set_storage(storage_entity *ent, bool edit) {
+ this->_storage = new storage_entity(*ent);
+
+ if (edit) {
+ ui->sb_capacity->setValue(ent->capacity());
+ this->cvm->set_data(this->_storage->cargo());
+ }
+}
+
+void StorageEditDialog::on_cargo_add() {
+ CargoEditDialog ced(this);
+ ced.setWindowTitle("New cargo");
+ if (ced.exec() != CargoEditDialog::Accepted) {
+ return;
+ }
+
+ bool success;
+ this->_storage->add_cargo(*ced.cargo(), success);
+ if (success) {
+ this->cvm->set_data(this->_storage->cargo());
+ QMessageBox::information(this, "Success", "Cargo successfully put into storage");
+ }
+ else {
+ QMessageBox::critical(this, "Error", "Not enough space to put cargo");
+ }
+}
+
+void StorageEditDialog::accept() {
+ int cvs = 0;
+ foreach (auto c, this->_storage->cargo()) {
+ cvs += c.volume();
+ }
+ if (cvs > ui->sb_capacity->value()) {
+ QMessageBox::critical(this, "Error", "Cargo volume bigger than capacity");
+ return;
+ }
+
+ this->_storage->set_capacity(ui->sb_capacity->value());
+
+ QDialog::accept();
+}
diff --git a/sea_transport/storageeditdialog.h b/sea_transport/storageeditdialog.h
index bf70a54..372833a 100644
--- a/sea_transport/storageeditdialog.h
+++ b/sea_transport/storageeditdialog.h
@@ -1,22 +1,36 @@
#ifndef STORAGEEDITDIALOG_H
#define STORAGEEDITDIALOG_H
+#include
#include
+#include
+
+#include "entities/storage_entity.h"
+#include "viewmodels/cargoviewmodel.h"
+#include "cargoeditdialog.h"
+
namespace Ui {
class StorageEditDialog;
}
-class StorageEditDialog : public QDialog
-{
+class StorageEditDialog : public QDialog {
Q_OBJECT
+ Ui::StorageEditDialog *ui;
+
+ CargoViewModel *cvm;
+ storage_entity *_storage;
public:
explicit StorageEditDialog(QWidget *parent = nullptr);
~StorageEditDialog();
-private:
- Ui::StorageEditDialog *ui;
+ storage_entity* storage();
+ void set_storage(storage_entity *ent, bool edit);
+
+public slots:
+ void on_cargo_add();
+ void accept() Q_DECL_OVERRIDE;
};
#endif // STORAGEEDITDIALOG_H
diff --git a/sea_transport/storageeditdialog.ui b/sea_transport/storageeditdialog.ui
index 95b17c4..ac1e467 100644
--- a/sea_transport/storageeditdialog.ui
+++ b/sea_transport/storageeditdialog.ui
@@ -7,7 +7,7 @@
0
0
400
- 190
+ 336
@@ -17,24 +17,45 @@
-
-
-
-
- Storage num.:
-
-
-
- -
-
-
- -
Capacity:
- -
-
+
-
+
+
+ 1
+
+
+ 500
+
+
+
+
+
+ -
+
+
+ -
+
+
-
+
+
+ Add cargo
+
+
+
+ -
+
+
+ false
+
+
+ Remove cargo
+
+
@@ -54,14 +75,14 @@
-
-
-
+
Discard
-
-
+
Save
diff --git a/sea_transport/system/object_system.cpp b/sea_transport/system/object_system.cpp
index 6b6456c..5915b78 100644
--- a/sea_transport/system/object_system.cpp
+++ b/sea_transport/system/object_system.cpp
@@ -1,7 +1,7 @@
#include "object_system.h"
-const dpoint_entity* object_system::get_dpoint(entity_id oid, bool &success) {
+dpoint_entity* object_system::get_dpoint(entity_id oid, bool &success) {
dpoint_entity *out = nullptr;
success = false;
@@ -39,7 +39,7 @@ bool object_system::add_dpoint(dpoint_entity dpoint) {
return false;
}
-const vessel_entity* object_system::get_vessel(entity_id oid, bool &success) {
+vessel_entity* object_system::get_vessel(entity_id oid, bool &success) {
vessel_entity *out = nullptr;
success = false;
diff --git a/sea_transport/system/object_system.h b/sea_transport/system/object_system.h
index 2239a42..7551201 100644
--- a/sea_transport/system/object_system.h
+++ b/sea_transport/system/object_system.h
@@ -16,11 +16,11 @@ private:
public:
object_system() = default;
- const dpoint_entity* get_dpoint(entity_id oid, bool &success);
+ dpoint_entity* get_dpoint(entity_id oid, bool &success);
bool remove_dpoint(entity_id oid);
bool add_dpoint(dpoint_entity dpoint);
- const vessel_entity* get_vessel(entity_id oid, bool &success);
+ vessel_entity* get_vessel(entity_id oid, bool &success);
bool remove_vessel(entity_id oid);
bool add_vessel(vessel_entity dpoint);
diff --git a/sea_transport/usereditdialog.cpp b/sea_transport/usereditdialog.cpp
index c0c2650..a84ba1b 100644
--- a/sea_transport/usereditdialog.cpp
+++ b/sea_transport/usereditdialog.cpp
@@ -1,6 +1,7 @@
#include "usereditdialog.h"
#include "ui_usereditdialog.h"
+
UserEditDialog::UserEditDialog(QWidget *parent) : QDialog(parent), ui(new Ui::UserEditDialog) {
ui->setupUi(this);
@@ -12,24 +13,22 @@ UserEditDialog::~UserEditDialog() {
delete ui;
}
-UserEditDialog::user_data* UserEditDialog::user() const {
- return this->_user;
+user_data_struct* UserEditDialog::user_data() const {
+ return this->_user_data;
}
void UserEditDialog::set_user(user_entity* user, bool edit) {
if (edit) {
- this->_user = new UserEditDialog::user_data {
- user->login(), "", user->role(), true
- };
+ this->_user_data = new user_data_struct();
ui->et_login->setText(user->login());
ui->et_password->setText("##########UNEDITED##########");
ui->cb_role->setCurrentIndex((int)user->role());
}
else {
- this->_user = new UserEditDialog::user_data{};
+ this->_user_data = new user_data_struct{};
}
- this->_user->edit = edit;
+ this->_user_data->edit = edit;
}
void UserEditDialog::accept() {
@@ -47,7 +46,7 @@ void UserEditDialog::accept() {
}
bool emptyTitle = ui->et_login->text().trimmed().isEmpty();
bool emptyPassword = ui->et_password->text().trimmed().isEmpty();
- bool lowerank = this->_user->edit && this->_user->role < role;
+ bool lowerank = this->_user_data->edit && this->_user_data->role < role;
if (emptyTitle || emptyPassword || lowerank) {
QMessageBox errDlg(this);
errDlg.setTextFormat(Qt::RichText);
@@ -67,11 +66,10 @@ void UserEditDialog::accept() {
errDlg.exec();
return;
}
- ;
- this->_user->login = ui->et_login->text().trimmed();
- this->_user->password = ui->et_password->text().trimmed();
- this->_user->role = role;
+ this->_user_data->login = ui->et_login->text().trimmed();
+ this->_user_data->password = ui->et_password->text().trimmed();
+ this->_user_data->role = role;
QDialog::accept();
}
diff --git a/sea_transport/usereditdialog.h b/sea_transport/usereditdialog.h
index 7fb13ca..ada392e 100644
--- a/sea_transport/usereditdialog.h
+++ b/sea_transport/usereditdialog.h
@@ -11,25 +11,26 @@ namespace Ui {
class UserEditDialog;
}
+struct user_data_struct {
+ QString login;
+ QString password;
+ UserRole role;
+ bool edit;
+};
+
class UserEditDialog : public QDialog {
Q_OBJECT
Ui::UserEditDialog *ui;
- struct user_data {
- QString login;
- QString password;
- UserRole role;
- bool edit;
- } *_user;
+ user_data_struct *_user_data;
public:
explicit UserEditDialog(QWidget *parent = nullptr);
~UserEditDialog();
- UserEditDialog::user_data* user() const;
+ user_data_struct* user_data() const;
void set_user(user_entity* user, bool edit);
-
public slots:
void accept() Q_DECL_OVERRIDE;
};
diff --git a/sea_transport/viewmodels/deliverypointsviewmodel.cpp b/sea_transport/viewmodels/deliverypointsviewmodel.cpp
index 5823d9c..487e768 100644
--- a/sea_transport/viewmodels/deliverypointsviewmodel.cpp
+++ b/sea_transport/viewmodels/deliverypointsviewmodel.cpp
@@ -55,5 +55,6 @@ QVariant DeliveryPointsViewModel::data(const QModelIndex &index, int role) const
}
void DeliveryPointsViewModel::update() {
- dataChanged(QModelIndex(), QModelIndex());
+ this->beginResetModel();
+ this->endResetModel();
}
diff --git a/sea_transport/viewmodels/vesselsviewmodel.cpp b/sea_transport/viewmodels/vesselsviewmodel.cpp
index accfe2b..7d4f2ba 100644
--- a/sea_transport/viewmodels/vesselsviewmodel.cpp
+++ b/sea_transport/viewmodels/vesselsviewmodel.cpp
@@ -61,5 +61,6 @@ QVariant VesselsViewModel::data(const QModelIndex &index, int role) const {
}
void VesselsViewModel::update() {
- dataChanged(QModelIndex(), QModelIndex());
+ this->beginResetModel();
+ this->endResetModel();
}
diff --git a/sea_transport_project.pro.user b/sea_transport_project.pro.user
index be69ce2..c77d533 100644
--- a/sea_transport_project.pro.user
+++ b/sea_transport_project.pro.user
@@ -1,6 +1,6 @@
-
+
EnvironmentId
@@ -169,7 +169,7 @@
true
QtProjectManager.QMakeBuildStep
- false
+ true
@@ -221,7 +221,7 @@
true
QtProjectManager.QMakeBuildStep
- false
+ true
diff --git a/st_test/tst_st_test.cpp b/st_test/tst_st_test.cpp
index 3c8ca78..fca6bde 100644
--- a/st_test/tst_st_test.cpp
+++ b/st_test/tst_st_test.cpp
@@ -133,7 +133,7 @@ void st_test::dpoint_entity_serialization_test() {
f.open(QIODevice::WriteOnly);
stream.setDevice(&f);
- ent1 = dpoint_entity("some_test_point");
+ ent1 = dpoint_entity(0, "some_test_point");
ent1.serialize(stream);
stream.setDevice(nullptr);