SVN commit 755275 by pino: correctly show/hide the form widgets in each page correctly even when not in Continuous mode M +2 -1 pageview.cpp M +8 -1 pageviewutils.cpp M +1 -0 pageviewutils.h --- trunk/KDE/kdegraphics/okular/ui/pageview.cpp #755274:755275 @@ -710,7 +710,7 @@ { w->setPageItem( item ); w->setFormWidgetsController( d->formWidgetsController() ); - w->setVisibility( d->m_formsVisible ); + w->setVisibility( false ); w->setCanBeFilled( d->document->isAllowed( Okular::AllowFillForms ) ); item->formWidgets().insert( ff->name(), w ); hasformwidgets = true; @@ -2671,6 +2671,7 @@ item->moveTo( 0, 0 ); item->setVisible( false ); } + item->setFormWidgetsVisible( d->m_formsVisible ); // advance col/row index insertX += cWidth; if ( ++cIdx == nCols ) --- trunk/KDE/kdegraphics/okular/ui/pageviewutils.cpp #755274:755275 @@ -39,7 +39,8 @@ /*********************/ PageViewItem::PageViewItem( const Okular::Page * page ) - : m_page( page ), m_zoomFactor( 1.0 ), m_visible( true ) + : m_page( page ), m_zoomFactor( 1.0 ), m_visible( true ), + m_formsVisible( false ) { } @@ -121,6 +122,7 @@ void PageViewItem::setVisible( bool visible ) { + setFormWidgetsVisible( visible && m_formsVisible ); m_visible = visible; } @@ -131,6 +133,11 @@ bool PageViewItem::setFormWidgetsVisible( bool visible ) { + m_formsVisible = visible; + + if ( !m_visible ) + return false; + bool somehadfocus = false; QHash::iterator it = m_formWidgets.begin(), itEnd = m_formWidgets.end(); for ( ; it != itEnd; ++it ) --- trunk/KDE/kdegraphics/okular/ui/pageviewutils.h #755274:755275 @@ -60,6 +60,7 @@ double m_zoomFactor; QRect m_geometry; bool m_visible; + bool m_formsVisible; QHash m_formWidgets; };