summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoopesh Chander <roop@forwardbias.in>2009-11-11 19:34:17 +0530
committerRoopesh Chander <roop@forwardbias.in>2009-11-11 19:34:54 +0530
commit739b38073991f9cb24220180c604f6be5f482afe (patch)
tree2867aaad08274f8a9363a2521c5d8e45cda5aa66
parent8084be771d14e4262335c2eba906bea58fe04abd (diff)
since QGraphicsWebView::setInteractive() is gone, we need an alternate way to
make links unclickable when you move/adjust the page with the mouse in the edit mode.
-rw-r--r--webscrap.cpp22
-rw-r--r--webscrap.h6
2 files changed, 26 insertions, 2 deletions
diff --git a/webscrap.cpp b/webscrap.cpp
index be15a2f..9cebc0f 100644
--- a/webscrap.cpp
+++ b/webscrap.cpp
@@ -85,7 +85,7 @@ const QTimer* WebScrap::refreshTimer() const {
void WebScrap::setDimensionsFixed(bool fixed) {
m_isDimensionsFixed = fixed;
- // setInteractive(fixed);
+ setMouseClicksEnabled(fixed);
update();
}
@@ -93,6 +93,14 @@ bool WebScrap::dimensionsFixed() const {
return m_isDimensionsFixed;
}
+void WebScrap::setMouseClicksEnabled(bool enabled) {
+ m_isMouseClicksEnabled = enabled;
+}
+
+bool WebScrap::mouseClicksEnabled() const {
+ return m_isMouseClicksEnabled;
+}
+
void WebScrap::setPageSize(QSize size) {
m_pageSize = size;
}
@@ -138,6 +146,18 @@ void WebScrap::mouseMoveEvent(QGraphicsSceneMouseEvent *event) {
}
}
+bool WebScrap::event(QEvent *e) {
+ if (!mouseClicksEnabled()) {
+ if (e->type() == QEvent::GraphicsSceneMousePress ||
+ e->type() == QEvent::GraphicsSceneMouseRelease ||
+ e->type() == QEvent::GraphicsSceneMouseDoubleClick) {
+ e->accept();
+ return true;
+ }
+ }
+ return QGraphicsWebView::event(e);
+}
+
void WebScrap::paint(QPainter* painter, const QStyleOptionGraphicsItem* options, QWidget* widget) {
painter->save();
diff --git a/webscrap.h b/webscrap.h
index 0612198..4e1d2a1 100644
--- a/webscrap.h
+++ b/webscrap.h
@@ -35,6 +35,9 @@ public:
void setPageSize(QSize size);
QSize pageSize() const;
+ void setMouseClicksEnabled(bool enabled);
+ bool mouseClicksEnabled() const;
+
public slots:
void onLoadFinished();
void onLoadStarted();
@@ -45,6 +48,7 @@ public slots:
protected:
void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
+ bool event(QEvent *e);
private:
QRect m_scrapRect;
@@ -56,7 +60,7 @@ private:
bool m_isDimensionsFixed;
QPixmap m_loadingPix, m_adjustablePix, m_arrowPix, m_scalePix;
QSize m_pageSize;
- bool m_isLoading;
+ bool m_isLoading, m_isMouseClicksEnabled;
};
class WebScrapContainer : public QGraphicsWidget {