Skip to content
Permalink
Browse files

Merge branch 'master' into deprecated_plugins_grayed_out

  • Loading branch information
borysiasty committed Sep 18, 2018
2 parents a041c50 + b5024c3 commit 840749c669c6e1d2e4a365accfbdb62b7afdbea9
Showing with 2,154 additions and 1,721 deletions.
  1. 0 .ci/travis/linux/blacklist.txt
  2. 0 debian/rules
  3. 0 external/astyle/ASBeautifier.cpp
  4. 0 external/astyle/ASEnhancer.cpp
  5. 0 external/astyle/ASFormatter.cpp
  6. 0 external/astyle/ASLocalizer.cpp
  7. 0 external/astyle/ASLocalizer.h
  8. 0 external/astyle/ASResource.cpp
  9. 0 external/astyle/LICENSE.md
  10. 0 external/astyle/astyle.h
  11. 0 external/astyle/astyle_main.cpp
  12. 0 external/astyle/astyle_main.h
  13. 0 external/o2/src/o1.cpp
  14. 0 external/wintoast/LICENSE.txt
  15. 0 external/wintoast/README.md
  16. 0 external/wintoast/src/wintoastlib.cpp
  17. +1 −0 external/wintoast/src/wintoastlib.h
  18. +0 −1 images/images.qrc
  19. +0 −1 images/themes/default/externalLink.svg
  20. +8 −1 python/core/auto_generated/qgsapplication.sip.in
  21. +0 −34 python/core/auto_generated/qgsmaplayer.sip.in
  22. +1 −0 python/core/auto_generated/qgsxmlutils.sip.in
  23. +2 −2 python/plugins/processing/algs/gdal/GdalUtils.py
  24. +1 −1 python/plugins/processing/algs/gdal/gdalcalc.py
  25. +3 −0 python/plugins/processing/algs/grass7/Grass7Utils.py
  26. +3 −1 python/plugins/processing/algs/qgis/Aggregate.py
  27. +1 −1 python/plugins/processing/algs/qgis/PointsInPolygon.py
  28. +1 −1 python/plugins/processing/gui/HistoryDialog.py
  29. +6 −3 python/plugins/processing/gui/wrappers.py
  30. +10 −14 python/plugins/processing/modeler/ProjectProvider.py
  31. +1,123 −1,094 python/plugins/processing/tests/GdalAlgorithmsTest.py
  32. +7 −0 python/plugins/processing/tests/ProjectProvider.py
  33. BIN resources/data/world_map.dbf
  34. 0 resources/data/world_map.prj
  35. +7 −0 rpm/qgis.spec.template
  36. +62 −0 rpm/sources/qgis-fix-sip-name.patch
  37. +6 −6 scripts/process_function_template.py
  38. 0 src/analysis/CMakeLists.txt
  39. +2 −0 src/app/CMakeLists.txt
  40. +67 −96 src/app/main.cpp
  41. +6 −16 src/app/pluginmanager/qgspluginmanager.cpp
  42. +1 −0 src/app/qgisapp.cpp
  43. +28 −16 src/app/qgsapplayertreeviewmenuprovider.cpp
  44. +3 −1 src/app/qgsattributetabledialog.cpp
  45. +254 −0 src/app/qgsmaplayerstylecategoriesmodel.cpp
  46. +54 −0 src/app/qgsmaplayerstylecategoriesmodel.h
  47. +8 −23 src/app/qgsvectorlayerloadstyledialog.cpp
  48. +3 −0 src/app/qgsvectorlayerloadstyledialog.h
  49. +4 −2 src/app/qgsvectorlayerproperties.cpp
  50. +1 −1 src/app/qgsvectorlayerproperties.h
  51. +7 −22 src/app/qgsvectorlayersavestyledialog.cpp
  52. +3 −1 src/app/qgsvectorlayersavestyledialog.h
  53. 0 src/auth/oauth2/qjsonwrapper/LICENSE
  54. 0 src/auth/oauth2/qjsonwrapper/README.md
  55. 0 src/core/CMakeLists.txt
  56. +1 −1 src/core/expression/qgsexpression.cpp
  57. +12 −0 src/core/processing/qgsprocessingparameters.cpp
  58. +36 −3 src/core/qgsapplication.cpp
  59. +13 −1 src/core/qgsapplication.h
  60. +29 −7 src/core/qgsgeometryvalidator.cpp
  61. +2 −1 src/core/qgsjsonutils.cpp
  62. +0 −50 src/core/qgsmaplayer.cpp
  63. +0 −36 src/core/qgsmaplayer.h
  64. +4 −2 src/core/qgsvectorlayereditbuffer.cpp
  65. +13 −0 src/core/qgsxmlutils.cpp
  66. +1 −0 src/core/qgsxmlutils.h
  67. 0 src/gui/CMakeLists.txt
  68. +2 −11 src/gui/processing/qgsprocessingtoolboxmodel.cpp
  69. +4 −1 src/gui/processing/qgsprocessingwidgetwrapper.cpp
  70. +2 −1 src/gui/qgsnewauxiliarylayerdialog.cpp
  71. +2 −1 src/gui/qgspropertyoverridebutton.cpp
  72. +2 −1 src/gui/symbology/qgsvectorfieldsymbollayerwidget.cpp
  73. 0 src/native/CMakeLists.txt
  74. +21 −5 src/native/win/qgswinnative.cpp
  75. +1 −0 src/native/win/qgswinnative.h
  76. +11 −25 src/plugins/evis/eventbrowser/evisgenericeventbrowsergui.cpp
  77. +8 −8 src/plugins/evis/eventbrowser/evisgenericeventbrowsergui.h
  78. 0 src/providers/arcgisrest/CMakeLists.txt
  79. +28 −21 src/providers/spatialite/qgsspatialiteprovider.cpp
  80. +2 −0 src/providers/spatialite/qgsspatialiteprovider.h
  81. +2 −1 src/providers/virtual/qgsvirtuallayersourceselect.cpp
  82. +17 −15 src/server/services/wms/qgswmsrenderer.cpp
  83. +1 −1 src/server/services/wms/qgswmsrenderer.h
  84. +2 −2 src/ui/3d/line3dsymbolwidget.ui
  85. +4 −4 src/ui/3d/point3dsymbolwidget.ui
  86. +4 −4 src/ui/3d/polygon3dsymbolwidget.ui
  87. +1 −1 src/ui/auth/qgsauthconfiguriedit.ui
  88. +2 −2 src/ui/auth/qgsauthimportcertdialog.ui
  89. +1 −1 src/ui/auth/qgsauthimportidentitydialog.ui
  90. +1 −1 src/ui/auth/qgsauthsslerrorsdialog.ui
  91. +1 −1 src/ui/auth/qgsauthsslimportdialog.ui
  92. +2 −2 src/ui/editorwidgets/qgsdatetimeeditconfig.ui
  93. +3 −3 src/ui/editorwidgets/qgsexternalresourceconfigdlg.ui
  94. +1 −1 src/ui/editorwidgets/qgsrangeconfigdlgbase.ui
  95. +2 −2 src/ui/layout/qgslayout3dmapwidgetbase.ui
  96. +8 −8 src/ui/layout/qgslayoutattributetablewidgetbase.ui
  97. +3 −3 src/ui/layout/qgslayouthtmlwidgetbase.ui
  98. +2 −2 src/ui/layout/qgslayoutimageexportoptions.ui
  99. +2 −2 src/ui/layout/qgslayoutlabelwidgetbase.ui
  100. +2 −2 src/ui/layout/qgslayoutlegendwidgetbase.ui
  101. +4 −4 src/ui/layout/qgslayoutmapgridwidgetbase.ui
  102. +3 −3 src/ui/layout/qgslayoutmapwidgetbase.ui
  103. +2 −2 src/ui/layout/qgslayoutnewitemproperties.ui
  104. +1 −1 src/ui/layout/qgslayoutnewpagedialog.ui
  105. +1 −1 src/ui/layout/qgslayoutpagepropertieswidget.ui
  106. +3 −3 src/ui/layout/qgslayoutpicturewidgetbase.ui
  107. +1 −1 src/ui/layout/qgslayoutpolygonwidgetbase.ui
  108. +3 −3 src/ui/layout/qgslayoutpolylinewidgetbase.ui
  109. +2 −2 src/ui/layout/qgslayoutscalebarwidgetbase.ui
  110. +1 −1 src/ui/layout/qgslayoutshapewidgetbase.ui
  111. +2 −2 src/ui/layout/qgssvgexportoptions.ui
  112. +2 −2 src/ui/mesh/qgsrenderermeshpropswidgetbase.ui
  113. 0 src/ui/qgisapp.ui
  114. +4 −4 src/ui/qgsalignrasterdialog.ui
  115. +3 −3 src/ui/qgsarcgisservicesourceselectbase.ui
  116. +1 −1 src/ui/qgsattributeactionpropertiesdialogbase.ui
  117. +1 −1 src/ui/qgscategorizedsymbolrendererv2widget.ui
  118. +2 −2 src/ui/qgsconfigureshortcutsdialog.ui
  119. +1 −1 src/ui/qgscptcitycolorrampv2dialogbase.ui
  120. +1 −1 src/ui/qgsdatadefinedsizelegendwidget.ui
  121. +1 −1 src/ui/qgsdb2newconnectionbase.ui
  122. +2 −2 src/ui/qgsdecorationcopyrightdialog.ui
  123. +2 −2 src/ui/qgsdecorationgriddialog.ui
  124. +1 −1 src/ui/qgsdecorationlayoutextentdialog.ui
  125. +1 −1 src/ui/qgsdecorationnortharrowdialog.ui
  126. +1 −1 src/ui/qgsdecorationscalebardialog.ui
  127. +2 −2 src/ui/qgsdelimitedtextsourceselectbase.ui
  128. +3 −3 src/ui/qgsdiagrampropertiesbase.ui
  129. +4 −4 src/ui/qgsdwgimportbase.ui
  130. +2 −2 src/ui/qgsdxfexportdialogbase.ui
  131. +2 −2 src/ui/qgsexpressionbuilder.ui
  132. +1 −1 src/ui/qgsexpressionselectiondialogbase.ui
  133. +1 −1 src/ui/qgsgeonodesourceselectbase.ui
  134. +1 −1 src/ui/qgsgradientcolorrampdialogbase.ui
  135. +2 −2 src/ui/qgsgraduatedsymbolrendererv2widget.ui
  136. +1 −1 src/ui/qgshistogramwidgetbase.ui
  137. +1 −1 src/ui/qgsmssqlnewconnectionbase.ui
  138. +2 −2 src/ui/qgsnewgeopackagelayerdialogbase.ui
  139. +1 −1 src/ui/qgsnewhttpconnectionbase.ui
  140. +2 −2 src/ui/qgsnewspatialitelayerdialogbase.ui
  141. +4 −4 src/ui/qgsnewvectorlayerdialogbase.ui
  142. +1 −1 src/ui/qgsogrsourceselectbase.ui
  143. +2 −2 src/ui/qgsorganizetablecolumnsdialog.ui
  144. +2 −2 src/ui/qgsowssourceselectbase.ui
  145. +1 −1 src/ui/qgspalettedrendererwidgetbase.ui
  146. +3 −3 src/ui/qgspluginmanagerbase.ui
  147. +2 −2 src/ui/qgspointdisplacementrendererwidgetbase.ui
  148. +4 −4 src/ui/qgsrastercalcdialogbase.ui
  149. +2 −2 src/ui/qgsrasterlayersaveasdialogbase.ui
  150. +5 −5 src/ui/qgsrelationadddlgbase.ui
  151. +1 −1 src/ui/qgsrendererrasterpropswidgetbase.ui
  152. +2 −2 src/ui/qgsrulebasedrendererv2widget.ui
  153. +1 −1 src/ui/qgssmartgroupconditionwidget.ui
  154. +1 −1 src/ui/qgssmartgroupeditordialogbase.ui
  155. +1 −1 src/ui/qgssqlcomposerdialogbase.ui
  156. +11 −11 src/ui/qgsvectorlayerloadstyledialog.ui
  157. +3 −3 src/ui/qgsvectorlayersavestyledialog.ui
  158. +2 −2 src/ui/qgswfssourceselectbase.ui
  159. +3 −3 src/ui/qgswmssourceselectbase.ui
  160. +1 −1 src/ui/qgsxyzconnectiondialog.ui
  161. +1 −1 src/ui/raster/qgsrastertransparencywidget.ui
  162. +3 −3 src/ui/symbollayer/qgs25drendererwidgetbase.ui
  163. +1 −1 src/ui/symbollayer/qgsgeometrygeneratorwidgetbase.ui
  164. +1 −1 src/ui/symbollayer/qgspointclusterrendererwidgetbase.ui
  165. +2 −2 src/ui/symbollayer/widget_gradientfill.ui
  166. +2 −2 src/ui/symbollayer/widget_shapeburstfill.ui
  167. +18 −0 tests/src/analysis/testqgsprocessing.cpp
  168. 0 tests/src/core/CMakeLists.txt
  169. 0 tests/src/gui/CMakeLists.txt
  170. +6 −13 tests/src/gui/testqgsprocessingmodel.cpp
  171. 0 tests/src/providers/CMakeLists.txt
  172. +37 −0 tests/src/python/test_provider_spatialite.py
  173. +1 −0 tests/src/python/test_qgsprocessinginplace.py
  174. +0 −2 tests/src/python/test_qgsserver_wms_getfeatureinfo.py
  175. +21 −2 tests/src/python/test_qgsxmlutils.py
  176. BIN ...mposer_table/expected_composerattributetable_align/expected_composerattributetable_align_mask.png
  177. BIN tests/testdata/tab_file.dat
  178. BIN tests/testdata/tab_file.id
  179. BIN tests/testdata/tab_file.map
  180. 0 tests/testdata/tab_file.tab
0 .ci/travis/linux/blacklist.txt 100755 → 100644
No changes.
0 debian/rules 100755 → 100644
No changes.
0 external/astyle/ASBeautifier.cpp 100755 → 100644
No changes.
0 external/astyle/ASEnhancer.cpp 100755 → 100644
No changes.
0 external/astyle/ASFormatter.cpp 100755 → 100644
No changes.
0 external/astyle/ASLocalizer.cpp 100755 → 100644
No changes.
0 external/astyle/ASLocalizer.h 100755 → 100644
No changes.
0 external/astyle/ASResource.cpp 100755 → 100644
No changes.
0 external/astyle/LICENSE.md 100755 → 100644
No changes.
0 external/astyle/astyle.h 100755 → 100644
No changes.
0 external/astyle/astyle_main.cpp 100755 → 100644
No changes.
0 external/astyle/astyle_main.h 100755 → 100644
No changes.
0 external/o2/src/o1.cpp 100755 → 100644
No changes.
0 external/wintoast/LICENSE.txt 100755 → 100644
No changes.
0 external/wintoast/README.md 100755 → 100644
No changes.
No changes.
@@ -35,6 +35,7 @@ namespace WinToastLib {
ApplicationHidden = ToastDismissalReason::ToastDismissalReason_ApplicationHidden,
TimedOut = ToastDismissalReason::ToastDismissalReason_TimedOut
};
virtual ~IWinToastHandler() = default;
virtual void toastActivated() const = 0;
virtual void toastActivated(int actionIndex) const = 0;
virtual void toastDismissed(WinToastDismissalReason state) const = 0;
1 images/images.qrc 100755 → 100644
@@ -149,7 +149,6 @@
<file>themes/default/copyright_label.svg</file>
<file>themes/default/dbmanager.svg</file>
<file>themes/default/extents.svg</file>
<file>themes/default/externalLink.svg</file>
<file>themes/default/gpsicons/barchart.svg</file>
<file>themes/default/gpsicons/polarchart.svg</file>
<file>themes/default/grass_location.svg</file>

This file was deleted.

@@ -143,7 +143,7 @@ for resources in their own datastores e.g. a Qt4 resource bundle.
be reverted to 'default'.
%End

static QString resolvePkgPath( );
static QString resolvePkgPath();
%Docstring
Calculate the application pkg path

@@ -807,6 +807,13 @@ The maximum number of concurrent connections per connections pool.
QGIS may in some situations allocate more than this amount
of connections to avoid deadlocks.

.. versionadded:: 3.4
%End

static void setTranslation( const QString &translation );
%Docstring
Set translation

.. versionadded:: 3.4
%End

@@ -94,31 +94,6 @@ This is the base class for all map layer types (vector, raster).
typedef QFlags<QgsMapLayer::StyleCategory> StyleCategories;


struct ReadableStyleCategory
{
public:
ReadableStyleCategory( const QString &name, const QString &toolTip = QString() );
%Docstring
Create a ReadableStyleCategory
%End
ReadableStyleCategory( const QString &name, const QIcon &icon, const QString &toolTip = QString() );
%Docstring
Create a ReadableStyleCategory
%End
QString name() const;
%Docstring
Return the translated name of the category
%End
QString toolTip() const;
%Docstring
Return the translated tooltip of the category
%End
QIcon icon() const;
%Docstring
Return the icon of the category
%End
};

QgsMapLayer( QgsMapLayer::LayerType type = VectorLayer, const QString &name = QString(), const QString &source = QString() );
%Docstring
Constructor for QgsMapLayer
@@ -181,15 +156,6 @@ Returns the extension of a Property.
.. versionadded:: 3.0
%End

static ReadableStyleCategory readableStyleCategory( StyleCategory category );
%Docstring
Readable and Translated category

.. versionadded:: 3.4
%End



QString id() const;
%Docstring
Returns the layer's unique ID, which is used to access this layer from :py:class:`QgsProject`.
@@ -60,6 +60,7 @@ Supported types are
- QVariant.Double
- QVariant.String
- :py:class:`QgsProperty` (since QGIS 3.4)
- :py:class:`QgsCoordinateReferenceSystem` (since QGIS 3.4)
%End

static QVariant readVariant( const QDomElement &element );
@@ -447,5 +447,5 @@ def gdal_crs_string(crs):
if crs.authid().upper().startswith('EPSG:'):
return crs.authid()

# fallback to proj4 string
return crs.toProj4()
# fallback to proj4 string, stripping out newline characters
return crs.toProj4().replace('\n', ' ').replace('\r', ' ')
@@ -176,7 +176,7 @@ def groupId(self):
return 'rastermiscellaneous'

def commandName(self):
return 'gdal_calc'
return 'gdal_calc' if isWindows() else 'gdal_calc.py'

def getConsoleCommands(self, parameters, context, feedback, executing=True):
out = self.parameterAsOutputLayer(parameters, self.OUTPUT, context)
@@ -330,6 +330,9 @@ def prepareGrassExecution(commands):
Prepare GRASS batch job in a script and
returns it as a command ready for subprocess.
"""
if Grass7Utils.command is None:
Grass7Utils.grassBin()

env = os.environ.copy()
env['GRASS_MESSAGE_FORMAT'] = 'plain'
if 'GISBASE' in env:
@@ -34,6 +34,7 @@
QgsField,
QgsFields,
QgsGeometry,
QgsProcessing,
QgsProcessingParameterDefinition,
QgsProcessingParameterExpression,
QgsProcessingParameterFeatureSink,
@@ -68,7 +69,8 @@ def displayName(self):

def initAlgorithm(self, config=None):
self.addParameter(QgsProcessingParameterFeatureSource(self.INPUT,
self.tr('Input layer')))
self.tr('Input layer'),
types=[QgsProcessing.TypeVector]))
self.addParameter(QgsProcessingParameterExpression(self.GROUP_BY,
self.tr('Group by expression (NULL to group all features)'),
defaultValue='NULL',
@@ -117,7 +117,7 @@ def processAlgorithm(self, parameters, context, feedback):

fields = poly_source.fields()
if fields.lookupField(field_name) < 0:
fields.append(QgsField(field_name, QVariant.Int))
fields.append(QgsField(field_name, QVariant.LongLong))
field_index = fields.lookupField(field_name)

(sink, dest_id) = self.parameterAsSink(parameters, self.OUTPUT, context,
@@ -116,7 +116,7 @@ def executeAlgorithm(self):
if isinstance(item, TreeLogEntryItem):
if item.isAlg:
script = 'import processing\n'
script += 'from qgis.core import QgsProcessingOutputLayerDefinition, QgsProcessingFeatureSourceDefinition, QgsProperty\n'
script += 'from qgis.core import QgsProcessingOutputLayerDefinition, QgsProcessingFeatureSourceDefinition, QgsProperty, QgsCoordinateReferenceSystem\n'
script += item.entry.text.replace('processing.run(', 'processing.execAlgorithmDialog(')
self.close()
exec(script)
@@ -638,11 +638,14 @@ def _getOptions(self):
[QgsProcessingOutputRasterLayer,
QgsProcessingOutputMapLayer,
QgsProcessingOutputMultipleLayers])
elif self.parameterDefinition().layerType() == QgsProcessing.TypeVector:
options = self.dialog.getAvailableValuesOfType((QgsProcessingParameterFeatureSource,
elif self.parameterDefinition().layerType() == QgsProcessing.TypeMapLayer:
options = self.dialog.getAvailableValuesOfType((QgsProcessingParameterRasterLayer,
QgsProcessingParameterFeatureSource,
QgsProcessingParameterVectorLayer,
QgsProcessingParameterMultipleLayers),
[QgsProcessingOutputVectorLayer,
[QgsProcessingOutputRasterLayer,
QgsProcessingOutputVectorLayer,
QgsProcessingOutputMapLayer,
QgsProcessingOutputMultipleLayers])
else:
options = self.dialog.getAvailableValuesOfType(QgsProcessingParameterFile, QgsProcessingOutputFile)
@@ -45,7 +45,7 @@ def __init__(self, project=None):
else:
self.project = project

self.model_definitions = [] # list of maps defining models
self.model_definitions = {} # dict of models in project
self.is_loading = False

# must reload models if providers list is changed - previously unavailable algorithms
@@ -67,7 +67,7 @@ def clear(self):
"""
Remove all algorithms from the provider
"""
self.model_definitions = []
self.model_definitions = {}
self.refreshAlgorithms()

def add_model(self, model):
@@ -77,7 +77,7 @@ def add_model(self, model):
:param model: model to add
"""
definition = model.toVariant()
self.model_definitions.append(definition)
self.model_definitions[model.name()] = definition
self.refreshAlgorithms()

def remove_model(self, model):
@@ -89,31 +89,27 @@ def remove_model(self, model):
if model is None:
return

filtered_model_definitions = []
for m in self.model_definitions:
algorithm = QgsProcessingModelAlgorithm()
if algorithm.loadVariant(m) and algorithm.name() == model.name():
# found matching model definition, skip it
continue
filtered_model_definitions.append(m)
if model.name() in self.model_definitions:
del self.model_definitions[model.name()]

self.model_definitions = filtered_model_definitions
self.refreshAlgorithms()

def read_project(self, doc):
"""
Reads the project model definitions from the project DOM document
:param doc: DOM document
"""
self.model_definitions = []
self.model_definitions = {}
project_models_nodes = doc.elementsByTagName('projectModels')
if project_models_nodes:
project_models_node = project_models_nodes.at(0)
model_nodes = project_models_node.childNodes()
for n in range(model_nodes.count()):
model_element = model_nodes.at(n).toElement()
definition = QgsXmlUtils.readVariant(model_element)
self.model_definitions.append(definition)
algorithm = QgsProcessingModelAlgorithm()
if algorithm.loadVariant(definition):
self.model_definitions[algorithm.name()] = definition

self.refreshAlgorithms()

@@ -158,7 +154,7 @@ def loadAlgorithms(self):
return
self.is_loading = True

for definition in self.model_definitions:
for definition in self.model_definitions.values():
algorithm = QgsProcessingModelAlgorithm()
if algorithm.loadVariant(definition):
self.addAlgorithm(algorithm)

0 comments on commit 840749c

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