mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-02 00:02:12 -05:00
parent
9434be7859
commit
3b7c0f8579
@ -385,20 +385,23 @@ void QgsLayoutMultiFrame::handlePageChange()
|
||||
}
|
||||
}
|
||||
|
||||
//page number of the last item
|
||||
QgsLayoutFrame *lastFrame = mFrameItems.last();
|
||||
int lastItemPage = mLayout->pageCollection()->predictPageNumberForPoint( lastFrame->pos() );
|
||||
|
||||
for ( int i = lastItemPage + 1; i < mLayout->pageCollection()->pageCount(); ++i )
|
||||
if ( mFrameItems.count( ) )
|
||||
{
|
||||
//copy last frame to current page
|
||||
std::unique_ptr< QgsLayoutFrame > newFrame = qgis::make_unique< QgsLayoutFrame >( mLayout, this );
|
||||
//page number of the last item
|
||||
QgsLayoutFrame *lastFrame = mFrameItems.last();
|
||||
int lastItemPage = mLayout->pageCollection()->predictPageNumberForPoint( lastFrame->pos() );
|
||||
|
||||
newFrame->attemptSetSceneRect( QRectF( lastFrame->pos().x(),
|
||||
mLayout->pageCollection()->page( i )->pos().y() + lastFrame->pagePos().y(),
|
||||
lastFrame->rect().width(), lastFrame->rect().height() ) );
|
||||
lastFrame = newFrame.get();
|
||||
addFrame( newFrame.release(), false );
|
||||
for ( int i = lastItemPage + 1; i < mLayout->pageCollection()->pageCount(); ++i )
|
||||
{
|
||||
//copy last frame to current page
|
||||
std::unique_ptr< QgsLayoutFrame > newFrame = qgis::make_unique< QgsLayoutFrame >( mLayout, this );
|
||||
|
||||
newFrame->attemptSetSceneRect( QRectF( lastFrame->pos().x(),
|
||||
mLayout->pageCollection()->page( i )->pos().y() + lastFrame->pagePos().y(),
|
||||
lastFrame->rect().width(), lastFrame->rect().height() ) );
|
||||
lastFrame = newFrame.get();
|
||||
addFrame( newFrame.release(), false );
|
||||
}
|
||||
}
|
||||
|
||||
recalculateFrameSizes();
|
||||
|
Loading…
x
Reference in New Issue
Block a user