@@ -30,7 +30,8 @@ QgsComposerHtml::QgsComposerHtml( QgsComposition* c, bool createUndoCommands ):
30
30
mLoaded( false ),
31
31
mHtmlUnitsToMM( 1.0 ),
32
32
mRenderedPage( 0 ),
33
- mUseSmartBreaks( true )
33
+ mUseSmartBreaks( true ),
34
+ mMaxBreakDistance( 10 )
34
35
{
35
36
mHtmlUnitsToMM = htmlUnitsToMM ();
36
37
mWebPage = new QWebPage ();
@@ -48,7 +49,8 @@ QgsComposerHtml::QgsComposerHtml(): QgsComposerMultiFrame( 0, false ),
48
49
mLoaded( false ),
49
50
mHtmlUnitsToMM( 1.0 ),
50
51
mRenderedPage( 0 ),
51
- mUseSmartBreaks( true )
52
+ mUseSmartBreaks( true ),
53
+ mMaxBreakDistance( 10 )
52
54
{
53
55
}
54
56
@@ -191,7 +193,7 @@ double QgsComposerHtml::findNearbyPageBreak( double yPos )
191
193
return yPos;
192
194
}
193
195
194
- int maxSearchDistance = 100 ;
196
+ int maxSearchDistance = mMaxBreakDistance * htmlUnitsToMM () ;
195
197
196
198
// loop through all lines just before ideal break location, up to max distance
197
199
// of maxSearchDistance
@@ -256,13 +258,22 @@ void QgsComposerHtml::setUseSmartBreaks( bool useSmartBreaks )
256
258
{
257
259
mUseSmartBreaks = useSmartBreaks;
258
260
recalculateFrameSizes ();
261
+ emit changed ();
262
+ }
263
+
264
+ void QgsComposerHtml::setMaxBreakDistance ( double maxBreakDistance )
265
+ {
266
+ mMaxBreakDistance = maxBreakDistance;
267
+ recalculateFrameSizes ();
268
+ emit changed ();
259
269
}
260
270
261
271
bool QgsComposerHtml::writeXML ( QDomElement& elem, QDomDocument & doc, bool ignoreFrames ) const
262
272
{
263
273
QDomElement htmlElem = doc.createElement ( " ComposerHtml" );
264
274
htmlElem.setAttribute ( " url" , mUrl .toString () );
265
275
htmlElem.setAttribute ( " useSmartBreaks" , mUseSmartBreaks ? " true" : " false" );
276
+ htmlElem.setAttribute ( " maxBreakDistance" , QString::number ( mMaxBreakDistance ) );
266
277
267
278
bool state = _writeXML ( htmlElem, doc, ignoreFrames );
268
279
elem.appendChild ( htmlElem );
@@ -280,6 +291,7 @@ bool QgsComposerHtml::readXML( const QDomElement& itemElem, const QDomDocument&
280
291
}
281
292
282
293
mUseSmartBreaks = itemElem.attribute ( " useSmartBreaks" , " true" ) == " true" ? true : false ;
294
+ mMaxBreakDistance = itemElem.attribute ( " maxBreakDistance" , " 10" ).toDouble ();
283
295
284
296
// finally load the set url
285
297
QString urlString = itemElem.attribute ( " url" );
0 commit comments