QGIS API Documentation  3.13.0-Master (740be229cb)
qgsnewhttpconnection.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsnewhttpconnection.cpp - selector for a new HTTP server for WMS, etc.
3  -------------------
4  begin : 3 April 2005
5  copyright : (C) 2005 by Brendan Morley
6  email : morb at ozemail dot com dot au
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef QGSNEWHTTPCONNECTION_H
19 #define QGSNEWHTTPCONNECTION_H
20 
21 #include "qgis_sip.h"
22 #include "ui_qgsnewhttpconnectionbase.h"
23 #include "qgsguiutils.h"
24 #include "qgis_gui.h"
25 
27 
33 class GUI_EXPORT QgsNewHttpConnection : public QDialog, private Ui::QgsNewHttpConnectionBase
34 {
35  Q_OBJECT
36 
37  public:
38 
44  {
45  ConnectionWfs = 1 << 1,
46  ConnectionWms = 1 << 2,
47  ConnectionWcs = 1 << 3,
48  ConnectionOther = 1 << 4,
49  };
50  Q_DECLARE_FLAGS( ConnectionTypes, ConnectionType )
51 
52 
56  enum Flag
57  {
58  FlagShowTestConnection = 1 << 1,
59  FlagHideAuthenticationGroup = 1 << 2,
60  FlagShowHttpSettings = 1 << 3,
61  };
62  Q_DECLARE_FLAGS( Flags, Flag )
63 
64 
73  QgsNewHttpConnection( QWidget *parent SIP_TRANSFERTHIS = nullptr,
74  QgsNewHttpConnection::ConnectionTypes types = ConnectionWms,
75  const QString &baseKey = "qgis/connections-wms/",
76  const QString &connectionName = QString(),
77  QgsNewHttpConnection::Flags flags = nullptr,
78  Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags );
79 
84  QString name() const;
85 
90  QString url() const;
91 
92  public slots:
93 
94  void accept() override;
95 
96  private slots:
97 
98  void nameChanged( const QString & );
99  void urlChanged( const QString & );
100  void updateOkButtonState();
101  void wfsVersionCurrentIndexChanged( int index );
102  void wfsFeaturePagingStateChanged( int state );
103 
104  protected:
105 
108  {
109  WFS_VERSION_MAX = 0,
110  WFS_VERSION_1_0 = 1,
111  WFS_VERSION_1_1 = 2,
112  WFS_VERSION_2_0 = 3,
113  WFS_VERSION_API_FEATURES_1_0 = 4,
114  };
115 
121  virtual bool validate();
122 
127  QPushButton *testConnectButton();
128 
133  QgsAuthSettingsWidget *authSettingsWidget() SIP_SKIP;
134 
139  QPushButton *wfsVersionDetectButton() SIP_SKIP;
140 
145  QComboBox *wfsVersionComboBox() SIP_SKIP;
146 
151  QCheckBox *wfsPagingEnabledCheckBox() SIP_SKIP;
152 
157  QLineEdit *wfsPageSizeLineEdit() SIP_SKIP;
158 
163  QUrl urlTrimmed() const SIP_SKIP;
164 
170  virtual QString wfsSettingsKey( const QString &base, const QString &connectionName ) const;
171 
177  virtual QString wmsSettingsKey( const QString &base, const QString &connectionName ) const;
178 
184  void updateServiceSpecificSettings();
185 
186  private:
187 
188  ConnectionTypes mTypes = ConnectionWms;
189 
190  QString mBaseKey;
191  QString mCredentialsBaseKey;
192  QString mOriginalConnName; //store initial name to delete entry in case of rename
193  void showHelp();
194 
195 };
196 
197 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsNewHttpConnection::ConnectionTypes )
198 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsNewHttpConnection::Flags )
199 
200 // clazy:excludeall=qstring-allocations
201 
202 #endif // QGSNEWHTTPCONNECTION_H
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53
Widget for entering authentication credentials both in the form username/password and by using QGIS A...
#define SIP_SKIP
Definition: qgis_sip.h:126
Flag
Flags controlling dialog behavior.
ConnectionType
Available connection types for configuring in the dialog.
WfsVersionIndex
Index of wfsVersionComboBox.
Dialog to allow the user to configure and save connection information for an HTTP Server for WMS...