add a completer for the file widget when creating a new GPKG (#35072)

This commit is contained in:
Denis Rouzaud 2020-03-15 22:22:18 +01:00 committed by GitHub
parent 9b9c906de3
commit a93db7d7c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 0 deletions

View File

@ -0,0 +1,2 @@
# The following has been generated automatically from src/core/qgsproviderconnectionmodel.h
QgsProviderConnectionModel.Role.baseClass = QgsProviderConnectionModel

View File

@ -49,6 +49,7 @@ class CORE_EXPORT QgsProviderConnectionModel : public QAbstractItemModel
RoleConfiguration, //!< Connection configuration variant map
RoleEmpty, //!< Entry is an empty entry
};
Q_ENUM( Role )
/**
* Constructor for QgsProviderConnectionModel, for the specified \a provider.

View File

@ -31,11 +31,13 @@
#include "qgshelp.h"
#include "qgsogrutils.h"
#include "qgsgui.h"
#include "qgsproviderconnectionmodel.h"
#include <QPushButton>
#include <QLineEdit>
#include <QMessageBox>
#include <QFileDialog>
#include <QCompleter>
#include <ogr_api.h>
#include <ogr_srs_api.h>
@ -129,6 +131,15 @@ QgsNewGeoPackageLayerDialog::QgsNewGeoPackageLayerDialog( QWidget *parent, Qt::W
}
checkOk();
} );
QgsProviderConnectionModel *ogrProviderModel = new QgsProviderConnectionModel( QStringLiteral( "ogr" ), this );
QCompleter *completer = new QCompleter( this );
completer->setModel( ogrProviderModel );
completer->setCompletionRole( QgsProviderConnectionModel::RoleUri );
completer->setCompletionMode( QCompleter::PopupCompletion );
completer->setFilterMode( Qt::MatchContains );
mDatabase->lineEdit()->setCompleter( completer );
}
void QgsNewGeoPackageLayerDialog::setCrs( const QgsCoordinateReferenceSystem &crs )