fix measure update when move cursor by mouse click

This commit is contained in:
DreamSourceLab 2018-01-02 12:37:34 +08:00
parent cac236aebc
commit dcdd51b262
2 changed files with 9 additions and 5 deletions

View File

@ -254,6 +254,7 @@ void MeasureDock::cursor_moving()
void MeasureDock::reCalc()
{
update_dist();
update_edge();
}

View File

@ -257,7 +257,7 @@ void Ruler::mousePressEvent(QMouseEvent *event)
void Ruler::mouseReleaseEvent(QMouseEvent *event)
{
bool addCursor = false;
bool updatedCursor = false;
if (event->button() & Qt::LeftButton) {
if (!_hitCursor && !_grabbed_marker) {
if (!_cursor_go_visible) {
@ -271,12 +271,14 @@ void Ruler::mouseReleaseEvent(QMouseEvent *event)
if (overCursor == 0) {
_view.add_cursor(CursorColor[_view.get_cursorList().size() % 8], index);
_view.show_cursors(true);
addCursor = true;
updatedCursor = true;
} else if (overCursor > 0) {
list<Cursor*>::iterator i = _view.get_cursorList().begin();
while (--overCursor != 0)
i++;
(*i)->set_index(index);
updatedCursor = true;
_view.cursor_moved();
}
_cursor_sel_visible = false;
}
@ -326,9 +328,10 @@ void Ruler::mouseReleaseEvent(QMouseEvent *event)
}
update();
if (addCursor) {
const QRect reDrawRect = QRect(_cursor_sel_x - 1, 0, 3, _view.viewport()->height());
_view.viewport()->update(reDrawRect);
if (updatedCursor) {
//const QRect reDrawRect = QRect(_cursor_sel_x - 1, 0, 3, _view.viewport()->height());
//_view.viewport()->update(reDrawRect);
_view.viewport()->update();
}
}