Skip to content

Commit 4475576

Browse files
committed
Refactoring
1 parent c4968bc commit 4475576

8 files changed

Lines changed: 127 additions & 133 deletions

File tree

omodsim/controls/modbuslogwidget.cpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,12 @@ void ModbusLogModel::clear()
7070
/// \brief ModbusLogModel::append
7171
/// \param data
7272
///
73-
void ModbusLogModel::append(const ModbusMessage* data)
73+
void ModbusLogModel::append(QSharedPointer<const ModbusMessage> data)
7474
{
7575
if(data == nullptr) return;
7676

7777
while(rowCount() >= _rowLimit)
7878
{
79-
delete _items.first();
8079
_items.removeFirst();
8180
}
8281

@@ -108,9 +107,6 @@ void ModbusLogModel::setRowLimit(int val)
108107
///
109108
void ModbusLogModel::deleteItems()
110109
{
111-
for(auto&& i : _items)
112-
delete i;
113-
114110
_items.clear();
115111
}
116112

@@ -183,9 +179,9 @@ QModelIndex ModbusLogWidget::index(int row)
183179
/// \param request
184180
/// \return
185181
///
186-
const ModbusMessage* ModbusLogWidget::addItem(const QModbusPdu& pdu, ModbusMessage::ProtocolType protocol, int deviceId, int transactionId, const QDateTime& timestamp, bool request)
182+
QSharedPointer<const ModbusMessage> ModbusLogWidget::addItem(const QModbusPdu& pdu, ModbusMessage::ProtocolType protocol, int deviceId, int transactionId, const QDateTime& timestamp, bool request)
187183
{
188-
const ModbusMessage* msg = nullptr;
184+
QSharedPointer<const ModbusMessage> msg;
189185
if(model())
190186
{
191187
msg = ModbusMessage::create(pdu, protocol, deviceId, timestamp, request);
@@ -202,13 +198,13 @@ const ModbusMessage* ModbusLogWidget::addItem(const QModbusPdu& pdu, ModbusMessa
202198
/// \param index
203199
/// \return
204200
///
205-
const ModbusMessage* ModbusLogWidget::itemAt(const QModelIndex& index)
201+
QSharedPointer<const ModbusMessage> ModbusLogWidget::itemAt(const QModelIndex& index)
206202
{
207203
if(!index.isValid())
208204
return nullptr;
209205

210206
return model() ?
211-
model()->data(index, Qt::UserRole).value<const ModbusMessage*>() :
207+
model()->data(index, Qt::UserRole).value<QSharedPointer<const ModbusMessage>>() :
212208
nullptr;
213209
}
214210

omodsim/controls/modbuslogwidget.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class ModbusLogModel : public QAbstractListModel
2222
QVariant data(const QModelIndex& index, int role) const override;
2323

2424
void clear();
25-
void append(const ModbusMessage* data);
25+
void append(QSharedPointer<const ModbusMessage> data);
2626
void update(){
2727
emit dataChanged(index(0), index(_items.size() - 1));
2828
}
@@ -36,7 +36,7 @@ class ModbusLogModel : public QAbstractListModel
3636
private:
3737
int _rowLimit = 30;
3838
ModbusLogWidget* _parentWidget;
39-
QQueue<const ModbusMessage*> _items;
39+
QQueue<QSharedPointer<const ModbusMessage>> _items;
4040
};
4141

4242
///
@@ -53,8 +53,8 @@ class ModbusLogWidget : public QListView
5353
int rowCount() const;
5454
QModelIndex index(int row);
5555

56-
const ModbusMessage* addItem(const QModbusPdu& pdu, ModbusMessage::ProtocolType protocol, int deviceId, int transactionId, const QDateTime& timestamp, bool request);
57-
const ModbusMessage* itemAt(const QModelIndex& index);
56+
QSharedPointer<const ModbusMessage> addItem(const QModbusPdu& pdu, ModbusMessage::ProtocolType protocol, int deviceId, int transactionId, const QDateTime& timestamp, bool request);
57+
QSharedPointer<const ModbusMessage> itemAt(const QModelIndex& index);
5858

5959
DataDisplayMode dataDisplayMode() const;
6060
void setDataDisplayMode(DataDisplayMode mode);

omodsim/controls/modbusmessagewidget.cpp

Lines changed: 35 additions & 35 deletions
Large diffs are not rendered by default.

omodsim/controls/modbusmessagewidget.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ class ModbusMessageWidget : public QListWidget
2121
ByteOrder byteOrder() const;
2222
void setByteOrder(ByteOrder order);
2323

24-
const ModbusMessage* modbusMessage() const;
25-
void setModbusMessage(const ModbusMessage* msg);
24+
QSharedPointer<const ModbusMessage> modbusMessage() const;
25+
void setModbusMessage(QSharedPointer<const ModbusMessage> msg);
2626

2727
bool showTimestamp() const;
2828
void setShowTimestamp(bool on);
@@ -40,7 +40,7 @@ class ModbusMessageWidget : public QListWidget
4040
ByteOrder _byteOrder;
4141
DataDisplayMode _dataDisplayMode;
4242
bool _showTimestamp;
43-
const ModbusMessage* _mm;
43+
QSharedPointer<const ModbusMessage> _mm;
4444
};
4545

4646
#endif // MODBUSMESSAGEWIDGET_H

omodsim/dialogs/dialogmsgparser.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ DialogMsgParser::DialogMsgParser(DataDisplayMode mode, ModbusMessage::ProtocolTy
3535
DialogMsgParser::~DialogMsgParser()
3636
{
3737
delete ui;
38-
if(_mm) delete _mm;
3938
}
4039

4140
///
@@ -97,7 +96,6 @@ void DialogMsgParser::on_pushButtonParse_clicked()
9796
if(ui->buttonTcp->isChecked())
9897
protocol = ModbusMessage::Tcp;
9998

100-
if(_mm) delete _mm;
10199
_mm = ModbusMessage::create(data, protocol, QDateTime::currentDateTime(), ui->request->isChecked());
102100
ui->info->setModbusMessage(_mm);
103101
}

omodsim/dialogs/dialogmsgparser.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ private slots:
3131

3232
private:
3333
Ui::DialogMsgParser *ui;
34-
const ModbusMessage* _mm;
34+
QSharedPointer<const ModbusMessage> _mm;
3535
};
3636

3737
#endif // DIALOGMSGPARSER_H

0 commit comments

Comments
 (0)