experiment two behavioural changes:

- don't flick when the contents are smaller than the view (or flick only for the axis where the contents are bigger)
- still pass mouse moves to childrens so they can initiate drags (useful? annoying? still to be found, but necessary for netbook sal to work at the moment)

svn path=/trunk/KDE/kdelibs/; revision=1105167
This commit is contained in:
Marco Martin 2010-03-19 12:09:08 +00:00
parent 0a92453ba5
commit 76d131a501
2 changed files with 5 additions and 6 deletions

View File

@ -714,13 +714,12 @@ public:
}
bool canXFlick() const
{
return !qFuzzyCompare(q->contentsSize().width() + borderSize,
q->viewportGeometry().width());
//make the thing feel quite "fixed" don't permit to flick when the contents size is less than the viewport
return q->contentsSize().width() + borderSize > q->viewportGeometry().width();
}
bool canYFlick() const
{
return !qFuzzyCompare(q->contentsSize().height() + borderSize,
q->viewportGeometry().height());
return q->contentsSize().height() + borderSize > q->viewportGeometry().height();
}
int elapsed(const QTime &t) const
@ -1168,8 +1167,8 @@ bool ScrollWidget::sceneEventFilter(QGraphicsItem *i, QEvent *e)
return false;
bool stealThisEvent = d->stealEvent;
//still pass around mouse moves: try to make still possible to make items start a drag event. thi could be either necessary or annoying, let's see how it goes. (add QEvent::GraphicsSceneMouseMove to block them)
stealThisEvent &= (e->type() == QEvent::GraphicsSceneMousePress ||
e->type() == QEvent::GraphicsSceneMouseMove ||
e->type() == QEvent::GraphicsSceneMouseRelease);
#if DEBUG
qDebug()<<"sceneEventFilter = " <<i<<", "

View File

@ -263,7 +263,7 @@ QVariant WebView::itemChange(GraphicsItemChange change, const QVariant &value)
//FIXME: QWebPage _requires_ a QWidget view to not crash in places such as
// WebCore::PopupMenu::show() due to hostWindow()->platformPageClient() == NULL
// because QWebPage::d->client is NULL
d->webView->page()->setView(viewFor(this));
//d->webView->page()->setView(viewFor(this));
}
return QGraphicsWidget::itemChange(change, value);
}