qt-bugs@ issue : 23458 bugs.kde.org number : 58040 applied: no author: Stephan Binner <binner@kde.org> Less flicker during changes in the tab bar. Index: src/widgets/qtabbar.cpp =================================================================== RCS file: /home/kde/qt-copy/src/widgets/qtabbar.cpp,v retrieving revision 1.52 diff -u -3 -p -b -r1.52 qtabbar.cpp --- qt/src/widgets/qtabbar.cpp 23 Jun 2003 11:48:57 -0000 1.52 +++ qt/src/widgets/qtabbar.cpp 1 Jul 2003 12:29:42 -0000 @@ -1290,7 +1290,7 @@ void QTab::setText( const QString& text tb->d->a->insertItem( p, id ); #endif tb->layoutTabs(); - tb->repaint(); + tb->repaint( FALSE ); #if defined(QT_ACCESSIBILITY_SUPPORT) QAccessible::updateAccessibility( tb, tb->indexOf(id)+1, QAccessible::NameChanged ); Index: qtabwidget.cpp =================================================================== RCS file: /home/kde/qt-copy/src/widgets/qtabwidget.cpp,v retrieving revision 1.51 diff -u -3 -p -b -r1.51 qtabwidget.cpp --- qt/src/widgets/qtabwidget.cpp 23 Jul 2003 18:14:02 -0000 1.51 +++ qt/src/widgets/qtabwidget.cpp 6 Dec 2003 21:11:10 -0000 @@ -380,13 +380,9 @@ void QTabWidget::changeTab( QWidget *w, // this will update the accelerators t->setText( label ); - int ct = d->tabs->currentTab(); bool block = d->tabs->signalsBlocked(); d->tabs->blockSignals( TRUE ); - QTab* ft = d->tabs->tabAt( 0 ); - if ( ft ) - d->tabs->setCurrentTab( ft->identifier() ); - d->tabs->setCurrentTab( ct ); + d->tabs->resize(d->tabs->sizeHint()); d->tabs->blockSignals( block ); d->tabs->update(); @@ -414,13 +410,9 @@ void QTabWidget::changeTab( QWidget *w, t->iconset = new QIconSet( iconset ); t->setText( label ); - int ct = d->tabs->currentTab(); bool block = d->tabs->signalsBlocked(); d->tabs->blockSignals( TRUE ); - QTab* ft = d->tabs->tabAt( 0 ); - if ( ft ) - d->tabs->setCurrentTab( ft->identifier() ); - d->tabs->setCurrentTab( ct ); + d->tabs->resize(d->tabs->sizeHint()); d->tabs->blockSignals( block ); d->tabs->update(); @@ -1033,13 +1025,9 @@ void QTabWidget::setTabIconSet( QWidget d->tabs->layoutTabs(); - int ct = d->tabs->currentTab(); bool block = d->tabs->signalsBlocked(); d->tabs->blockSignals( TRUE ); - QTab* ft = d->tabs->tabAt( 0 ); - if ( ft ) - d->tabs->setCurrentTab( ft->identifier() ); - d->tabs->setCurrentTab( ct ); + d->tabs->resize(d->tabs->sizeHint()); d->tabs->blockSignals( block ); d->tabs->update();