QGIS API Documentation  3.8.0-Zanzibar (11aff65)
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 
111  virtual bool validate();
112 
117  QPushButton *testConnectButton();
118 
123  QgsAuthSettingsWidget *authSettingsWidget() SIP_SKIP;
124 
129  QPushButton *wfsVersionDetectButton() SIP_SKIP;
130 
135  QComboBox *wfsVersionComboBox() SIP_SKIP;
136 
141  QCheckBox *wfsPagingEnabledCheckBox() SIP_SKIP;
142 
147  QLineEdit *wfsPageSizeLineEdit() SIP_SKIP;
148 
153  QUrl urlTrimmed() const SIP_SKIP;
154 
160  virtual QString wfsSettingsKey( const QString &base, const QString &connectionName ) const;
161 
167  virtual QString wmsSettingsKey( const QString &base, const QString &connectionName ) const;
168 
174  void updateServiceSpecificSettings();
175 
176  private:
177 
178  ConnectionTypes mTypes = ConnectionWms;
179 
180  QString mBaseKey;
181  QString mCredentialsBaseKey;
182  QString mOriginalConnName; //store initial name to delete entry in case of rename
183  void showHelp();
184 
185 };
186 
187 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsNewHttpConnection::ConnectionTypes )
188 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsNewHttpConnection::Flags )
189 
190 // clazy:excludeall=qstring-allocations
191 
192 #endif // QGSNEWHTTPCONNECTION_H
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:46
Widget for entering authentication credentials both in the form username/password and by using QGIS A...
#define SIP_SKIP
Definition: qgis_sip.h:119
Flag
Flags controlling dialog behavior.
ConnectionType
Available connection types for configuring in the dialog.
Dialog to allow the user to configure and save connection information for an HTTP Server for WMS...