Auto status change to "Under Review"
@@ -13,8 +13,10 public: | |||
|
13 | 13 | void setEvents(const QVector<std::shared_ptr<DBEvent> > &events); |
|
14 | 14 | std::shared_ptr<DBEvent> getEvent(int row) const; |
|
15 | 15 | |
|
16 |
void addEvent(const std::shared_ptr<DBEvent> &event |
|
|
17 |
void removeEvent(const std::shared_ptr<DBEvent> &event |
|
|
16 | void addEvent(const std::shared_ptr<DBEvent> &event); | |
|
17 | void removeEvent(const std::shared_ptr<DBEvent> &event); | |
|
18 | ||
|
19 | void refreshEvent(const std::shared_ptr<DBEvent> &event); | |
|
18 | 20 | |
|
19 | 21 | // Model |
|
20 | 22 | int rowCount(const QModelIndex &parent = QModelIndex()) const override; |
@@ -27,6 +27,8 public: | |||
|
27 | 27 | |
|
28 | 28 | void setVisualizationWidget(VisualizationWidget *visualization); |
|
29 | 29 | |
|
30 | void setEventChanges(const std::shared_ptr<DBEvent> &event, bool hasChanges); | |
|
31 | ||
|
30 | 32 | public slots: |
|
31 | 33 | void populateWithCatalogues(const QVector<std::shared_ptr<DBCatalogue> > &catalogues); |
|
32 | 34 |
@@ -66,17 +66,16 std::shared_ptr<DBEvent> CatalogueEventsTableModel::getEvent(int row) const | |||
|
66 | 66 | return impl->m_Events.value(row); |
|
67 | 67 | } |
|
68 | 68 | |
|
69 |
void CatalogueEventsTableModel::addEvent(const std::shared_ptr<DBEvent> &event |
|
|
69 | void CatalogueEventsTableModel::addEvent(const std::shared_ptr<DBEvent> &event) | |
|
70 | 70 | { |
|
71 | 71 | beginInsertRows(QModelIndex(), impl->m_Events.count() - 1, impl->m_Events.count() - 1); |
|
72 |
|
|
|
72 | impl->m_Events.append(event); | |
|
73 | 73 | endInsertRows(); |
|
74 | 74 | } |
|
75 | 75 | |
|
76 |
void CatalogueEventsTableModel::removeEvent(const std::shared_ptr<DBEvent> &event |
|
|
76 | void CatalogueEventsTableModel::removeEvent(const std::shared_ptr<DBEvent> &event) | |
|
77 | 77 | { |
|
78 | // TODO | |
|
79 | auto index = -1; // impl->m_Events.indexOf(event); | |
|
78 | auto index = impl->m_Events.indexOf(event); | |
|
80 | 79 | if (index >= 0) { |
|
81 | 80 | beginRemoveRows(QModelIndex(), index, index); |
|
82 | 81 | impl->m_Events.removeAt(index); |
@@ -84,6 +83,14 void CatalogueEventsTableModel::removeEvent(const std::shared_ptr<DBEvent> &even | |||
|
84 | 83 | } |
|
85 | 84 | } |
|
86 | 85 | |
|
86 | void CatalogueEventsTableModel::refreshEvent(const std::shared_ptr<DBEvent> &event) | |
|
87 | { | |
|
88 | auto eventIndex = impl->m_Events.indexOf(event); | |
|
89 | if (eventIndex >= 0) { | |
|
90 | emit dataChanged(index(eventIndex, 0), index(eventIndex, columnCount())); | |
|
91 | } | |
|
92 | } | |
|
93 | ||
|
87 | 94 | int CatalogueEventsTableModel::rowCount(const QModelIndex &parent) const |
|
88 | 95 | { |
|
89 | 96 | int r = impl->m_Events.count(); |
@@ -92,8 +99,7 int CatalogueEventsTableModel::rowCount(const QModelIndex &parent) const | |||
|
92 | 99 | |
|
93 | 100 | int CatalogueEventsTableModel::columnCount(const QModelIndex &parent) const |
|
94 | 101 | { |
|
95 |
|
|
|
96 | return c; | |
|
102 | return static_cast<int>(CatalogueEventsTableModelPrivate::Column::NbColumn); | |
|
97 | 103 | } |
|
98 | 104 | |
|
99 | 105 | Qt::ItemFlags CatalogueEventsTableModel::flags(const QModelIndex &index) const |
@@ -271,6 +271,11 void CatalogueEventsWidget::setVisualizationWidget(VisualizationWidget *visualiz | |||
|
271 | 271 | impl->m_VisualizationWidget = visualization; |
|
272 | 272 | } |
|
273 | 273 | |
|
274 | void CatalogueEventsWidget::setEventChanges(const std::shared_ptr<DBEvent> &event, bool hasChanges) | |
|
275 | { | |
|
276 | impl->m_Model->refreshEvent(event); | |
|
277 | } | |
|
278 | ||
|
274 | 279 | void CatalogueEventsWidget::populateWithCatalogues( |
|
275 | 280 | const QVector<std::shared_ptr<DBCatalogue> > &catalogues) |
|
276 | 281 | { |
@@ -51,6 +51,9 CatalogueExplorer::CatalogueExplorer(QWidget *parent) | |||
|
51 | 51 | |
|
52 | 52 | connect(ui->inspector, &CatalogueInspectorWidget::catalogueUpdated, |
|
53 | 53 | [this](auto catalogue) { ui->catalogues->setCatalogueChanges(catalogue, true); }); |
|
54 | ||
|
55 | connect(ui->inspector, &CatalogueInspectorWidget::eventUpdated, | |
|
56 | [this](auto event) { ui->events->setEventChanges(event, true); }); | |
|
54 | 57 | } |
|
55 | 58 | |
|
56 | 59 | CatalogueExplorer::~CatalogueExplorer() |
@@ -9,6 +9,11 | |||
|
9 | 9 | struct CatalogueInspectorWidget::CatalogueInspectorWidgetPrivate { |
|
10 | 10 | std::shared_ptr<DBCatalogue> m_DisplayedCatalogue = nullptr; |
|
11 | 11 | std::shared_ptr<DBEvent> m_DisplayedEvent = nullptr; |
|
12 | ||
|
13 | void connectCatalogueUpdateSignals(CatalogueInspectorWidget *inspector, | |
|
14 | Ui::CatalogueInspectorWidget *ui); | |
|
15 | void connectEventUpdateSignals(CatalogueInspectorWidget *inspector, | |
|
16 | Ui::CatalogueInspectorWidget *ui); | |
|
12 | 17 | }; |
|
13 | 18 | |
|
14 | 19 | CatalogueInspectorWidget::CatalogueInspectorWidget(QWidget *parent) |
@@ -19,24 +24,76 CatalogueInspectorWidget::CatalogueInspectorWidget(QWidget *parent) | |||
|
19 | 24 | ui->setupUi(this); |
|
20 | 25 | showPage(Page::Empty); |
|
21 | 26 | |
|
22 | connect(ui->leCatalogueName, &QLineEdit::editingFinished, [this]() { | |
|
23 | if (ui->leCatalogueName->text() != impl->m_DisplayedCatalogue->getName()) { | |
|
24 | impl->m_DisplayedCatalogue->setName(ui->leCatalogueName->text()); | |
|
25 | emit this->catalogueUpdated(impl->m_DisplayedCatalogue); | |
|
27 | impl->connectCatalogueUpdateSignals(this, ui); | |
|
28 | impl->connectEventUpdateSignals(this, ui); | |
|
29 | } | |
|
30 | ||
|
31 | CatalogueInspectorWidget::~CatalogueInspectorWidget() | |
|
32 | { | |
|
33 | delete ui; | |
|
34 | } | |
|
35 | ||
|
36 | void CatalogueInspectorWidget::CatalogueInspectorWidgetPrivate::connectCatalogueUpdateSignals( | |
|
37 | CatalogueInspectorWidget *inspector, Ui::CatalogueInspectorWidget *ui) | |
|
38 | { | |
|
39 | connect(ui->leCatalogueName, &QLineEdit::editingFinished, [ui, inspector, this]() { | |
|
40 | if (ui->leCatalogueName->text() != m_DisplayedCatalogue->getName()) { | |
|
41 | m_DisplayedCatalogue->setName(ui->leCatalogueName->text()); | |
|
42 | emit inspector->catalogueUpdated(m_DisplayedCatalogue); | |
|
26 | 43 | } |
|
27 | 44 | }); |
|
28 | 45 | |
|
29 | connect(ui->leCatalogueAuthor, &QLineEdit::editingFinished, [this]() { | |
|
30 |
if (ui->leCatalogueAuthor->text() != |
|
|
31 |
|
|
|
32 |
emit |
|
|
46 | connect(ui->leCatalogueAuthor, &QLineEdit::editingFinished, [ui, inspector, this]() { | |
|
47 | if (ui->leCatalogueAuthor->text() != m_DisplayedCatalogue->getAuthor()) { | |
|
48 | m_DisplayedCatalogue->setAuthor(ui->leCatalogueAuthor->text()); | |
|
49 | emit inspector->catalogueUpdated(m_DisplayedCatalogue); | |
|
33 | 50 | } |
|
34 | 51 | }); |
|
35 | 52 | } |
|
36 | 53 | |
|
37 |
CatalogueInspectorWidget:: |
|
|
54 | void CatalogueInspectorWidget::CatalogueInspectorWidgetPrivate::connectEventUpdateSignals( | |
|
55 | CatalogueInspectorWidget *inspector, Ui::CatalogueInspectorWidget *ui) | |
|
38 | 56 | { |
|
39 | delete ui; | |
|
57 | connect(ui->leEventName, &QLineEdit::editingFinished, [ui, inspector, this]() { | |
|
58 | if (ui->leEventName->text() != m_DisplayedEvent->getName()) { | |
|
59 | m_DisplayedEvent->setName(ui->leEventName->text()); | |
|
60 | emit inspector->eventUpdated(m_DisplayedEvent); | |
|
61 | } | |
|
62 | }); | |
|
63 | ||
|
64 | connect(ui->leEventMission, &QLineEdit::editingFinished, [ui, inspector, this]() { | |
|
65 | if (ui->leEventMission->text() != m_DisplayedEvent->getMission()) { | |
|
66 | m_DisplayedEvent->setMission(ui->leEventMission->text()); | |
|
67 | emit inspector->eventUpdated(m_DisplayedEvent); | |
|
68 | } | |
|
69 | }); | |
|
70 | ||
|
71 | connect(ui->leEventProduct, &QLineEdit::editingFinished, [ui, inspector, this]() { | |
|
72 | if (ui->leEventProduct->text() != m_DisplayedEvent->getProduct()) { | |
|
73 | m_DisplayedEvent->setProduct(ui->leEventProduct->text()); | |
|
74 | emit inspector->eventUpdated(m_DisplayedEvent); | |
|
75 | } | |
|
76 | }); | |
|
77 | ||
|
78 | connect(ui->leEventTags, &QLineEdit::editingFinished, [ui, inspector, this]() { | |
|
79 | // TODO | |
|
80 | }); | |
|
81 | ||
|
82 | connect(ui->dateTimeEventTStart, &QDateTimeEdit::editingFinished, [ui, inspector, this]() { | |
|
83 | auto time = DateUtils::secondsSinceEpoch(ui->dateTimeEventTStart->dateTime()); | |
|
84 | if (time != m_DisplayedEvent->getTStart()) { | |
|
85 | m_DisplayedEvent->setTStart(time); | |
|
86 | emit inspector->eventUpdated(m_DisplayedEvent); | |
|
87 | } | |
|
88 | }); | |
|
89 | ||
|
90 | connect(ui->dateTimeEventTEnd, &QDateTimeEdit::editingFinished, [ui, inspector, this]() { | |
|
91 | auto time = DateUtils::secondsSinceEpoch(ui->dateTimeEventTEnd->dateTime()); | |
|
92 | if (time != m_DisplayedEvent->getTEnd()) { | |
|
93 | m_DisplayedEvent->setTEnd(time); | |
|
94 | emit inspector->eventUpdated(m_DisplayedEvent); | |
|
95 | } | |
|
96 | }); | |
|
40 | 97 | } |
|
41 | 98 | |
|
42 | 99 | void CatalogueInspectorWidget::showPage(CatalogueInspectorWidget::Page page) |
@@ -114,7 +114,11 | |||
|
114 | 114 | <widget class="QWidget" name="eventInspectorPage"> |
|
115 | 115 | <layout class="QGridLayout" name="gridLayout"> |
|
116 | 116 | <item row="5" column="1"> |
|
117 |
<widget class="QDateTimeEdit" name="dateTimeEventTEnd" |
|
|
117 | <widget class="QDateTimeEdit" name="dateTimeEventTEnd"> | |
|
118 | <property name="timeSpec"> | |
|
119 | <enum>Qt::UTC</enum> | |
|
120 | </property> | |
|
121 | </widget> | |
|
118 | 122 | </item> |
|
119 | 123 | <item row="4" column="0"> |
|
120 | 124 | <widget class="QLabel" name="label_4"> |
@@ -148,7 +152,11 | |||
|
148 | 152 | </widget> |
|
149 | 153 | </item> |
|
150 | 154 | <item row="4" column="1"> |
|
151 |
<widget class="QDateTimeEdit" name="dateTimeEventTStart" |
|
|
155 | <widget class="QDateTimeEdit" name="dateTimeEventTStart"> | |
|
156 | <property name="timeSpec"> | |
|
157 | <enum>Qt::UTC</enum> | |
|
158 | </property> | |
|
159 | </widget> | |
|
152 | 160 | </item> |
|
153 | 161 | <item row="2" column="0"> |
|
154 | 162 | <widget class="QLabel" name="label_2"> |
General Comments 3
Status change > Approved
You need to be logged in to leave comments.
Login now