summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Bastian <thierry.bastian@nokia.com>2009-11-20 13:13:03 (GMT)
committerThierry Bastian <thierry.bastian@nokia.com>2009-11-20 13:14:55 (GMT)
commit4fbf19955d5c018d8f12611d39348b48be3ff006 (patch)
treef91cef7e898919898d3c0a3f95fc0461b409fd6f
parenta2c247ed521d88f99a21b4207cdff8ea03e949be (diff)
downloadQt-4fbf19955d5c018d8f12611d39348b48be3ff006.zip
Qt-4fbf19955d5c018d8f12611d39348b48be3ff006.tar.gz
Qt-4fbf19955d5c018d8f12611d39348b48be3ff006.tar.bz2
Revert "Do not extend the last toolbar in a line when moving it"
make a real fix for the problem is defaulting to sizehint when there is no preferred size set (ie the toolbar hasn't been moved) This reverts commit a2c247ed521d88f99a21b4207cdff8ea03e949be.
-rw-r--r--src/gui/widgets/qtoolbararealayout.cpp11
-rw-r--r--src/gui/widgets/qtoolbararealayout_p.h3
2 files changed, 6 insertions, 8 deletions
diff --git a/src/gui/widgets/qtoolbararealayout.cpp b/src/gui/widgets/qtoolbararealayout.cpp
index d09a301..b7e985c 100644
--- a/src/gui/widgets/qtoolbararealayout.cpp
+++ b/src/gui/widgets/qtoolbararealayout.cpp
@@ -100,7 +100,7 @@ bool QToolBarAreaLayoutItem::skip() const
*/
QToolBarAreaLayoutLine::QToolBarAreaLayoutLine(Qt::Orientation orientation)
- : o(orientation), lastVisible(-1)
+ : o(orientation)
{
}
@@ -146,7 +146,7 @@ QSize QToolBarAreaLayoutLine::minimumSize() const
void QToolBarAreaLayoutLine::fitLayout()
{
- lastVisible = -1;
+ int last = -1;
int min = pick(o, minimumSize());
int space = pick(o, rect.size());
int extra = qMax(0, space - min);
@@ -169,7 +169,7 @@ void QToolBarAreaLayoutLine::fitLayout()
extra -= extraSpace;
- lastVisible = i;
+ last = i;
}
// calculate the positions from the sizes
@@ -180,7 +180,7 @@ void QToolBarAreaLayoutLine::fitLayout()
continue;
item.pos = pos;
- if (i == lastVisible) // stretch the last item to the end of the line
+ if (i == last) // stretch the last item to the end of the line
item.size = qMax(0, pick(o, rect.size()) - item.pos);
pos += item.size;
}
@@ -441,8 +441,7 @@ void QToolBarAreaLayoutInfo::moveToolBar(QToolBar *toolbar, int pos)
}
//update for the current item
- if (k != line.lastVisible)
- current.extendSize(line.o, -extra);
+ current.extendSize(line.o, -extra);
if (extra >= 0) {
previous.extendSize(line.o, extra);
diff --git a/src/gui/widgets/qtoolbararealayout_p.h b/src/gui/widgets/qtoolbararealayout_p.h
index afbd455..134e95a 100644
--- a/src/gui/widgets/qtoolbararealayout_p.h
+++ b/src/gui/widgets/qtoolbararealayout_p.h
@@ -118,7 +118,7 @@ public:
void extendSize(Qt::Orientation o, int extent)
{
- int newSize = qMax(pick(o, minimumSize()), (preferredSize > 0 ? preferredSize : size) + extent);
+ int newSize = qMax(pick(o, minimumSize()), (preferredSize > 0 ? preferredSize : pick(o, sizeHint())) + extent);
int sizeh = pick(o, sizeHint());
if (newSize == sizeh) {
preferredSize = -1;
@@ -148,7 +148,6 @@ public:
QRect rect;
Qt::Orientation o;
- int lastVisible;
QList<QToolBarAreaLayoutItem> toolBarItems;
};