[QGIS-Developer] MetaSearch provider connections in master

Alessandro Pasotti apasotti at gmail.com
Mon Nov 13 06:18:53 PST 2017


On Mon, Nov 13, 2017 at 3:06 PM, Tom Kralidis <tomkralidis at gmail.com> wrote:

> Hi devs:
>
> Given https://issues.qgis.org/issues/17347 I'm working on fixing
> MetaSearch
> provider connections in master. The core part of the code is currently at
> [1]. A
> standalone example can be found at [2].  Result is that the WMS/WMTS
> provider
> opens connecting to the selected WMS/WMTS (good).  When clicking 'Ok',
> 'Close',
> or 'Add', the WMS/WMTS layer is added (expecting 'Close' to simply
> close the dialog
> and 'Ok' to add the layer and then close).  Finally clicking the 'X'
> (top right) closes
> the dialog as expected.
>
> - are there other slots to call instead?
> - should the Data Source Manager be used instead [3]?  Are there plans
> for providing
> Python binding to this?
>


I can't tell if it's a good idea, but you can definitely add whatever you
want to the DataSourceManager dialog with plain python:

class ConcreteDataSourceWidget(QgsAbstractDataSourceWidget):
    pass

class ConcreteSourceSelectProvider(QgsSourceSelectProvider):

    def providerKey(self):
        return "MyTestProviderKey"

    def text(self):
        return "MyTestProviderText"

    def icon(self):
        return QIcon()

    def createDataSourceWidget(self):
        return ConcreteDataSourceWidget()

    def ordering(self):
        return 1

registry = QgsSourceSelectProviderRegistry()
registry.addProvider(ConcreteSourceSelectProvider())

Note that the DataSourceManager dialog is created when QGIS starts, you
will want to register your provider early in the startup process, for now,
there is no way to refresh the dialog after it has been constructed.





>
> Thanks
>
> ..Tom
>
> [1] https://github.com/qgis/QGIS/blob/master/python/plugins/
> MetaSearch/dialogs/maindialog.py#L759-L792
> [2] https://gist.github.com/tomkralidis/dccb49efa760a585be38ee0c3188b8b3
> [3] http://qgis.org/api/classQgsDataSourceManagerDialog.html
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer




-- 
Alessandro Pasotti
w3:   www.itopen.it
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20171113/e58e0a7e/attachment.html>


More information about the QGIS-Developer mailing list