Skip to content
Permalink
Browse files

Fix overview autocentering: always center, not only when the overview…

… is not visible.

Work funded by Tuscany Region - SITA. Contract "Support to the use
of GFOSS (Geographic Free and Open Source Software) Desktop tools"
(CIG Z3B06FA6D7).
  • Loading branch information
Hugo Mercier
Hugo Mercier committed Jun 19, 2013
1 parent f0f72ca commit 5c4f2ed984f0c7c64b9b5345cd9c30030d62f55c
@@ -302,7 +302,7 @@ class QgsComposerMap : QgsComposerItem
void setOverviewInverted( bool inverted );
bool overviewInverted() const;

/** Returns true if the extent is forced to center on the overview when the overview is outside the extent */
/** Returns true if the extent is forced to center on the overview */
bool overviewCentered() const;
/** Set the overview's centering mode */
void setOverviewCentered( bool centered );
@@ -129,14 +129,12 @@ void QgsComposerMap::extentCenteredOnOverview( QgsRectangle& extent ) const
const QgsComposerMap* overviewFrameMap = mComposition->getComposerMapById( mOverviewFrameMapId );
QgsRectangle otherExtent = overviewFrameMap->extent();

if ( ! mExtent.contains( otherExtent ) ) {
QgsPoint center = otherExtent.center();
QgsRectangle movedExtent( center.x() - mExtent.width() / 2,
center.y() - mExtent.height() / 2,
center.x() - mExtent.width() / 2 + mExtent.width(),
center.y() - mExtent.height() / 2 + mExtent.height() );
extent = movedExtent;
}
QgsPoint center = otherExtent.center();
QgsRectangle movedExtent( center.x() - mExtent.width() / 2,
center.y() - mExtent.height() / 2,
center.x() - mExtent.width() / 2 + mExtent.width(),
center.y() - mExtent.height() / 2 + mExtent.height() );
extent = movedExtent;
}
}

@@ -332,7 +332,7 @@ class CORE_EXPORT QgsComposerMap : public QgsComposerItem
/** Sets the overview's inversion mode*/
void setOverviewInverted( bool inverted );

/** Returns true if the extent is forced to center on the overview when the overview is outside the extent */
/** Returns true if the extent is forced to center on the overview */
bool overviewCentered() const { return mOverviewCentered; }
/** Set the overview's centering mode */
void setOverviewCentered( bool centered );
@@ -537,7 +537,7 @@ class CORE_EXPORT QgsComposerMap : public QgsComposerItem
void initGridAnnotationFormatFromProject();

/**
* Returns the extent, centered on the overview frame, if needed (when the overview frame is not visible)
* Returns the extent, centered on the overview frame
*/
void extentCenteredOnOverview( QgsRectangle& extent ) const;
};
@@ -54,9 +54,9 @@
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>438</width>
<height>1454</height>
<y>-376</y>
<width>439</width>
<height>1439</height>
</rect>
</property>
<property name="sizePolicy">
@@ -700,7 +700,7 @@
<item row="4" column="0">
<widget class="QCheckBox" name="mOverviewCenterCheckbox">
<property name="text">
<string>Center on overview when needed</string>
<string>Center on overview</string>
</property>
</widget>
</item>

0 comments on commit 5c4f2ed

Please sign in to comment.
You can’t perform that action at this time.