make the tabbar widget stretch also in height (thus umbreaking it in the
panel), with a dirty hack on minimum/maximum sizes, but i think it's the only way for now, since minimumTabSizeHint() and maximumTabSizeHint() are private in QTabBar and will be protected probably not before Qt5 O.o svn path=/trunk/KDE/kdelibs/; revision=886098
This commit is contained in:
parent
4f36ceb235
commit
9cfe6246ec
@ -248,7 +248,6 @@ void NativeTabBar::paintEvent(QPaintEvent *event)
|
|||||||
|
|
||||||
// draw tab text
|
// draw tab text
|
||||||
if (i == currentIndex() && d->animProgress == 1) {
|
if (i == currentIndex() && d->animProgress == 1) {
|
||||||
//FIXME: theme will need a ButtonColor and ButtonTextColor
|
|
||||||
painter.setPen(Plasma::Theme::defaultTheme()->color(Theme::ButtonTextColor));
|
painter.setPen(Plasma::Theme::defaultTheme()->color(Theme::ButtonTextColor));
|
||||||
} else {
|
} else {
|
||||||
QColor color(Plasma::Theme::defaultTheme()->color(Theme::TextColor));
|
QColor color(Plasma::Theme::defaultTheme()->color(Theme::TextColor));
|
||||||
@ -394,6 +393,14 @@ QSize NativeTabBar::tabSize(int index) const
|
|||||||
hint.rheight() = qMax(iconSize().height(), textSize.height());
|
hint.rheight() = qMax(iconSize().height(), textSize.height());
|
||||||
hint.rwidth() += d->buttonLeft + d->buttonRight;
|
hint.rwidth() += d->buttonLeft + d->buttonRight;
|
||||||
hint.rheight() += d->buttonTop + d->buttonBottom;
|
hint.rheight() += d->buttonTop + d->buttonBottom;
|
||||||
|
|
||||||
|
//FIXME: this margin calculation isn't reeeally right...
|
||||||
|
if (isVertical()) {
|
||||||
|
hint.rwidth() = qMax(hint.width(), int(minimumWidth() - d->left - d->right - d->buttonLeft - d->buttonRight));
|
||||||
|
} else {
|
||||||
|
hint.rheight() = qMax(hint.height(), int(minimumHeight() - d->top - d->bottom - d->buttonTop - d->buttonBottom));
|
||||||
|
}
|
||||||
|
|
||||||
return hint;
|
return hint;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -268,6 +268,18 @@ int TabBar::currentIndex() const
|
|||||||
return d->tabProxy->native->currentIndex();
|
return d->tabProxy->native->currentIndex();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TabBar::resizeEvent(QGraphicsSceneResizeEvent * event)
|
||||||
|
{
|
||||||
|
if (!d->isTabWidget) {
|
||||||
|
d->tabProxy->native->setMinimumSize(contentsRect().size().toSize());
|
||||||
|
} else {
|
||||||
|
d->tabProxy->native->setMinimumSize(QSize(0,0));
|
||||||
|
}
|
||||||
|
|
||||||
|
setMaximumSize(QWIDGETSIZE_MAX,QWIDGETSIZE_MAX);
|
||||||
|
setMinimumSize(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
void TabBar::setCurrentIndex(int index)
|
void TabBar::setCurrentIndex(int index)
|
||||||
{
|
{
|
||||||
if (index > d->tabProxy->native->count() || d->tabProxy->native->count() <= 1) {
|
if (index > d->tabProxy->native->count() || d->tabProxy->native->count() <= 1) {
|
||||||
|
@ -192,6 +192,7 @@ Q_SIGNALS:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
void wheelEvent(QGraphicsSceneWheelEvent *event);
|
void wheelEvent(QGraphicsSceneWheelEvent *event);
|
||||||
|
void resizeEvent(QGraphicsSceneResizeEvent * event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
TabBarPrivate * const d;
|
TabBarPrivate * const d;
|
||||||
|
Loading…
Reference in New Issue
Block a user