Updated Sniffer help, added a lot of functionality to Sniffer Window
Sniffer can now keep all ids without expiring Fade out bytes that aren't changing
This commit is contained in:
@@ -5,7 +5,11 @@
|
||||
|
||||
SnifferModel::SnifferModel(QObject *parent)
|
||||
: QAbstractItemModel(parent),
|
||||
mFilter(false)
|
||||
mFilter(false),
|
||||
mNeverExpire(false),
|
||||
mFadeInactive(false),
|
||||
mMuteNotched(false),
|
||||
mTimeSequence(0)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -61,11 +65,20 @@ QVariant SnifferModel::data(const QModelIndex &index, int role) const
|
||||
}
|
||||
break;
|
||||
}
|
||||
case Qt::ForegroundRole:
|
||||
{
|
||||
if (!mFadeInactive || col < 2) return QBrush(Qt::black);
|
||||
int v = (mTimeSequence - item->getDataTimestamp(col - 2)) * 20;
|
||||
if (v > 215) v = 215;
|
||||
return QBrush(QColor(v,v,v,255));
|
||||
break;
|
||||
}
|
||||
|
||||
case Qt::BackgroundRole:
|
||||
{
|
||||
if(tc::ID==col)
|
||||
{
|
||||
if(item->elapsed()>4000)
|
||||
if(item->elapsed() > 4000)
|
||||
return QBrush(Qt::red);
|
||||
}
|
||||
else if(tc::DATA_0<=col && col<=tc::DATA_7)
|
||||
@@ -143,6 +156,35 @@ QModelIndex SnifferModel::parent(const QModelIndex &) const
|
||||
return QModelIndex();
|
||||
}
|
||||
|
||||
bool SnifferModel::getNeverExpire()
|
||||
{
|
||||
return mNeverExpire;
|
||||
}
|
||||
|
||||
bool SnifferModel::getFadeInactive()
|
||||
{
|
||||
return mFadeInactive;
|
||||
}
|
||||
|
||||
bool SnifferModel::getMuteNotched()
|
||||
{
|
||||
return mMuteNotched;
|
||||
}
|
||||
|
||||
void SnifferModel::setNeverExpire(bool val)
|
||||
{
|
||||
mNeverExpire = val;
|
||||
}
|
||||
|
||||
void SnifferModel::setFadeInactive(bool val)
|
||||
{
|
||||
mFadeInactive = val;
|
||||
}
|
||||
|
||||
void SnifferModel::setMuteNotched(bool val)
|
||||
{
|
||||
mMuteNotched = val;
|
||||
}
|
||||
|
||||
void SnifferModel::clear()
|
||||
{
|
||||
@@ -161,13 +203,15 @@ void SnifferModel::refresh()
|
||||
QVector<quint32> toRemove;
|
||||
SnifferItem* item;
|
||||
|
||||
mTimeSequence++;
|
||||
|
||||
/* update markers */
|
||||
|
||||
|
||||
for (i = mMap.begin(); i != mMap.end(); ++i)
|
||||
{
|
||||
i.value()->updateMarker();
|
||||
if(i.value()->elapsed()>5000)
|
||||
if(i.value()->elapsed()>5000 && !mNeverExpire)
|
||||
toRemove.append(i.key());
|
||||
}
|
||||
|
||||
@@ -238,13 +282,14 @@ void SnifferModel::update(CANConnection*, QVector<CANFrame>& pFrames)
|
||||
/* add the frame */
|
||||
beginInsertRows(QModelIndex(), index, index);
|
||||
mMap[frame.ID] = new SnifferItem(frame);
|
||||
mMap[frame.ID]->update(frame, mTimeSequence);
|
||||
endInsertRows();
|
||||
|
||||
emit idChange(frame.ID, true);
|
||||
}
|
||||
else
|
||||
//updateData
|
||||
mMap[frame.ID]->update(frame);
|
||||
mMap[frame.ID]->update(frame, mTimeSequence);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user