forked from blue/squawk
cleanup some warnings suppression
This commit is contained in:
parent
5fbb03fc46
commit
23ec80ccba
26 changed files with 630 additions and 924 deletions
|
@ -79,11 +79,10 @@ QModelIndex FeedView::indexAt(const QPoint& point) const {
|
|||
for (std::deque<Hint>::size_type i = 0; i < hints.size(); ++i) {
|
||||
const Hint& hint = hints[i];
|
||||
if (y <= hint.offset + hint.height) {
|
||||
if (y > hint.offset) {
|
||||
if (y > hint.offset)
|
||||
return model()->index(i, 0, rootIndex());
|
||||
} else {
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -156,13 +155,11 @@ void FeedView::updateGeometries() {
|
|||
vo = 0;
|
||||
} else {
|
||||
int verticalMargin = 0;
|
||||
if (st->styleHint(QStyle::SH_ScrollView_FrameOnlyAroundContents)) {
|
||||
if (st->styleHint(QStyle::SH_ScrollView_FrameOnlyAroundContents))
|
||||
frameAroundContents = st->pixelMetric(QStyle::PM_DefaultFrameWidth) * 2;
|
||||
}
|
||||
|
||||
if (verticalScrollBarPolicy() == Qt::ScrollBarAsNeeded) {
|
||||
if (verticalScrollBarPolicy() == Qt::ScrollBarAsNeeded)
|
||||
verticalMargin = verticalScrollBarExtent + frameAroundContents;
|
||||
}
|
||||
|
||||
layoutBounds.rwidth() -= verticalMargin;
|
||||
|
||||
|
@ -176,21 +173,19 @@ void FeedView::updateGeometries() {
|
|||
QModelIndex index = m->index(i, 0, rootIndex());
|
||||
QDateTime currentDate = index.data(Models::MessageFeed::Date).toDateTime();
|
||||
if (i > 0) {
|
||||
if (currentDate.daysTo(lastDate) > 0) {
|
||||
if (currentDate.daysTo(lastDate) > 0)
|
||||
previousOffset += dividerMetrics.height() + dateDeviderMargin * 2;
|
||||
} else {
|
||||
else
|
||||
previousOffset += elementMargin;
|
||||
}
|
||||
}
|
||||
lastDate = currentDate;
|
||||
QSize messageSize = itemDelegate(index)->sizeHint(option, index);
|
||||
uint32_t offsetX(0);
|
||||
if (specialDelegate) {
|
||||
if (index.data(Models::MessageFeed::SentByMe).toBool()) {
|
||||
if (index.data(Models::MessageFeed::SentByMe).toBool())
|
||||
offsetX = layoutBounds.width() - messageSize.width() - MessageDelegate::avatarHeight - MessageDelegate::margin * 2;
|
||||
} else {
|
||||
else
|
||||
offsetX = MessageDelegate::avatarHeight + MessageDelegate::margin * 2;
|
||||
}
|
||||
}
|
||||
|
||||
hints.emplace_back(Hint({
|
||||
|
@ -204,9 +199,9 @@ void FeedView::updateGeometries() {
|
|||
}
|
||||
|
||||
int totalHeight = previousOffset - layoutBounds.height() + dividerMetrics.height() + dateDeviderMargin * 2;
|
||||
if (modelState != Models::MessageFeed::complete) {
|
||||
if (modelState != Models::MessageFeed::complete)
|
||||
totalHeight += progressSize;
|
||||
}
|
||||
|
||||
vo = qMax(qMin(vo, totalHeight), 0);
|
||||
bar->setRange(0, totalHeight);
|
||||
bar->setPageStep(layoutBounds.height());
|
||||
|
@ -219,7 +214,6 @@ void FeedView::updateGeometries() {
|
|||
clearWidgetsMode = true;
|
||||
}
|
||||
|
||||
|
||||
QAbstractItemView::updateGeometries();
|
||||
}
|
||||
|
||||
|
@ -230,26 +224,23 @@ bool FeedView::tryToCalculateGeometriesWithNoScrollbars(const QStyleOptionViewIt
|
|||
QModelIndex index = m->index(i, 0, rootIndex());
|
||||
QDateTime currentDate = index.data(Models::MessageFeed::Date).toDateTime();
|
||||
if (i > 0) {
|
||||
if (currentDate.daysTo(lastDate) > 0) {
|
||||
if (currentDate.daysTo(lastDate) > 0)
|
||||
previousOffset += dateDeviderMargin * 2 + dividerMetrics.height();
|
||||
} else {
|
||||
else
|
||||
previousOffset += elementMargin;
|
||||
}
|
||||
}
|
||||
lastDate = currentDate;
|
||||
QSize messageSize = itemDelegate(index)->sizeHint(option, index);
|
||||
|
||||
if (previousOffset + messageSize.height() + elementMargin > totalHeight) {
|
||||
if (previousOffset + messageSize.height() + elementMargin > totalHeight)
|
||||
return false;
|
||||
}
|
||||
|
||||
uint32_t offsetX(0);
|
||||
if (specialDelegate) {
|
||||
if (index.data(Models::MessageFeed::SentByMe).toBool()) {
|
||||
if (index.data(Models::MessageFeed::SentByMe).toBool())
|
||||
offsetX = option.rect.width() - messageSize.width() - MessageDelegate::avatarHeight - MessageDelegate::margin * 2;
|
||||
} else {
|
||||
else
|
||||
offsetX = MessageDelegate::avatarHeight + MessageDelegate::margin * 2;
|
||||
}
|
||||
}
|
||||
hints.emplace_back(Hint({
|
||||
false,
|
||||
|
@ -262,9 +253,8 @@ bool FeedView::tryToCalculateGeometriesWithNoScrollbars(const QStyleOptionViewIt
|
|||
}
|
||||
|
||||
previousOffset += dateDeviderMargin * 2 + dividerMetrics.height();
|
||||
if (previousOffset > totalHeight) {
|
||||
if (previousOffset > totalHeight)
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -284,13 +274,12 @@ void FeedView::paintEvent(QPaintEvent* event) {
|
|||
const Hint& hint = hints[i];
|
||||
int32_t relativeY1 = vph - hint.offset - hint.height;
|
||||
if (!inZone) {
|
||||
if (y2 > relativeY1) {
|
||||
if (y2 > relativeY1)
|
||||
inZone = true;
|
||||
}
|
||||
}
|
||||
if (inZone) {
|
||||
if (inZone)
|
||||
toRener.emplace_back(m->index(i, 0, rootIndex()));
|
||||
}
|
||||
|
||||
if (y1 > relativeY1) {
|
||||
inZone = false;
|
||||
break;
|
||||
|
@ -304,9 +293,8 @@ void FeedView::paintEvent(QPaintEvent* event) {
|
|||
|
||||
if (specialDelegate) {
|
||||
MessageDelegate* del = static_cast<MessageDelegate*>(itemDelegate());
|
||||
if (clearWidgetsMode) {
|
||||
if (clearWidgetsMode)
|
||||
del->beginClearWidgets();
|
||||
}
|
||||
}
|
||||
|
||||
QDateTime lastDate;
|
||||
|
@ -319,9 +307,8 @@ void FeedView::paintEvent(QPaintEvent* event) {
|
|||
int ind = index.row() - 1;
|
||||
if (ind > 0) {
|
||||
QDateTime underDate = m->index(ind, 0, rootIndex()).data(Models::MessageFeed::Date).toDateTime();
|
||||
if (currentDate.daysTo(underDate) > 0) {
|
||||
if (currentDate.daysTo(underDate) > 0)
|
||||
drawDateDevider(option.rect.bottom(), underDate, painter);
|
||||
}
|
||||
}
|
||||
first = false;
|
||||
}
|
||||
|
@ -332,14 +319,13 @@ void FeedView::paintEvent(QPaintEvent* event) {
|
|||
option.state.setFlag(QStyle::State_MouseOver, mouseOver);
|
||||
itemDelegate(index)->paint(&painter, option, index);
|
||||
|
||||
if (!lastDate.isNull() && currentDate.daysTo(lastDate) > 0) {
|
||||
if (!lastDate.isNull() && currentDate.daysTo(lastDate) > 0)
|
||||
drawDateDevider(option.rect.bottom(), lastDate, painter);
|
||||
}
|
||||
|
||||
lastDate = currentDate;
|
||||
}
|
||||
if (!lastDate.isNull() && inZone) { //if after drawing all messages there is still space
|
||||
if (!lastDate.isNull() && inZone) //if after drawing all messages there is still space
|
||||
drawDateDevider(option.rect.top() - dateDeviderMargin * 2 - dividerMetrics.height(), lastDate, painter);
|
||||
}
|
||||
|
||||
if (clearWidgetsMode && specialDelegate) {
|
||||
MessageDelegate* del = static_cast<MessageDelegate*>(itemDelegate());
|
||||
|
@ -362,13 +348,11 @@ void FeedView::verticalScrollbarValueChanged(int value) {
|
|||
|
||||
positionProgress();
|
||||
|
||||
if (specialDelegate) {
|
||||
if (specialDelegate)
|
||||
clearWidgetsMode = true;
|
||||
}
|
||||
|
||||
if (modelState == Models::MessageFeed::incomplete && value < progressSize) {
|
||||
if (modelState == Models::MessageFeed::incomplete && value < progressSize)
|
||||
model()->fetchMore(rootIndex());
|
||||
}
|
||||
|
||||
QAbstractItemView::verticalScrollbarValueChanged(vo);
|
||||
}
|
||||
|
@ -391,16 +375,14 @@ void FeedView::setAnchorHovered(Shared::Hover type) {
|
|||
}
|
||||
|
||||
void FeedView::mouseMoveEvent(QMouseEvent* event) {
|
||||
if (!isVisible()) {
|
||||
if (!isVisible())
|
||||
return;
|
||||
}
|
||||
|
||||
dragEndPoint = event->localPos().toPoint();
|
||||
if (mousePressed) {
|
||||
QPoint distance = dragStartPoint - dragEndPoint;
|
||||
if (distance.manhattanLength() > 5) {
|
||||
if (distance.manhattanLength() > 5)
|
||||
dragging = true;
|
||||
}
|
||||
}
|
||||
|
||||
QAbstractItemView::mouseMoveEvent(event);
|
||||
|
@ -423,11 +405,10 @@ void FeedView::mouseMoveEvent(QMouseEvent* event) {
|
|||
QModelIndex index = indexAt(dragEndPoint);
|
||||
if (index.isValid()) {
|
||||
QRect rect = visualRect(index);
|
||||
if (rect.contains(dragEndPoint)) {
|
||||
if (rect.contains(dragEndPoint))
|
||||
setAnchorHovered(del->hoverType(dragEndPoint, index, rect));
|
||||
} else {
|
||||
else
|
||||
setAnchorHovered(Shared::Hover::nothing);
|
||||
}
|
||||
} else {
|
||||
setAnchorHovered(Shared::Hover::nothing);
|
||||
}
|
||||
|
@ -447,9 +428,8 @@ void FeedView::mousePressEvent(QMouseEvent* event) {
|
|||
if (lastSelectedId.size()) {
|
||||
Models::MessageFeed* feed = static_cast<Models::MessageFeed*>(model());
|
||||
QModelIndex index = feed->modelIndexById(lastSelectedId);
|
||||
if (index.isValid()) {
|
||||
if (index.isValid())
|
||||
setDirtyRegion(visualRect(index));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -467,18 +447,16 @@ void FeedView::mouseDoubleClickEvent(QMouseEvent* event) {
|
|||
if (lastSelectedId.size()) {
|
||||
Models::MessageFeed* feed = static_cast<Models::MessageFeed*>(model());
|
||||
QModelIndex index = feed->modelIndexById(lastSelectedId);
|
||||
if (index.isValid()) {
|
||||
if (index.isValid())
|
||||
setDirtyRegion(visualRect(index));
|
||||
}
|
||||
}
|
||||
|
||||
QModelIndex index = indexAt(dragStartPoint);
|
||||
QRect rect = visualRect(index);
|
||||
if (rect.contains(dragStartPoint)) {
|
||||
selectedText = del->leftDoubleClick(dragStartPoint, index, rect);
|
||||
if (selectedText.size() > 0) {
|
||||
if (selectedText.size() > 0)
|
||||
setDirtyRegion(rect);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -494,9 +472,8 @@ void FeedView::mouseReleaseEvent(QMouseEvent* event) {
|
|||
if (index.isValid()) {
|
||||
QRect rect = visualRect(index);
|
||||
MessageDelegate* del = static_cast<MessageDelegate*>(itemDelegate());
|
||||
if (rect.contains(point)) {
|
||||
if (rect.contains(point))
|
||||
del->leftClick(point, index, rect);
|
||||
}
|
||||
}
|
||||
}
|
||||
dragging = false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue