|
1 | 1 | /***************************************************************************
|
2 |
| - qgsgeopackageconnection.cpp - selector for geopackage |
| 2 | + qgsogrdbconnection.cpp |
3 | 3 | -------------------
|
4 | 4 | begin : August 2017
|
5 | 5 | copyright : (C) 2017 by Alessandro Pasotti
|
|
18 | 18 | #include "qgis.h"
|
19 | 19 | #include "qgsdatasourceuri.h"
|
20 | 20 | #include "qgssettings.h"
|
21 |
| -#include "qgsgeopackageconnection.h" |
| 21 | +#include "qgsogrdbconnection.h" |
22 | 22 | #include "qgslogger.h"
|
23 | 23 | #include <QInputDialog>
|
24 | 24 | #include <QMessageBox>
|
25 | 25 |
|
26 |
| -const QString QgsGeoPackageConnection::SETTINGS_PREFIX = QStringLiteral( "providers/geopackage" ); |
27 | 26 |
|
28 | 27 |
|
29 |
| -QgsGeoPackageConnection::QgsGeoPackageConnection( const QString &connName ) |
| 28 | +QgsOgrDbConnection::QgsOgrDbConnection( const QString &connName, const QString &settingsKey ) |
30 | 29 | : mConnName( connName )
|
31 | 30 | {
|
| 31 | + mSettingsKey = settingsKey ; |
32 | 32 | QgsSettings settings;
|
33 |
| - |
34 |
| - QString key = QStringLiteral( "%1/%2/path" ).arg( connectionsPath( ), mConnName ); |
| 33 | + QString key = QStringLiteral( "%1/%2/path" ).arg( connectionsPath( settingsKey ), mConnName ); |
35 | 34 | mPath = settings.value( key ).toString();
|
36 | 35 | }
|
37 | 36 |
|
38 |
| -QgsGeoPackageConnection::~QgsGeoPackageConnection() |
| 37 | +QgsOgrDbConnection::~QgsOgrDbConnection() |
39 | 38 | {
|
40 | 39 |
|
41 | 40 | }
|
42 | 41 |
|
43 |
| -QgsDataSourceUri QgsGeoPackageConnection::uri() |
| 42 | +QgsDataSourceUri QgsOgrDbConnection::uri() |
44 | 43 | {
|
45 | 44 | QgsDataSourceUri uri;
|
46 | 45 | uri.setEncodedUri( mPath );
|
47 | 46 | return uri;
|
48 | 47 | }
|
49 | 48 |
|
50 |
| -void QgsGeoPackageConnection::setPath( const QString &path ) |
| 49 | +void QgsOgrDbConnection::setPath( const QString &path ) |
51 | 50 | {
|
52 | 51 | mPath = path;
|
53 | 52 | }
|
54 | 53 |
|
55 |
| -void QgsGeoPackageConnection::save( ) |
| 54 | +void QgsOgrDbConnection::save( ) |
56 | 55 | {
|
57 | 56 | QgsSettings settings;
|
58 |
| - settings.setValue( QStringLiteral( "%1/%2/path" ).arg( connectionsPath( ), mConnName ), mPath ); |
| 57 | + settings.setValue( QStringLiteral( "%1/%2/path" ).arg( connectionsPath( mSettingsKey ), mConnName ), mPath ); |
| 58 | +} |
| 59 | + |
| 60 | +QString QgsOgrDbConnection::fullKey( const QString &settingsKey ) |
| 61 | +{ |
| 62 | + return QStringLiteral( "providers/ogr/%1" ).arg( settingsKey ); |
59 | 63 | }
|
60 | 64 |
|
61 |
| -QString QgsGeoPackageConnection::connectionsPath() |
| 65 | +QString QgsOgrDbConnection::connectionsPath( const QString &settingsKey ) |
62 | 66 | {
|
63 |
| - return QStringLiteral( "%1/connections" ).arg( SETTINGS_PREFIX ); |
| 67 | + return QStringLiteral( "%1/connections" ).arg( fullKey( settingsKey ) ); |
64 | 68 | }
|
65 | 69 |
|
66 |
| -QStringList QgsGeoPackageConnection::connectionList() |
| 70 | +const QStringList QgsOgrDbConnection::connectionList( const QString &settingsKey ) |
67 | 71 | {
|
68 | 72 | QgsSettings settings;
|
69 |
| - settings.beginGroup( connectionsPath( ) ); |
| 73 | + settings.beginGroup( connectionsPath( settingsKey ) ); |
70 | 74 | return settings.childGroups();
|
71 | 75 | }
|
72 | 76 |
|
73 |
| -QString QgsGeoPackageConnection::selectedConnection() |
| 77 | +QString QgsOgrDbConnection::selectedConnection( const QString &settingsKey ) |
74 | 78 | {
|
75 | 79 | QgsSettings settings;
|
76 |
| - return settings.value( QStringLiteral( "%1/selected" ).arg( SETTINGS_PREFIX ) ).toString(); |
| 80 | + return settings.value( QStringLiteral( "%1/selected" ).arg( connectionsPath( settingsKey ) ) ).toString(); |
77 | 81 | }
|
78 | 82 |
|
79 |
| -void QgsGeoPackageConnection::setSelectedConnection( const QString &name ) |
| 83 | +void QgsOgrDbConnection::setSelectedConnection( const QString &connName, const QString &settingsKey ) |
80 | 84 | {
|
81 | 85 | QgsSettings settings;
|
82 |
| - settings.setValue( QStringLiteral( "%1/selected" ).arg( SETTINGS_PREFIX ), name ); |
| 86 | + settings.setValue( QStringLiteral( "%1/selected" ).arg( connectionsPath( settingsKey ) ), connName ); |
83 | 87 | }
|
84 | 88 |
|
85 |
| -void QgsGeoPackageConnection::deleteConnection( const QString &name ) |
| 89 | +void QgsOgrDbConnection::deleteConnection( const QString &connName, const QString &settingsKey ) |
86 | 90 | {
|
87 | 91 | QgsSettings settings;
|
88 |
| - settings.remove( QStringLiteral( "%1/%2" ).arg( connectionsPath(), name ) ); |
| 92 | + settings.remove( QStringLiteral( "%1/%2" ).arg( connectionsPath( settingsKey ), connName ) ); |
89 | 93 | }
|
0 commit comments