| Summary: | Datamode no longer working when scrolling | ||
|---|---|---|---|
| Product: | [Applications] kst | Reporter: | Andrew Walker <arwalker> |
| Component: | general | Assignee: | kst |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | 1.x | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Andrew Walker
2004-12-18 21:36:35 UTC
Duplicate post. Not a duplicate post. My apologies for 95410, which I incorrectly posted to ksjembed. However, 95412 and 95413 are different bugs. They appear similar at first glance but are different. -----Original Message----- From: owner@bugs.kde.org [mailto:owner@bugs.kde.org]On Behalf Of Thiago Macieira Sent: Saturday, December 18, 2004 2:50 PM To: arwalker@sumusltd.com Subject: [Bug 95412] Datamode no longer working when scrolling ------- You are receiving this mail because: ------- You reported the bug, or are watching the reporter. http://bugs.kde.org/show_bug.cgi?id=95412 thiago.macieira kdemail net changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |INVALID ------- Additional Comments From thiago.macieira kdemail net 2004-12-18 23:50 ------- Yes it is. You posted it three times: Bugs 95410, 95412 and 95413. I closed two. You're right. Just a few words different. Sorry for the inconvenience. On Saturday 18 December 2004 17:55, Thiago Macieira wrote: > 23:55 ------- You're right. Just a few words different. > > Sorry for the inconvenience. But they're actually the same bug anyway. CVS commit by staikos:
Update the datamode marker when scrolling and zooming
BUG: 95413, 95412
M +12 -5 kst2dplot.cpp 1.336
M +2 -1 kst2dplot.h 1.130
--- kdeextragear-2/kst/kst/kst2dplot.cpp #1.335:1.336
@@ -1956,8 +1956,8 @@ void Kst2DPlot::paint(KstPaintType type,
if (view) {
_copy_x = _copy_y = KST::NOPOINT;
- if (GetPlotRegion().contains(_mouse.lastLocation)) {
- updateMousePos(_mouse.lastLocation);
+ if (GetPlotRegion().contains(_mouse.tracker)) {
+ updateMousePos(_mouse.tracker);
if (KstApp::inst()->dataMode()) {
- highlightNearestDataPoint(false, view, _mouse.lastLocation);
+ highlightNearestDataPoint(false, view, _mouse.tracker);
}
}
@@ -2954,5 +2954,5 @@ bool Kst2DPlot::mouseHandler() const {
void Kst2DPlot::removeFocus(QPainter& p) {
- _mouse.lastLocation = QPoint(-1, -1);
+ _mouse.tracker = _mouse.lastLocation = QPoint(-1, -1);
p.setClipRegion(_lastClipRegion);
setHasFocus(false);
@@ -3159,4 +3159,6 @@ void Kst2DPlot::mouseMoveEvent(QWidget *
}
+ _mouse.tracker = e->pos();
+
if (globalZoomType() == LABEL_TOOL) { // HACK
_mouse.mode = LABEL_TOOL;
@@ -3432,4 +3434,6 @@ void Kst2DPlot::mouseReleaseEvent(QWidge
static_cast<KstViewWidget*>(view)->viewObject()->releaseMouse(this);
+ _mouse.tracker = e->pos();
+
QRect newg = _mouse.mouseRect();
if (_mouse.mode == XY_ZOOMBOX) {
@@ -3574,4 +3578,5 @@ KstMouse::KstMouse()
minMove = 2;
lastLocation = QPoint(-1, -1);
+ tracker = QPoint(-1, -1);
}
@@ -3638,5 +3643,5 @@ void Kst2DPlot::zoomRectUpdate(QWidget *
void Kst2DPlot::setCursorForMode(QWidget *view) {
Q_ASSERT(false);
- setCursorForMode(view, _mouse.mode, _mouse.lastLocation);
+ setCursorForMode(view, _mouse.mode, _mouse.tracker);
}
@@ -4588,4 +4593,6 @@ void Kst2DPlot::dropEvent(QWidget *view,
}
+ _mouse.tracker = e->pos();
+
if (accept) {
KstApp::inst()->document()->setModified();
--- kdeextragear-2/kst/kst/kst2dplot.h #1.129:1.130
@@ -61,5 +61,6 @@ struct KstMouse {
KstMouseModeType mode;
int label, minMove;
- QPoint lastLocation, pressLocation;
+ QPoint lastLocation, pressLocation; // for zooming primarily
+ QPoint tracker; // for tracking the mouse location
QRect plotGeometry;
bool zooming() const;
|