mirror of
https://github.com/qgis/QGIS.git
synced 2025-12-15 00:07:25 -05:00
indentation update
This commit is contained in:
parent
ccc0d2f0ae
commit
cce2eb50cb
@ -55,7 +55,7 @@ def register_function(function, arg_count, group, usesgeometry=False, **kwargs):
|
||||
expandargs = False
|
||||
if arg_count == 0 and not name[0] == '$':
|
||||
name = '${0}'.format(name)
|
||||
|
||||
|
||||
if arg_count == "auto":
|
||||
# Work out the number of args we need.
|
||||
# Number of function args - 2. The last two args are always feature, parent.
|
||||
|
||||
@ -22,13 +22,13 @@ class QgsComposerMultiFrame: QgsComposerObject
|
||||
if (dynamic_cast<QgsComposerHtml*>(sipCpp) != NULL)
|
||||
sipClass = sipClass_QgsComposerHtml;
|
||||
else if (dynamic_cast<QgsComposerAttributeTableV2*>(sipCpp) != NULL)
|
||||
sipClass = sipClass_QgsComposerAttributeTableV2;
|
||||
sipClass = sipClass_QgsComposerAttributeTableV2;
|
||||
else if (dynamic_cast<QgsComposerTableV2*>(sipCpp) != NULL)
|
||||
sipClass = sipClass_QgsComposerTableV2;
|
||||
else if (dynamic_cast<QgsComposerMultiFrame*>(sipCpp) != NULL)
|
||||
sipClass = sipClass_QgsComposerMultiFrame;
|
||||
else
|
||||
sipClass = NULL;
|
||||
sipClass = NULL;
|
||||
%End
|
||||
|
||||
public:
|
||||
|
||||
@ -32,7 +32,7 @@ class QgsImageOperation
|
||||
GrayscaleLuminosity, /*< grayscale by perceptual luminosity (weighted sum of color RGB components) */
|
||||
GrayscaleAverage /*< grayscale by taking average of color RGB components */
|
||||
};
|
||||
|
||||
|
||||
/** Flip operation types
|
||||
*/
|
||||
enum FlipType
|
||||
@ -57,7 +57,7 @@ class QgsImageOperation
|
||||
* contrast of the image.
|
||||
*/
|
||||
static void adjustBrightnessContrast( QImage &image, const int brightness, const double contrast );
|
||||
|
||||
|
||||
/**Alter the hue or saturation of a QImage.
|
||||
* @param image QImage to alter
|
||||
* @param saturation double between 0 and 2 inclusive, where 0 = desaturate and 1.0 = no change
|
||||
@ -67,20 +67,20 @@ class QgsImageOperation
|
||||
*/
|
||||
static void adjustHueSaturation( QImage &image, const double saturation, const QColor& colorizeColor = QColor(),
|
||||
const double colorizeStrength = 1.0 );
|
||||
|
||||
|
||||
/**Multiplies opacity of image pixel values by a factor.
|
||||
* @param image QImage to alter
|
||||
* @param factor factor to multiple pixel's opacity by
|
||||
*/
|
||||
static void multiplyOpacity( QImage &image, const double factor );
|
||||
|
||||
|
||||
/**Overlays a color onto an image. This operation retains the alpha channel of the
|
||||
* original image, but replaces all image pixel colors with the specified color.
|
||||
* @param image QImage to alter
|
||||
* @param color color to overlay (any alpha component of the color is ignored)
|
||||
*/
|
||||
static void overlayColor( QImage &image, const QColor& color );
|
||||
|
||||
|
||||
/**Struct for storing properties of a distance transform operation*/
|
||||
struct DistanceTransformProperties
|
||||
{
|
||||
@ -117,7 +117,7 @@ class QgsImageOperation
|
||||
* @param alphaOnly set to true to blur only the alpha component of the image
|
||||
*/
|
||||
static void stackBlur( QImage &image, const int radius, const bool alphaOnly = false );
|
||||
|
||||
|
||||
/**Performs a gaussian blur on an image. Gaussian blur is slower but results in a high
|
||||
* quality blur.
|
||||
* @param image QImage to blur
|
||||
@ -125,11 +125,11 @@ class QgsImageOperation
|
||||
* @returns blurred image
|
||||
*/
|
||||
static QImage* gaussianBlur( QImage &image, const int radius ) /Factory/;
|
||||
|
||||
|
||||
/**Flips an image horizontally or vertically
|
||||
* @param image QImage to flip
|
||||
* @param type type of flip to perform (horizontal or vertical)
|
||||
*/
|
||||
static void flipImage( QImage &image, FlipType type );
|
||||
|
||||
|
||||
};
|
||||
|
||||
@ -304,7 +304,7 @@ class QgsCoordinateReferenceSystem
|
||||
|
||||
/**Returns auth id of related geographic CRS*/
|
||||
QString geographicCRSAuthId() const;
|
||||
|
||||
|
||||
/**Returns a list of recently used projections
|
||||
* @returns list of srsid for recently used projections
|
||||
* @note added in QGIS 2.7
|
||||
|
||||
@ -23,7 +23,7 @@ class QgsDataDefined
|
||||
const QString& field = QString() );
|
||||
|
||||
/**
|
||||
* Construct a new data defined object, analyse the expression to determine
|
||||
* Construct a new data defined object, analyse the expression to determine
|
||||
* if it's a simple field
|
||||
*
|
||||
* @param expression can be null
|
||||
|
||||
@ -43,11 +43,11 @@ class QgsFeatureRendererV2
|
||||
else if (sipCpp->type() == "RuleRenderer")
|
||||
sipClass = sipClass_QgsRuleBasedRendererV2;
|
||||
else if (sipCpp->type() == "heatmapRenderer")
|
||||
sipClass = sipClass_QgsHeatmapRenderer;
|
||||
sipClass = sipClass_QgsHeatmapRenderer;
|
||||
else if (sipCpp->type() == "invertedPolygonRenderer")
|
||||
sipClass = sipClass_QgsInvertedPolygonRenderer;
|
||||
sipClass = sipClass_QgsInvertedPolygonRenderer;
|
||||
else if (sipCpp->type() == "pointDisplacement")
|
||||
sipClass = sipClass_QgsPointDisplacementRenderer;
|
||||
sipClass = sipClass_QgsPointDisplacementRenderer;
|
||||
else
|
||||
sipClass = 0;
|
||||
%End
|
||||
|
||||
@ -44,16 +44,16 @@ class QgsSymbolLayerV2
|
||||
else if (dynamic_cast<QgsSVGFillSymbolLayer*>(sipCpp) != NULL)
|
||||
sipClass = sipClass_QgsSVGFillSymbolLayer;
|
||||
else if (dynamic_cast<QgsRasterFillSymbolLayer*>(sipCpp) != NULL)
|
||||
sipClass = sipClass_QgsRasterFillSymbolLayer;
|
||||
sipClass = sipClass_QgsRasterFillSymbolLayer;
|
||||
else
|
||||
sipClass = sipClass_QgsImageFillSymbolLayer;
|
||||
}
|
||||
else if (dynamic_cast<QgsCentroidFillSymbolLayerV2*>(sipCpp) != NULL)
|
||||
sipClass = sipClass_QgsCentroidFillSymbolLayerV2;
|
||||
else if (dynamic_cast<QgsGradientFillSymbolLayerV2*>(sipCpp) != NULL)
|
||||
sipClass = sipClass_QgsGradientFillSymbolLayerV2;
|
||||
sipClass = sipClass_QgsGradientFillSymbolLayerV2;
|
||||
else if (dynamic_cast<QgsShapeburstFillSymbolLayerV2*>(sipCpp) != NULL)
|
||||
sipClass = sipClass_QgsShapeburstFillSymbolLayerV2;
|
||||
sipClass = sipClass_QgsShapeburstFillSymbolLayerV2;
|
||||
else
|
||||
sipClass = sipClass_QgsFillSymbolLayerV2;
|
||||
break;
|
||||
|
||||
@ -12,7 +12,7 @@ class QgsSymbolLayerV2Widget : QWidget
|
||||
virtual QgsSymbolLayerV2* symbolLayer() = 0;
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
void registerDataDefinedButton( QgsDataDefinedButton * button, const QString & propertyName, QgsDataDefinedButton::DataType type, const QString & description );
|
||||
|
||||
/** Get label for data defined entry.
|
||||
@ -20,13 +20,13 @@ class QgsSymbolLayerV2Widget : QWidget
|
||||
* @note added in 2.1
|
||||
*/
|
||||
virtual QString dataDefinedPropertyLabel( const QString &entryName );
|
||||
|
||||
|
||||
signals:
|
||||
void changed();
|
||||
|
||||
|
||||
protected slots:
|
||||
void updateDataDefinedProperty();
|
||||
|
||||
|
||||
};
|
||||
|
||||
///////////
|
||||
|
||||
@ -520,7 +520,7 @@ class ParameterRaster(ParameterDataObject):
|
||||
else:
|
||||
# Layer could not be found
|
||||
return False
|
||||
|
||||
|
||||
|
||||
def getFileFilter(self):
|
||||
exts = dataobjects.getSupportedOutputRasterLayerExtensions()
|
||||
|
||||
@ -130,7 +130,7 @@ class BatchInputSelectionPanel(QWidget):
|
||||
settings.setValue('/Processing/LastInputPath',
|
||||
os.path.dirname(unicode(files[0])))
|
||||
for i, filename in enumerate(files):
|
||||
files[i] = dataobjects.getRasterSublayer(filename, self.param)
|
||||
files[i] = dataobjects.getRasterSublayer(filename, self.param)
|
||||
if len(files) == 1:
|
||||
self.text.setText(files[0])
|
||||
else:
|
||||
|
||||
@ -71,7 +71,7 @@ class InputLayerSelectorPanel(QWidget, Ui_Form):
|
||||
filename = dataobjects.getRasterSublayer(filename, self.param)
|
||||
self.cmbText.addItem(filename, filename)
|
||||
self.cmbText.setCurrentIndex(self.cmbText.count() - 1)
|
||||
|
||||
|
||||
|
||||
def getValue(self):
|
||||
return self.cmbText.itemData(self.cmbText.currentIndex())
|
||||
|
||||
@ -375,15 +375,15 @@ def exportTable(table):
|
||||
return filename[:-3] + 'dbf'
|
||||
else:
|
||||
return filename
|
||||
|
||||
|
||||
def getRasterSublayer(path, param):
|
||||
|
||||
|
||||
layer = QgsRasterLayer(path)
|
||||
|
||||
|
||||
try:
|
||||
# If the layer is a raster layer and has multiple sublayers, let the user chose one.
|
||||
# # Based on QgisApp::askUserForGDALSublayers
|
||||
if layer and param.showSublayersDialog and layer.dataProvider().name() == "gdal" and len(layer.subLayers()) > 1:
|
||||
if layer and param.showSublayersDialog and layer.dataProvider().name() == "gdal" and len(layer.subLayers()) > 1:
|
||||
layers = []
|
||||
subLayerNum = 0
|
||||
# simplify raster sublayer name
|
||||
@ -391,7 +391,7 @@ def getRasterSublayer(path, param):
|
||||
# if netcdf/hdf use all text after filename
|
||||
if bool(re.match('netcdf', subLayer, re.I)) or bool(re.match('hdf', subLayer, re.I)):
|
||||
subLayer = subLayer.split(path)[1]
|
||||
subLayer = subLayer[1:]
|
||||
subLayer = subLayer[1:]
|
||||
else:
|
||||
# remove driver name and file name
|
||||
subLayer.replace(subLayer.split(":")[0], "")
|
||||
@ -405,22 +405,22 @@ def getRasterSublayer(path, param):
|
||||
subLayer = subLayer[:-1]
|
||||
if subLayer.endswith("\""):
|
||||
subLayer = subLayer[:-1]
|
||||
|
||||
|
||||
layers.append(str(subLayerNum)+"|"+subLayer)
|
||||
subLayerNum = subLayerNum + 1
|
||||
|
||||
|
||||
# Use QgsSublayersDialog
|
||||
# Would be good if QgsSublayersDialog had an option to allow only one sublayer to be selected
|
||||
chooseSublayersDialog = QgsSublayersDialog(QgsSublayersDialog.Gdal, "gdal")
|
||||
# Would be good if QgsSublayersDialog had an option to allow only one sublayer to be selected
|
||||
chooseSublayersDialog = QgsSublayersDialog(QgsSublayersDialog.Gdal, "gdal")
|
||||
chooseSublayersDialog.populateLayerTable( layers, "|" )
|
||||
|
||||
|
||||
if chooseSublayersDialog.exec_():
|
||||
return layer.subLayers()[chooseSublayersDialog.selectionIndexes()[0]]
|
||||
else:
|
||||
# If user pressed cancel then just return the input path
|
||||
return path
|
||||
else:
|
||||
# If the sublayers selection dialog is not to be shown then just return the input path
|
||||
# If the sublayers selection dialog is not to be shown then just return the input path
|
||||
return path
|
||||
except:
|
||||
# If the layer is not a raster layer, then just return the input path
|
||||
|
||||
@ -2,9 +2,9 @@ import os
|
||||
import subprocess
|
||||
|
||||
def convertUiFile(f):
|
||||
|
||||
|
||||
command = ["pyuic4.bat", f, "-o", "ui_" + os.path.splitext(f)[0] + ".py"]
|
||||
|
||||
|
||||
proc = subprocess.Popen(
|
||||
command,
|
||||
shell=True,
|
||||
|
||||
@ -2,7 +2,7 @@ import os
|
||||
import sys
|
||||
import glob
|
||||
|
||||
from qgis.core import QgsApplication
|
||||
from qgis.core import QgsApplication
|
||||
|
||||
def load_user_expressions(path):
|
||||
"""
|
||||
|
||||
@ -203,7 +203,7 @@ void QgsMapToolOffsetCurve::canvasMoveEvent( QMouseEvent * e )
|
||||
QgsPointLocator::Match m = mCanvas->snappingUtils()->snapToMap( e->pos() );
|
||||
if ( m.isValid() )
|
||||
{
|
||||
if ( ( m.layer() && m.layer()->id() != mSourceLayerId ) || m.featureId() != mModifiedFeature )
|
||||
if (( m.layer() && m.layer()->id() != mSourceLayerId ) || m.featureId() != mModifiedFeature )
|
||||
{
|
||||
layerCoords = toLayerCoordinates( layer, m.point() );
|
||||
mSnapVertexMarker = new QgsVertexMarker( mCanvas );
|
||||
|
||||
@ -12,13 +12,13 @@
|
||||
*/
|
||||
class CORE_EXPORT QgsLayerDefinition
|
||||
{
|
||||
public:
|
||||
/* Loads the QLR at path into QGIS. New layers are added to rootGroup and the map layer registry*/
|
||||
static bool loadLayerDefinition( const QString & path, QgsLayerTreeGroup* rootGroup, QString &errorMessage);
|
||||
/* Loads the QLR from the XML document. New layers are added to rootGroup and the map layer registry */
|
||||
static bool loadLayerDefinition( QDomDocument doc, QgsLayerTreeGroup* rootGroup, QString &errorMessage);
|
||||
/* Export the selected layer tree nodes to a QLR file */
|
||||
static bool exportLayerDefinition( QString path, QList<QgsLayerTreeNode*> selectedTreeNodes, QString &errorMessage );
|
||||
public:
|
||||
/* Loads the QLR at path into QGIS. New layers are added to rootGroup and the map layer registry*/
|
||||
static bool loadLayerDefinition( const QString & path, QgsLayerTreeGroup* rootGroup, QString &errorMessage );
|
||||
/* Loads the QLR from the XML document. New layers are added to rootGroup and the map layer registry */
|
||||
static bool loadLayerDefinition( QDomDocument doc, QgsLayerTreeGroup* rootGroup, QString &errorMessage );
|
||||
/* Export the selected layer tree nodes to a QLR file */
|
||||
static bool exportLayerDefinition( QString path, QList<QgsLayerTreeNode*> selectedTreeNodes, QString &errorMessage );
|
||||
};
|
||||
|
||||
#endif // QGSLAYERDEFINITION_H
|
||||
|
||||
@ -140,7 +140,7 @@ bool QgsOfflineEditing::convertToOfflineProject( const QString& offlineDataPath,
|
||||
|
||||
if ( newLayer )
|
||||
{
|
||||
Q_FOREACH( QgsVectorJoinInfo join, it.value() )
|
||||
Q_FOREACH ( QgsVectorJoinInfo join, it.value() )
|
||||
{
|
||||
QgsVectorLayer* newJoinedLayer = layerIdMapping.value( join.joinLayerId );
|
||||
if ( newJoinedLayer )
|
||||
|
||||
@ -1784,11 +1784,11 @@ void QgsPalLayerSettings::registerFeature( QgsFeature& f, const QgsRenderContext
|
||||
const QgsMapToPixel& m2p = context.mapToPixel();
|
||||
if ( m2p.mapRotation() )
|
||||
{
|
||||
if ( geom->rotate( m2p.mapRotation(), context.extent().center() ) )
|
||||
{
|
||||
QgsDebugMsg( QString("Error rotating geometry").arg( geom->exportToWkt() ) );
|
||||
return; // really ?
|
||||
}
|
||||
if ( geom->rotate( m2p.mapRotation(), context.extent().center() ) )
|
||||
{
|
||||
QgsDebugMsg( QString( "Error rotating geometry" ).arg( geom->exportToWkt() ) );
|
||||
return; // really ?
|
||||
}
|
||||
}
|
||||
|
||||
// CLIP the geometry if it is bigger than the extent
|
||||
@ -3908,7 +3908,7 @@ void QgsPalLabeling::drawLabeling( QgsRenderContext& context )
|
||||
// also pre-scaled/translated, as suggested here:
|
||||
// http://hub.qgis.org/issues/11856
|
||||
QgsMapToPixel xform = mMapSettings->mapToPixel();
|
||||
xform.setMapRotation(0,0,0);
|
||||
xform.setMapRotation( 0, 0, 0 );
|
||||
#else
|
||||
const QgsMapToPixel& xform = mMapSettings->mapToPixel();
|
||||
#endif
|
||||
@ -4213,7 +4213,7 @@ void QgsPalLabeling::drawLabel( pal::LabelPosition* label, QgsRenderContext& con
|
||||
// also pre-scaled/translated, as suggested here:
|
||||
// http://hub.qgis.org/issues/11856
|
||||
QgsMapToPixel xform = context.mapToPixel();
|
||||
xform.setMapRotation(0,0,0);
|
||||
xform.setMapRotation( 0, 0, 0 );
|
||||
#else
|
||||
const QgsMapToPixel& xform = context.mapToPixel();
|
||||
#endif
|
||||
|
||||
@ -2160,7 +2160,7 @@ bool QgsVectorLayer::deleteAttributes( QList<int> attrs )
|
||||
|
||||
qSort( attrs.begin(), attrs.end(), qGreater<int>() );
|
||||
|
||||
Q_FOREACH( int attr, attrs )
|
||||
Q_FOREACH ( int attr, attrs )
|
||||
{
|
||||
if ( deleteAttribute( attr ) )
|
||||
{
|
||||
@ -2877,7 +2877,7 @@ void QgsVectorLayer::uniqueValues( int index, QList<QVariant> &uniqueValues, int
|
||||
if ( mEditBuffer )
|
||||
{
|
||||
QSet<QString> vals;
|
||||
Q_FOREACH( const QVariant& v, uniqueValues )
|
||||
Q_FOREACH ( const QVariant& v, uniqueValues )
|
||||
{
|
||||
vals << v.toString();
|
||||
}
|
||||
@ -3603,13 +3603,13 @@ void QgsVectorLayer::invalidateSymbolCountedFlag()
|
||||
|
||||
void QgsVectorLayer::onRelationsLoaded()
|
||||
{
|
||||
Q_FOREACH( QgsAttributeEditorElement* elem, mAttributeEditorElements )
|
||||
Q_FOREACH ( QgsAttributeEditorElement* elem, mAttributeEditorElements )
|
||||
{
|
||||
if ( elem->type() == QgsAttributeEditorElement::AeTypeContainer )
|
||||
{
|
||||
QgsAttributeEditorContainer* cont = dynamic_cast< QgsAttributeEditorContainer* >( elem );
|
||||
QList<QgsAttributeEditorElement*> relations = cont->findElements( QgsAttributeEditorElement::AeTypeRelation );
|
||||
Q_FOREACH( QgsAttributeEditorElement* relElem, relations )
|
||||
Q_FOREACH ( QgsAttributeEditorElement* relElem, relations )
|
||||
{
|
||||
QgsAttributeEditorRelation* rel = dynamic_cast< QgsAttributeEditorRelation* >( relElem );
|
||||
rel->init( QgsProject::instance()->relationManager() );
|
||||
@ -3665,7 +3665,7 @@ QDomElement QgsAttributeEditorContainer::toDomElement( QDomDocument& doc ) const
|
||||
QDomElement elem = doc.createElement( "attributeEditorContainer" );
|
||||
elem.setAttribute( "name", mName );
|
||||
|
||||
Q_FOREACH( QgsAttributeEditorElement* child, mChildren )
|
||||
Q_FOREACH ( QgsAttributeEditorElement* child, mChildren )
|
||||
{
|
||||
elem.appendChild( child->toDomElement( doc ) );
|
||||
}
|
||||
@ -3681,7 +3681,7 @@ QList<QgsAttributeEditorElement*> QgsAttributeEditorContainer::findElements( Qgs
|
||||
{
|
||||
QList<QgsAttributeEditorElement*> results;
|
||||
|
||||
Q_FOREACH( QgsAttributeEditorElement* elem, mChildren )
|
||||
Q_FOREACH ( QgsAttributeEditorElement* elem, mChildren )
|
||||
{
|
||||
if ( elem->type() == type )
|
||||
{
|
||||
|
||||
@ -70,7 +70,7 @@ QgsExpressionBuilderWidget::QgsExpressionBuilderWidget( QWidget *parent )
|
||||
QgsPythonRunner::eval( "qgis.user.expressionspath", mFunctionsPath );
|
||||
newFunctionFile();
|
||||
// The scratch file gets written each time the widget opens.
|
||||
saveFunctionFile("scratch");
|
||||
saveFunctionFile( "scratch" );
|
||||
updateFunctionFileList( mFunctionsPath );
|
||||
}
|
||||
else
|
||||
@ -171,7 +171,7 @@ void QgsExpressionBuilderWidget::updateFunctionFileList( QString path )
|
||||
void QgsExpressionBuilderWidget::newFunctionFile( QString fileName )
|
||||
{
|
||||
QString templatetxt;
|
||||
QgsPythonRunner::eval("qgis.user.expressions.template", templatetxt);
|
||||
QgsPythonRunner::eval( "qgis.user.expressions.template", templatetxt );
|
||||
txtPython->setText( templatetxt );
|
||||
int index = cmbFileNames->findText( fileName );
|
||||
if ( index == -1 )
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
#include "qgsvectorlayer.h"
|
||||
|
||||
QgsMapCanvasSnappingUtils::QgsMapCanvasSnappingUtils( QgsMapCanvas* canvas, QObject* parent )
|
||||
: QgsSnappingUtils( parent )
|
||||
, mCanvas( canvas )
|
||||
: QgsSnappingUtils( parent )
|
||||
, mCanvas( canvas )
|
||||
{
|
||||
connect( canvas, SIGNAL( extentsChanged() ), this, SLOT( canvasMapSettingsChanged() ) );
|
||||
connect( canvas, SIGNAL( destinationCrsChanged() ), this, SLOT( canvasMapSettingsChanged() ) );
|
||||
|
||||
@ -11,16 +11,16 @@ class QgsMapCanvas;
|
||||
*/
|
||||
class GUI_EXPORT QgsMapCanvasSnappingUtils : public QgsSnappingUtils
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
QgsMapCanvasSnappingUtils( QgsMapCanvas* canvas, QObject* parent = 0 );
|
||||
Q_OBJECT
|
||||
public:
|
||||
QgsMapCanvasSnappingUtils( QgsMapCanvas* canvas, QObject* parent = 0 );
|
||||
|
||||
private slots:
|
||||
void canvasMapSettingsChanged();
|
||||
void canvasCurrentLayerChanged();
|
||||
private slots:
|
||||
void canvasMapSettingsChanged();
|
||||
void canvasCurrentLayerChanged();
|
||||
|
||||
private:
|
||||
QgsMapCanvas* mCanvas;
|
||||
private:
|
||||
QgsMapCanvas* mCanvas;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -62,7 +62,7 @@ void QgsScaleWidget::setScaleFromCanvas()
|
||||
if ( !mCanvas )
|
||||
return;
|
||||
|
||||
setScale( 1/mCanvas->scale() );
|
||||
setScale( 1 / mCanvas->scale() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user