QGIS API Documentation  3.6.0-Noosa (5873452)
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  QPushButton *wfsVersionDetectButton() SIP_SKIP;
124 
129  QComboBox *wfsVersionComboBox() SIP_SKIP;
130 
135  QCheckBox *wfsPagingEnabledCheckBox() SIP_SKIP;
136 
141  QLineEdit *wfsPageSizeLineEdit() SIP_SKIP;
142 
147  QUrl urlTrimmed() const SIP_SKIP;
148 
154  virtual QString wfsSettingsKey( const QString &base, const QString &connectionName ) const;
155 
161  virtual QString wmsSettingsKey( const QString &base, const QString &connectionName ) const;
162 
168  void updateServiceSpecificSettings();
169 
170  private:
171 
172  ConnectionTypes mTypes = ConnectionWms;
173 
174  QString mBaseKey;
175  QString mCredentialsBaseKey;
176  QString mOriginalConnName; //store initial name to delete entry in case of rename
177  void showHelp();
178 
179 };
180 
181 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsNewHttpConnection::ConnectionTypes )
182 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsNewHttpConnection::Flags )
183 
184 // clazy:excludeall=qstring-allocations
185 
186 #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...