properly set the current index, so the first click does not give a flicker

svn path=/trunk/KDE/kdegraphics/okular/; revision=704627
remotes/origin/KDE/4.0
Pino Toscano 19 years ago
parent 21a8ebbe1e
commit cb2475cbab
  1. 17
      ui/sidebar.cpp

@ -479,7 +479,9 @@ void Sidebar::setCurrentIndex( int index )
return;
itemClicked( d->pages.at( index ) );
d->list->selectionModel()->select( d->list->model()->index( index, 0 ), QItemSelectionModel::ClearAndSelect );
QModelIndex modelindex = d->list->model()->index( index, 0 );
d->list->setCurrentIndex( modelindex );
d->list->selectionModel()->select( modelindex, QItemSelectionModel::ClearAndSelect );
}
int Sidebar::currentIndex() const
@ -516,10 +518,17 @@ void Sidebar::itemClicked( QListWidgetItem *item )
if ( !sbItem )
return;
if ( !d->sideContainer->isHidden() && sbItem->widget() == d->stack->currentWidget() )
if ( sbItem->widget() == d->stack->currentWidget() )
{
d->list->selectionModel()->clear();
d->sideContainer->hide();
if ( d->sideContainer->isVisible() )
{
d->list->selectionModel()->clear();
d->sideContainer->hide();
}
else
{
d->sideContainer->show();
}
}
else
{

Loading…
Cancel
Save