diff --git a/ui/pageview.cpp b/ui/pageview.cpp index cb25bd4256a1a4f1aff7d81449b3ad8e8df8452a..c77d3b494b0eb358ac233f9aa9bdf12a52a6dfc5 100644 --- a/ui/pageview.cpp +++ b/ui/pageview.cpp @@ -710,7 +710,7 @@ void PageView::notifySetup( const QVector< Okular::Page * > & pageSet, int setup { 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 @@ void PageView::slotRelayoutPages() item->moveTo( 0, 0 ); item->setVisible( false ); } + item->setFormWidgetsVisible( d->m_formsVisible ); // advance col/row index insertX += cWidth; if ( ++cIdx == nCols ) diff --git a/ui/pageviewutils.cpp b/ui/pageviewutils.cpp index f4d6ae6d710569d0ec73e0816006241570d55747..e61b50b45342b2e769e266a3ebb376d665dcd22f 100644 --- a/ui/pageviewutils.cpp +++ b/ui/pageviewutils.cpp @@ -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::moveTo( int x, int y ) void PageViewItem::setVisible( bool visible ) { + setFormWidgetsVisible( visible && m_formsVisible ); m_visible = visible; } @@ -131,6 +133,11 @@ void PageViewItem::invalidate() 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 ) diff --git a/ui/pageviewutils.h b/ui/pageviewutils.h index 053b4f7ae71932a5ff91f14ff8ee5b7b65417693..31fe6d62db21a899d5b654ce2e8119fdad6bb251 100644 --- a/ui/pageviewutils.h +++ b/ui/pageviewutils.h @@ -60,6 +60,7 @@ class PageViewItem double m_zoomFactor; QRect m_geometry; bool m_visible; + bool m_formsVisible; QHash m_formWidgets; };