Skip to content

Commit

Permalink
Merge pull request #51266 from kadas-albireo/providersublayerdialog
Browse files Browse the repository at this point in the history
Move QgsProviderSublayersDialog to GUI
  • Loading branch information
manisandro committed Jan 3, 2023
2 parents 7297f7a + caadcb4 commit a3fc7e8
Show file tree
Hide file tree
Showing 6 changed files with 151 additions and 4 deletions.
105 changes: 105 additions & 0 deletions python/gui/auto_generated/qgsprovidersublayersdialog.sip.in
@@ -0,0 +1,105 @@
/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/qgsprovidersublayersdialog.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/





class QgsProviderSublayerDialogModel : QgsProviderSublayerModel
{
%Docstring(signature="appended")

A model for representing the sublayers present in a URI for the :py:class:`QgsProviderSublayersDialog`.

.. versionadded:: 3.30
%End

%TypeHeaderCode
#include "qgsprovidersublayersdialog.h"
%End
public:

QgsProviderSublayerDialogModel( QObject *parent = 0 );
%Docstring
Constructor.
%End

virtual QVariant data( const QModelIndex &index, int role ) const;

virtual Qt::ItemFlags flags( const QModelIndex &index ) const;


void setGeometryTypesResolved( bool resolved );
%Docstring
Sets whether geometry types are resolved.
%End

};

class QgsProviderSublayersDialog : QDialog
{
%Docstring(signature="appended")

Dialog for selecting provider sublayers.

.. versionadded:: 3.30
%End

%TypeHeaderCode
#include "qgsprovidersublayersdialog.h"
%End
public:

QgsProviderSublayersDialog( const QString &uri,
const QString &filePath,
const QList< QgsProviderSublayerDetails> initialDetails = QList< QgsProviderSublayerDetails>(),
const QList< QgsMapLayerType > &acceptableTypes = QList< QgsMapLayerType >(),
QWidget *parent /TransferThis/ = 0,
Qt::WindowFlags fl = Qt::WindowFlags() );
%Docstring
Constructor.
%End

void setNonLayerItems( const QList< QgsProviderSublayerModel::NonLayerItem > &items );
%Docstring
Set list of non-layer items (e.g. embedded QGIS project items).
%End

~QgsProviderSublayersDialog();

QList< QgsProviderSublayerDetails > selectedLayers() const;
%Docstring
Returns the list of selected layers.
%End

QList< QgsProviderSublayerModel::NonLayerItem > selectedNonLayerItems() const;
%Docstring
Returns the list of selected non-layer items (e.g. embedded QGIS project items).
%End

QString groupName() const;
%Docstring
Returns an appropriate name for the layer group.
%End

signals:

void layersAdded( const QList< QgsProviderSublayerDetails > &layers );
%Docstring
Emitted when sublayers selected from the dialog should be added to the project.
%End

};

/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/qgsprovidersublayersdialog.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
1 change: 1 addition & 0 deletions python/gui/gui_auto.sip
Expand Up @@ -180,6 +180,7 @@
%Include auto_generated/qgsprovidersourcewidget.sip
%Include auto_generated/qgsprovidersourcewidgetprovider.sip
%Include auto_generated/qgsprovidersourcewidgetproviderregistry.sip
%Include auto_generated/qgsprovidersublayersdialog.sip
%Include auto_generated/qgsproxystyle.sip
%Include auto_generated/qgsquerybuilder.sip
%Include auto_generated/qgsqueryresultwidget.sip
Expand Down
1 change: 0 additions & 1 deletion src/app/CMakeLists.txt
Expand Up @@ -59,7 +59,6 @@ set(QGIS_APP_SRCS
qgsmapcanvasdockwidget.cpp
qgsmapsavedialog.cpp
qgsprojectlistitemdelegate.cpp
qgsprovidersublayersdialog.cpp
qgspuzzlewidget.cpp
qgsversionmigration.cpp
qgsrasterattributetableapputils.cpp
Expand Down
5 changes: 5 additions & 0 deletions src/gui/CMakeLists.txt
Expand Up @@ -630,6 +630,7 @@ set(QGIS_GUI_SRCS
qgsprovidersourcewidget.cpp
qgsprovidersourcewidgetprovider.cpp
qgsprovidersourcewidgetproviderregistry.cpp
qgsprovidersublayersdialog.cpp
qgsprojectstorageguiregistry.cpp
qgsproviderconnectioncombobox.cpp
qgsproxystyle.cpp
Expand Down Expand Up @@ -897,6 +898,7 @@ set(QGIS_GUI_HDRS
qgsprovidersourcewidget.h
qgsprovidersourcewidgetprovider.h
qgsprovidersourcewidgetproviderregistry.h
qgsprovidersublayersdialog.h
qgsproxystyle.h
qgsquerybuilder.h
qgsqueryresultwidget.h
Expand Down Expand Up @@ -1489,6 +1491,9 @@ set(QGIS_GUI_UI_HDRS
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgstemporalcontrollerwidgetbase.h
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgsprocessingtinmeshdatawidgetbase.h
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgsexpressionpreviewbase.h
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgsprovidersublayersdialogbase.h
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgsdatumtransformdialogbase.h
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgscoordinateoperationwidgetbase.h
)

if(ENABLE_MODELTEST)
Expand Down
Expand Up @@ -15,7 +15,6 @@

#include "qgsprovidersublayersdialog.h"
#include "qgssettings.h"
#include "qgsgui.h"
#include "qgsprovidersublayermodel.h"
#include "qgsproviderutils.h"
#include "qgsprovidersublayertask.h"
Expand Down
Expand Up @@ -20,6 +20,7 @@
#include <QCheckBox>
#include <QPointer>

#include "qgsgui.h"
#include "ui_qgsprovidersublayersdialogbase.h"
#include "qgsprovidersublayerdetails.h"
#include "qgsprovidersublayermodel.h"
Expand All @@ -28,17 +29,30 @@ class QgsProviderSublayerModel;
class QgsProviderSublayerProxyModel;
class QgsProviderSublayerTask;

class QgsProviderSublayerDialogModel : public QgsProviderSublayerModel
/**
* \ingroup gui
*
* \brief A model for representing the sublayers present in a URI for the QgsProviderSublayersDialog.
*
* \since QGIS 3.30
*/
class GUI_EXPORT QgsProviderSublayerDialogModel : public QgsProviderSublayerModel
{
Q_OBJECT

public:

/**
* Constructor.
*/
QgsProviderSublayerDialogModel( QObject *parent = nullptr );

QVariant data( const QModelIndex &index, int role ) const override;
Qt::ItemFlags flags( const QModelIndex &index ) const override;

/**
* Sets whether geometry types are resolved.
*/
void setGeometryTypesResolved( bool resolved );

private:
Expand All @@ -48,24 +62,48 @@ class QgsProviderSublayerDialogModel : public QgsProviderSublayerModel

};

class QgsProviderSublayersDialog : public QDialog, private Ui::QgsProviderSublayersDialogBase
/**
* \ingroup gui
*
* \brief Dialog for selecting provider sublayers.
*
* \since QGIS 3.30
*/
class GUI_EXPORT QgsProviderSublayersDialog : public QDialog, private Ui::QgsProviderSublayersDialogBase
{
Q_OBJECT
public:

/**
* Constructor.
*/
QgsProviderSublayersDialog( const QString &uri,
const QString &filePath,
const QList< QgsProviderSublayerDetails> initialDetails = QList< QgsProviderSublayerDetails>(),
const QList< QgsMapLayerType > &acceptableTypes = QList< QgsMapLayerType >(),
QWidget *parent SIP_TRANSFERTHIS = nullptr,
Qt::WindowFlags fl = Qt::WindowFlags() );

/**
* Set list of non-layer items (e.g. embedded QGIS project items).
*/
void setNonLayerItems( const QList< QgsProviderSublayerModel::NonLayerItem > &items );

~QgsProviderSublayersDialog() override;

/**
* Returns the list of selected layers.
*/
QList< QgsProviderSublayerDetails > selectedLayers() const;

/**
* Returns the list of selected non-layer items (e.g. embedded QGIS project items).
*/
QList< QgsProviderSublayerModel::NonLayerItem > selectedNonLayerItems() const;

/**
* Returns an appropriate name for the layer group.
*/
QString groupName() const;

signals:
Expand Down

0 comments on commit a3fc7e8

Please sign in to comment.