optimization
This commit is contained in:
@@ -4,9 +4,9 @@
|
||||
|
||||
|
||||
SnifferItem::SnifferItem(const CANFrame& pFrame):
|
||||
mNotch(0)
|
||||
mNotch(0),
|
||||
mID(pFrame.ID)
|
||||
{
|
||||
mID = pFrame.ID;
|
||||
mMarker = {0,0};
|
||||
mLastMarker = {0,0};
|
||||
/* that's dirty */
|
||||
@@ -65,7 +65,7 @@ void SnifferItem::update(const CANFrame& pFrame)
|
||||
|
||||
/* update marker */
|
||||
mMarker.data |= mLast.data ^ mCurrent.data;
|
||||
mMarker.len |= mLast.len ^ mCurrent.data;
|
||||
mMarker.len |= mLast.len ^ mCurrent.len;
|
||||
|
||||
/* restart timeout */
|
||||
mTime.restart();
|
||||
|
||||
+12
-11
@@ -11,7 +11,9 @@ SnifferModel::SnifferModel(QObject *parent)
|
||||
|
||||
SnifferModel::~SnifferModel()
|
||||
{
|
||||
clear();
|
||||
qDeleteAll(mMap);
|
||||
mMap.clear();
|
||||
mFilters.clear();
|
||||
}
|
||||
|
||||
|
||||
@@ -33,12 +35,8 @@ QVariant SnifferModel::data(const QModelIndex &index, int role) const
|
||||
if (!index.isValid())
|
||||
return QVariant();
|
||||
|
||||
const QMap<quint32, SnifferItem*>& map = mFilter ? mFilters : mMap;
|
||||
|
||||
if(index.row()<=map.size())
|
||||
{
|
||||
quint64 key = map.keys()[index.row()];
|
||||
SnifferItem* item = map[key];
|
||||
SnifferItem *item = static_cast<SnifferItem*>(index.internalPointer());
|
||||
if(!item) QVariant();
|
||||
|
||||
int col = index.column();
|
||||
|
||||
@@ -86,7 +84,6 @@ QVariant SnifferModel::data(const QModelIndex &index, int role) const
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return QVariant();
|
||||
}
|
||||
@@ -122,8 +119,7 @@ QVariant SnifferModel::headerData(int section, Qt::Orientation orientation, int
|
||||
}
|
||||
|
||||
|
||||
QModelIndex SnifferModel::index(int row, int column, const QModelIndex &parent)
|
||||
const
|
||||
QModelIndex SnifferModel::index(int row, int column, const QModelIndex &parent) const
|
||||
{
|
||||
if (parent.isValid())
|
||||
return QModelIndex();
|
||||
@@ -133,7 +129,12 @@ QModelIndex SnifferModel::index(int row, int column, const QModelIndex &parent)
|
||||
if(column>tc::LAST || row>=map.size())
|
||||
return QModelIndex();
|
||||
|
||||
return createIndex(row, column);
|
||||
/* ugly but I can't find best without creating a list to keep indexes */
|
||||
QMap<quint32, SnifferItem*>::const_iterator iter;
|
||||
int i;
|
||||
for(iter = map.begin(), i=0 ; i<row ; ++i, ++iter);
|
||||
|
||||
return createIndex(row, column, iter.value());
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user