Skip to content

Commit

Permalink
The providers plugin path can be changed in the applications.
Browse files Browse the repository at this point in the history
  • Loading branch information
gshegunov authored and m-kuhn committed Dec 15, 2015
1 parent 0a7e3f5 commit 9fdab87
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
17 changes: 14 additions & 3 deletions src/core/qgsproviderregistry.cpp
Expand Up @@ -69,6 +69,12 @@ QgsProviderRegistry::QgsProviderRegistry( const QString& pluginPath )
QString mLibraryDirectory = baseDir + "/lib";
#endif
mLibraryDirectory = pluginPath;
init();
}


void QgsProviderRegistry::init()
{
mLibraryDirectory.setSorting( QDir::Name | QDir::IgnoreCase );
mLibraryDirectory.setFilter( QDir::Files | QDir::NoSymLinks );

Expand Down Expand Up @@ -220,7 +226,7 @@ QgsProviderRegistry::QgsProviderRegistry( const QString& pluginPath )
// typedef for the unload dataprovider function
typedef void cleanupProviderFunction_t();

QgsProviderRegistry::~QgsProviderRegistry()
void QgsProviderRegistry::clean()
{
QgsMapLayerRegistry::instance()->removeAllMapLayers();

Expand All @@ -242,6 +248,11 @@ QgsProviderRegistry::~QgsProviderRegistry()
}
}

QgsProviderRegistry::~QgsProviderRegistry()
{
clean();
}


/** Convenience function for finding any existing data providers that match "providerKey"
Expand Down Expand Up @@ -313,13 +324,13 @@ QString QgsProviderRegistry::pluginList( bool asHTML ) const
return list;
}


void QgsProviderRegistry::setLibraryDirectory( QDir const & path )
{
mLibraryDirectory = path;
clean();
init();
}


QDir const & QgsProviderRegistry::libraryDirectory() const
{
return mLibraryDirectory;
Expand Down
3 changes: 3 additions & 0 deletions src/core/qgsproviderregistry.h
Expand Up @@ -172,6 +172,9 @@ class CORE_EXPORT QgsProviderRegistry
/** Ctor private since instance() creates it */
QgsProviderRegistry( const QString& pluginPath );

void init();
void clean();

/** Associative container of provider metadata handles */
Providers mProviders;

Expand Down

0 comments on commit 9fdab87

Please sign in to comment.