* BUG: ScrollView: Layout is now correct if the ScrollBar property is set 
  to Scroll.None.


git-svn-id: svn://localhost/gambas/trunk@6695 867c0c6c-44f3-4631-809d-bfa615b0a4ec
This commit is contained in:
Benoît Minisini 2014-12-01 13:06:09 +00:00
parent dfc8140da0
commit 64ac98d336
2 changed files with 16 additions and 10 deletions

View file

@ -75,6 +75,16 @@ void MyScrollView::doUpdateScrollbars()
qApp->sendEvent(this, &e);
}
int MyScrollView::getScrollbar()
{
int scroll = 0;
if (horizontalScrollBarPolicy() == Qt::ScrollBarAsNeeded)
scroll += 1;
if (verticalScrollBarPolicy() == Qt::ScrollBarAsNeeded)
scroll += 2;
return scroll;
}
/***************************************************************************
class MyContents
@ -291,7 +301,10 @@ void MyContents::autoResize(void)
qDebug("autoResize: (%s %p)", THIS->widget.name, THIS);
#endif
sbsize = qApp->style()->pixelMetric(QStyle::PM_ScrollBarExtent) + QMAX(0, qApp->style()->pixelMetric(QStyle::PM_ScrollView_ScrollBarSpacing));
if (sw->getScrollbar())
sbsize = qApp->style()->pixelMetric(QStyle::PM_ScrollBarExtent) + QMAX(0, qApp->style()->pixelMetric(QStyle::PM_ScrollView_ScrollBarSpacing));
else
sbsize = 0;
locked = THIS->arrangement.locked;
THIS->arrangement.locked = true;
@ -665,15 +678,7 @@ BEGIN_PROPERTY(CSCROLLVIEW_scrollbar)
int scroll;
if (READ_PROPERTY)
{
scroll = 0;
if (WIDGET->horizontalScrollBarPolicy() == Qt::ScrollBarAsNeeded)
scroll += 1;
if (WIDGET->verticalScrollBarPolicy() == Qt::ScrollBarAsNeeded)
scroll += 2;
GB.ReturnInteger(scroll);
}
GB.ReturnInteger(WIDGET->getScrollbar());
else
{
scroll = VPROP(GB_INTEGER) & 3;

View file

@ -68,6 +68,7 @@ public:
bool _scroll_sent;
void doUpdateScrollbars();
int getScrollbar();
protected: