Skip to content

Commit a3fc7e8

Browse files
authoredJan 3, 2023
Merge pull request #51266 from kadas-albireo/providersublayerdialog
Move QgsProviderSublayersDialog to GUI
2 parents 7297f7a + caadcb4 commit a3fc7e8

File tree

6 files changed

+151
-4
lines changed

6 files changed

+151
-4
lines changed
 
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
/************************************************************************
2+
* This file has been generated automatically from *
3+
* *
4+
* src/gui/qgsprovidersublayersdialog.h *
5+
* *
6+
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
7+
************************************************************************/
8+
9+
10+
11+
12+
13+
class QgsProviderSublayerDialogModel : QgsProviderSublayerModel
14+
{
15+
%Docstring(signature="appended")
16+
17+
A model for representing the sublayers present in a URI for the :py:class:`QgsProviderSublayersDialog`.
18+
19+
.. versionadded:: 3.30
20+
%End
21+
22+
%TypeHeaderCode
23+
#include "qgsprovidersublayersdialog.h"
24+
%End
25+
public:
26+
27+
QgsProviderSublayerDialogModel( QObject *parent = 0 );
28+
%Docstring
29+
Constructor.
30+
%End
31+
32+
virtual QVariant data( const QModelIndex &index, int role ) const;
33+
34+
virtual Qt::ItemFlags flags( const QModelIndex &index ) const;
35+
36+
37+
void setGeometryTypesResolved( bool resolved );
38+
%Docstring
39+
Sets whether geometry types are resolved.
40+
%End
41+
42+
};
43+
44+
class QgsProviderSublayersDialog : QDialog
45+
{
46+
%Docstring(signature="appended")
47+
48+
Dialog for selecting provider sublayers.
49+
50+
.. versionadded:: 3.30
51+
%End
52+
53+
%TypeHeaderCode
54+
#include "qgsprovidersublayersdialog.h"
55+
%End
56+
public:
57+
58+
QgsProviderSublayersDialog( const QString &uri,
59+
const QString &filePath,
60+
const QList< QgsProviderSublayerDetails> initialDetails = QList< QgsProviderSublayerDetails>(),
61+
const QList< QgsMapLayerType > &acceptableTypes = QList< QgsMapLayerType >(),
62+
QWidget *parent /TransferThis/ = 0,
63+
Qt::WindowFlags fl = Qt::WindowFlags() );
64+
%Docstring
65+
Constructor.
66+
%End
67+
68+
void setNonLayerItems( const QList< QgsProviderSublayerModel::NonLayerItem > &items );
69+
%Docstring
70+
Set list of non-layer items (e.g. embedded QGIS project items).
71+
%End
72+
73+
~QgsProviderSublayersDialog();
74+
75+
QList< QgsProviderSublayerDetails > selectedLayers() const;
76+
%Docstring
77+
Returns the list of selected layers.
78+
%End
79+
80+
QList< QgsProviderSublayerModel::NonLayerItem > selectedNonLayerItems() const;
81+
%Docstring
82+
Returns the list of selected non-layer items (e.g. embedded QGIS project items).
83+
%End
84+
85+
QString groupName() const;
86+
%Docstring
87+
Returns an appropriate name for the layer group.
88+
%End
89+
90+
signals:
91+
92+
void layersAdded( const QList< QgsProviderSublayerDetails > &layers );
93+
%Docstring
94+
Emitted when sublayers selected from the dialog should be added to the project.
95+
%End
96+
97+
};
98+
99+
/************************************************************************
100+
* This file has been generated automatically from *
101+
* *
102+
* src/gui/qgsprovidersublayersdialog.h *
103+
* *
104+
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
105+
************************************************************************/

‎python/gui/gui_auto.sip

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@
180180
%Include auto_generated/qgsprovidersourcewidget.sip
181181
%Include auto_generated/qgsprovidersourcewidgetprovider.sip
182182
%Include auto_generated/qgsprovidersourcewidgetproviderregistry.sip
183+
%Include auto_generated/qgsprovidersublayersdialog.sip
183184
%Include auto_generated/qgsproxystyle.sip
184185
%Include auto_generated/qgsquerybuilder.sip
185186
%Include auto_generated/qgsqueryresultwidget.sip

‎src/app/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ set(QGIS_APP_SRCS
5959
qgsmapcanvasdockwidget.cpp
6060
qgsmapsavedialog.cpp
6161
qgsprojectlistitemdelegate.cpp
62-
qgsprovidersublayersdialog.cpp
6362
qgspuzzlewidget.cpp
6463
qgsversionmigration.cpp
6564
qgsrasterattributetableapputils.cpp

‎src/gui/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -630,6 +630,7 @@ set(QGIS_GUI_SRCS
630630
qgsprovidersourcewidget.cpp
631631
qgsprovidersourcewidgetprovider.cpp
632632
qgsprovidersourcewidgetproviderregistry.cpp
633+
qgsprovidersublayersdialog.cpp
633634
qgsprojectstorageguiregistry.cpp
634635
qgsproviderconnectioncombobox.cpp
635636
qgsproxystyle.cpp
@@ -897,6 +898,7 @@ set(QGIS_GUI_HDRS
897898
qgsprovidersourcewidget.h
898899
qgsprovidersourcewidgetprovider.h
899900
qgsprovidersourcewidgetproviderregistry.h
901+
qgsprovidersublayersdialog.h
900902
qgsproxystyle.h
901903
qgsquerybuilder.h
902904
qgsqueryresultwidget.h
@@ -1489,6 +1491,9 @@ set(QGIS_GUI_UI_HDRS
14891491
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgstemporalcontrollerwidgetbase.h
14901492
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgsprocessingtinmeshdatawidgetbase.h
14911493
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgsexpressionpreviewbase.h
1494+
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgsprovidersublayersdialogbase.h
1495+
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgsdatumtransformdialogbase.h
1496+
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgscoordinateoperationwidgetbase.h
14921497
)
14931498

14941499
if(ENABLE_MODELTEST)

‎src/app/qgsprovidersublayersdialog.cpp renamed to ‎src/gui/qgsprovidersublayersdialog.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515

1616
#include "qgsprovidersublayersdialog.h"
1717
#include "qgssettings.h"
18-
#include "qgsgui.h"
1918
#include "qgsprovidersublayermodel.h"
2019
#include "qgsproviderutils.h"
2120
#include "qgsprovidersublayertask.h"

‎src/app/qgsprovidersublayersdialog.h renamed to ‎src/gui/qgsprovidersublayersdialog.h

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include <QCheckBox>
2121
#include <QPointer>
2222

23+
#include "qgsgui.h"
2324
#include "ui_qgsprovidersublayersdialogbase.h"
2425
#include "qgsprovidersublayerdetails.h"
2526
#include "qgsprovidersublayermodel.h"
@@ -28,17 +29,30 @@ class QgsProviderSublayerModel;
2829
class QgsProviderSublayerProxyModel;
2930
class QgsProviderSublayerTask;
3031

31-
class QgsProviderSublayerDialogModel : public QgsProviderSublayerModel
32+
/**
33+
* \ingroup gui
34+
*
35+
* \brief A model for representing the sublayers present in a URI for the QgsProviderSublayersDialog.
36+
*
37+
* \since QGIS 3.30
38+
*/
39+
class GUI_EXPORT QgsProviderSublayerDialogModel : public QgsProviderSublayerModel
3240
{
3341
Q_OBJECT
3442

3543
public:
3644

45+
/**
46+
* Constructor.
47+
*/
3748
QgsProviderSublayerDialogModel( QObject *parent = nullptr );
3849

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

53+
/**
54+
* Sets whether geometry types are resolved.
55+
*/
4256
void setGeometryTypesResolved( bool resolved );
4357

4458
private:
@@ -48,24 +62,48 @@ class QgsProviderSublayerDialogModel : public QgsProviderSublayerModel
4862

4963
};
5064

51-
class QgsProviderSublayersDialog : public QDialog, private Ui::QgsProviderSublayersDialogBase
65+
/**
66+
* \ingroup gui
67+
*
68+
* \brief Dialog for selecting provider sublayers.
69+
*
70+
* \since QGIS 3.30
71+
*/
72+
class GUI_EXPORT QgsProviderSublayersDialog : public QDialog, private Ui::QgsProviderSublayersDialogBase
5273
{
5374
Q_OBJECT
5475
public:
5576

77+
/**
78+
* Constructor.
79+
*/
5680
QgsProviderSublayersDialog( const QString &uri,
5781
const QString &filePath,
5882
const QList< QgsProviderSublayerDetails> initialDetails = QList< QgsProviderSublayerDetails>(),
5983
const QList< QgsMapLayerType > &acceptableTypes = QList< QgsMapLayerType >(),
6084
QWidget *parent SIP_TRANSFERTHIS = nullptr,
6185
Qt::WindowFlags fl = Qt::WindowFlags() );
6286

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

6592
~QgsProviderSublayersDialog() override;
6693

94+
/**
95+
* Returns the list of selected layers.
96+
*/
6797
QList< QgsProviderSublayerDetails > selectedLayers() const;
98+
99+
/**
100+
* Returns the list of selected non-layer items (e.g. embedded QGIS project items).
101+
*/
68102
QList< QgsProviderSublayerModel::NonLayerItem > selectedNonLayerItems() const;
103+
104+
/**
105+
* Returns an appropriate name for the layer group.
106+
*/
69107
QString groupName() const;
70108

71109
signals:

0 commit comments

Comments
 (0)
Please sign in to comment.