[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/work/unity/WebKit/WebCore/platform/qt
From: Nikolas Zimmermann <wildfox () kde ! org>
Date: 2006-08-01 17:48:23
Message-ID: 1154454503.348379.2191.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 568597 by wildfox:
* Protect against null widget (could happen)
* Fix viewportToContents/contentsToViewport (Qt already does the work!)
-> before that after scrolling one couldn't use any widget anymore
(entering text wasn't possible, or clicking on buttons etc..)
M +16 -14 ScrollViewQt.cpp
--- branches/work/unity/WebKit/WebCore/platform/qt/ScrollViewQt.cpp #568596:568597
@@ -34,16 +34,11 @@
#include "FrameQt.h"
#include "CanvasQt.h"
+#include "HelperQt.h"
#include <QScrollBar>
#include <QScrollArea>
-#include <QApplication>
-
-using namespace std;
-
-#define notImplemented() do { fprintf(stderr, "FIXME: UNIMPLEMENTED: %s:%d\n", \
__FILE__, __LINE__); } while(0)
-
namespace WebCore {
ScrollView::ScrollView() : m_area(new QScrollArea(0))
@@ -72,7 +67,8 @@
void ScrollView::updateContents(const IntRect& updateRect, bool now)
{
- m_area->widget()->update(updateRect);
+ if (m_area->widget())
+ m_area->widget()->update(updateRect);
}
int ScrollView::visibleWidth() const
@@ -103,7 +99,7 @@
void ScrollView::resizeContents(int w, int h)
{
if (m_area->widget())
- m_area->widget()->resize(w,h);
+ m_area->widget()->resize(w, h);
}
int ScrollView::contentsX() const
@@ -118,24 +114,30 @@
int ScrollView::contentsWidth() const
{
+ if (!m_area->widget())
+ return 0;
+
return m_area->widget()->width();
}
int ScrollView::contentsHeight() const
{
+ if (!m_area->widget())
+ return 0;
+
return m_area->widget()->height();
}
IntPoint ScrollView::viewportToContents(const IntPoint& viewportPoint)
{
- return IntPoint(viewportPoint.x() + m_area->horizontalScrollBar()->value(),
- viewportPoint.y() + m_area->verticalScrollBar()->value());
+ // Qt already handles this in the coordinates we get from the mouse events...
+ return viewportPoint;
}
IntPoint ScrollView::contentsToViewport(const IntPoint& contentsPoint)
{
- return IntPoint(contentsPoint.x() - m_area->horizontalScrollBar()->value(),
- contentsPoint.y() - m_area->verticalScrollBar()->value());
+ // Qt already handles this in the coordinates we get from the mouse events...
+ return contentsPoint;
}
IntSize ScrollView::scrollOffset() const
@@ -145,8 +147,8 @@
void ScrollView::scrollBy(int dx, int dy)
{
- m_area->horizontalScrollBar()->setValue(m_area->horizontalScrollBar()->value()+dx);
- m_area->verticalScrollBar()->setValue(m_area->verticalScrollBar()->value()+dy);
+ m_area->horizontalScrollBar()->setValue(m_area->horizontalScrollBar()->value() + \
dx); + m_area->verticalScrollBar()->setValue(m_area->verticalScrollBar()->value() \
+ dy); }
ScrollBarMode ScrollView::hScrollBarMode() const
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic