+2003-11-24 Alfredo Braunstein <abraunst@lyx.org>
+
+ * QContentpane.[Ch] (trackScrollbar): add
+ * QWorkarea.C (setScrollbarParams): do not track scrollbar signals
+ when manually setting the scrollbar position
+
2003-11-14 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
* ui/QMathDialogBase.ui: remove mention of \frac in tooltip, since
QContentPane::QContentPane(QWorkArea * parent)
: QWidget(parent, "content_pane", WRepaintNoErase),
- wa_(parent)
+ wa_(parent), track_scrollbar_(true)
{
setFocusPolicy(QWidget::WheelFocus);
setFocus();
void QContentPane::scrollBarChanged(int val)
{
- wa_->scrollDocView(val);
+ if (track_scrollbar_)
+ wa_->scrollDocView(val);
}
q.drawPixmap(QPoint(r.x(), r.y()),
*pixmap_.get(), r);
}
+
+
+void QContentPane::trackScrollbar(bool track_on)
+{
+ track_scrollbar_ = track_on;
+}
+
/// return the backing pixmap
QPixmap * pixmap() const { return pixmap_.get(); }
+ /// track scrollbar signals?
+ void trackScrollbar(bool track_on);
+
protected:
/// repaint part of the widget
void paintEvent(QPaintEvent * e);
void scrollBarChanged(int);
private:
+ ///
+ bool track_scrollbar_;
/// owning widget
QWorkArea * wa_;
int max = std::max(0, h - height());
scrollbar_->setRange(0, max);
+ content_->trackScrollbar(false);
scrollbar_->setValue(pos);
+ content_->trackScrollbar(true);
scrollbar_->setLineStep(line_h);
scrollbar_->setPageStep(height());
}