| 842 | } |
| 843 | |
| 844 | bool View::eventFilter(QObject *object, QEvent *event) |
| 845 | { |
| 846 | const QEvent::Type type = event->type(); |
| 847 | if (type == QEvent::MouseMove) { |
| 848 | const QMouseEvent *const mouse_event = (QMouseEvent*)event; |
| 849 | if (object == _ruler || object == _time_viewport || object == _fft_viewport) { |
| 850 | //_hover_point = QPoint(mouse_event->x(), 0); |
| 851 | double cur_periods = (mouse_event->pos().x() + _offset) * _scale / _ruler->get_min_period(); |
| 852 | int integer_x = round(cur_periods) * _ruler->get_min_period() / _scale - _offset; |
| 853 | double cur_deviate_x = qAbs(mouse_event->pos().x() - integer_x); |
| 854 | if (_device_agent->get_work_mode() == LOGIC && |
| 855 | cur_deviate_x < 10) |
| 856 | _hover_point = QPoint(integer_x, mouse_event->pos().y()); |
| 857 | else |
| 858 | _hover_point = mouse_event->pos(); |
| 859 | } else if (object == _header) |
| 860 | _hover_point = QPoint(0, mouse_event->y()); |
| 861 | else |
| 862 | _hover_point = QPoint(-1, -1); |
| 863 | |
| 864 | hover_point_changed(); |
| 865 | } else if (type == QEvent::Leave) { |
| 866 | _hover_point = QPoint(-1, -1); |
| 867 | hover_point_changed(); |
| 868 | } |
| 869 | |
| 870 | return QObject::eventFilter(object, event); |
| 871 | } |
| 872 | |
| 873 | bool View::viewportEvent(QEvent *e) |
| 874 | { |
nothing calls this directly
no test coverage detected