|
|
@ -281,7 +281,8 @@ bool MessageListModel::matchMessage(const MessageId &id, const CanData &data, co |
|
|
|
case Column::NAME: { |
|
|
|
case Column::NAME: { |
|
|
|
const auto msg = dbc()->msg(id); |
|
|
|
const auto msg = dbc()->msg(id); |
|
|
|
match = re.match(msg ? msg->name : UNTITLED).hasMatch(); |
|
|
|
match = re.match(msg ? msg->name : UNTITLED).hasMatch(); |
|
|
|
match |= msg && std::any_of(msg->sigs.cbegin(), msg->sigs.cend(), [&re](const auto &s) { return re.match(s->name).hasMatch(); }); |
|
|
|
match = match || (msg && std::any_of(msg->sigs.cbegin(), msg->sigs.cend(), |
|
|
|
|
|
|
|
[&re](const auto &s) { return re.match(s->name).hasMatch(); })); |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
case Column::SOURCE: |
|
|
|
case Column::SOURCE: |
|
|
@ -289,7 +290,7 @@ bool MessageListModel::matchMessage(const MessageId &id, const CanData &data, co |
|
|
|
break; |
|
|
|
break; |
|
|
|
case Column::ADDRESS: { |
|
|
|
case Column::ADDRESS: { |
|
|
|
match = re.match(QString::number(id.address, 16)).hasMatch(); |
|
|
|
match = re.match(QString::number(id.address, 16)).hasMatch(); |
|
|
|
match |= parseRange(txt, id.address, 16); |
|
|
|
match = match || parseRange(txt, id.address, 16); |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
case Column::FREQ: |
|
|
|
case Column::FREQ: |
|
|
@ -301,8 +302,8 @@ bool MessageListModel::matchMessage(const MessageId &id, const CanData &data, co |
|
|
|
break; |
|
|
|
break; |
|
|
|
case Column::DATA: { |
|
|
|
case Column::DATA: { |
|
|
|
match = QString(data.dat.toHex()).contains(txt, Qt::CaseInsensitive); |
|
|
|
match = QString(data.dat.toHex()).contains(txt, Qt::CaseInsensitive); |
|
|
|
match |= re.match(QString(data.dat.toHex())).hasMatch(); |
|
|
|
match = match || re.match(QString(data.dat.toHex())).hasMatch(); |
|
|
|
match |= re.match(QString(data.dat.toHex(' '))).hasMatch(); |
|
|
|
match = match || re.match(QString(data.dat.toHex(' '))).hasMatch(); |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|