Skip to content

Commit

Permalink
[bugfix] Collapse all connection item leaves in the browser a start
Browse files Browse the repository at this point in the history
To prevent unwanted connections to be initiated when QGIS launches
  • Loading branch information
elpaso committed Jun 17, 2017
1 parent cf0ffef commit 28c9fee
Show file tree
Hide file tree
Showing 15 changed files with 24 additions and 9 deletions.
4 changes: 4 additions & 0 deletions python/gui/qgsbrowsertreeview.sip
Expand Up @@ -26,8 +26,12 @@ class QgsBrowserTreeView : QTreeView

virtual void setModel( QAbstractItemModel *model );
void setBrowserModel( QgsBrowserModel *model );
%Docstring
Set the browser model
%End
QgsBrowserModel *browserModel( );
%Docstring
Return the browser model
:rtype: QgsBrowserModel
%End
virtual void showEvent( QShowEvent *e );
Expand Down
1 change: 1 addition & 0 deletions src/gui/qgsbrowsertreeview.cpp
Expand Up @@ -87,6 +87,7 @@ void QgsBrowserTreeView::restoreState()
{
QgsDebugMsgLevel( "do not expand index for path " + path, 4 );
QModelIndex parentIndex = model()->parent( expandIndex );
// Still we need to store the parent in order to expand it
if ( parentIndex.isValid() )
expandIndexSet.insert( parentIndex );
}
Expand Down
2 changes: 2 additions & 0 deletions src/gui/qgsbrowsertreeview.h
Expand Up @@ -35,7 +35,9 @@ class GUI_EXPORT QgsBrowserTreeView : public QTreeView
QgsBrowserTreeView( QWidget *parent SIP_TRANSFERTHIS = 0 );

virtual void setModel( QAbstractItemModel *model ) override;
//! Set the browser model
void setBrowserModel( QgsBrowserModel *model );
//! Return the browser model
QgsBrowserModel *browserModel( ) { return mBrowserModel; }
virtual void showEvent( QShowEvent *e ) override;
virtual void hideEvent( QHideEvent *e ) override;
Expand Down
1 change: 1 addition & 0 deletions src/providers/arcgisrest/qgsafsdataitems.cpp
Expand Up @@ -83,6 +83,7 @@ QgsAfsConnectionItem::QgsAfsConnectionItem( QgsDataItem *parent, const QString &
, mUrl( url )
{
mIconName = QStringLiteral( "mIconConnect.png" );
mCapabilities |= Collapse;
}

QVector<QgsDataItem *> QgsAfsConnectionItem::createChildren()
Expand Down
2 changes: 1 addition & 1 deletion src/providers/arcgisrest/qgsamsdataitems.cpp
Expand Up @@ -26,7 +26,7 @@
QgsAmsRootItem::QgsAmsRootItem( QgsDataItem *parent, QString name, QString path )
: QgsDataCollectionItem( parent, name, path )
{
mCapabilities |= Fast;
mCapabilities |= Fast | Collapse;
mIconName = QStringLiteral( "mIconAms.svg" );
populate();
}
Expand Down
1 change: 1 addition & 0 deletions src/providers/db2/qgsdb2dataitems.cpp
Expand Up @@ -35,6 +35,7 @@ QgsDb2ConnectionItem::QgsDb2ConnectionItem( QgsDataItem *parent, const QString n
: QgsDataCollectionItem( parent, name, path )
{
mIconName = QStringLiteral( "mIconConnect.png" );
mCapabilities |= Collapse;
populate();
}

Expand Down
2 changes: 1 addition & 1 deletion src/providers/mssql/qgsmssqldataitems.cpp
Expand Up @@ -41,7 +41,7 @@ QgsMssqlConnectionItem::QgsMssqlConnectionItem( QgsDataItem *parent, QString nam
, mAllowGeometrylessTables( true )
, mColumnTypeThread( nullptr )
{
mCapabilities |= Fast;
mCapabilities |= Fast | Collapse;
mIconName = QStringLiteral( "mIconConnect.png" );
}

Expand Down
1 change: 1 addition & 0 deletions src/providers/oracle/qgsoracledataitems.cpp
Expand Up @@ -34,6 +34,7 @@ QgsOracleConnectionItem::QgsOracleConnectionItem( QgsDataItem *parent, QString n
, mColumnTypeThread( nullptr )
{
mIconName = "mIconConnect.png";
mCapabilities |= Collapse;
}

QgsOracleConnectionItem::~QgsOracleConnectionItem()
Expand Down
1 change: 1 addition & 0 deletions src/providers/ows/qgsowsdataitems.cpp
Expand Up @@ -29,6 +29,7 @@ QgsOWSConnectionItem::QgsOWSConnectionItem( QgsDataItem *parent, QString name, Q
: QgsDataCollectionItem( parent, name, path )
{
mIconName = QStringLiteral( "mIconConnect.png" );
mCapabilities |= Collapse;
}

QgsOWSConnectionItem::~QgsOWSConnectionItem()
Expand Down
1 change: 1 addition & 0 deletions src/providers/postgres/qgspostgresdataitems.cpp
Expand Up @@ -39,6 +39,7 @@ QgsPGConnectionItem::QgsPGConnectionItem( QgsDataItem *parent, QString name, QSt
: QgsDataCollectionItem( parent, name, path )
{
mIconName = QStringLiteral( "mIconConnect.png" );
mCapabilities |= Collapse;
}

QVector<QgsDataItem *> QgsPGConnectionItem::createChildren()
Expand Down
1 change: 1 addition & 0 deletions src/providers/spatialite/qgsspatialitedataitems.cpp
Expand Up @@ -75,6 +75,7 @@ QgsSLConnectionItem::QgsSLConnectionItem( QgsDataItem *parent, QString name, QSt
{
mDbPath = QgsSpatiaLiteConnection::connectionPath( name );
mToolTip = mDbPath;
mCapabilities |= Collapse;
}

static QgsLayerItem::LayerType _layerTypeFromDb( const QString &dbType )
Expand Down
9 changes: 5 additions & 4 deletions src/providers/wcs/qgswcsdataitems.cpp
Expand Up @@ -29,6 +29,7 @@ QgsWCSConnectionItem::QgsWCSConnectionItem( QgsDataItem *parent, QString name, Q
, mUri( uri )
{
mIconName = QStringLiteral( "mIconWcs.svg" );
mCapabilities |= Collapse;
}

QgsWCSConnectionItem::~QgsWCSConnectionItem()
Expand All @@ -43,23 +44,23 @@ QVector<QgsDataItem *> QgsWCSConnectionItem::createChildren()
uri.setEncodedUri( mUri );
QgsDebugMsg( "mUri = " + mUri );

mCapabilities.setUri( uri );
mWcsCapabilities.setUri( uri );

// Attention: supportedLayers() gives tree leafes, not top level
if ( !mCapabilities.lastError().isEmpty() )
if ( !mWcsCapabilities.lastError().isEmpty() )
{
//children.append( new QgsErrorItem( this, tr( "Failed to retrieve layers" ), mPath + "/error" ) );
// TODO: show the error without adding child
return children;
}

Q_FOREACH ( const QgsWcsCoverageSummary &coverageSummary, mCapabilities.capabilities().contents.coverageSummary )
Q_FOREACH ( const QgsWcsCoverageSummary &coverageSummary, mWcsCapabilities.capabilities().contents.coverageSummary )
{
// Attention, the name may be empty
QgsDebugMsg( QString::number( coverageSummary.orderId ) + ' ' + coverageSummary.identifier + ' ' + coverageSummary.title );
QString pathName = coverageSummary.identifier.isEmpty() ? QString::number( coverageSummary.orderId ) : coverageSummary.identifier;

QgsWCSLayerItem *layer = new QgsWCSLayerItem( this, coverageSummary.title, mPath + '/' + pathName, mCapabilities.capabilities(), uri, coverageSummary );
QgsWCSLayerItem *layer = new QgsWCSLayerItem( this, coverageSummary.title, mPath + '/' + pathName, mWcsCapabilities.capabilities(), uri, coverageSummary );

children.append( layer );
}
Expand Down
2 changes: 1 addition & 1 deletion src/providers/wcs/qgswcsdataitems.h
Expand Up @@ -31,7 +31,7 @@ class QgsWCSConnectionItem : public QgsDataCollectionItem

virtual QList<QAction *> actions() override;

QgsWcsCapabilities mCapabilities;
QgsWcsCapabilities mWcsCapabilities;
QVector<QgsWcsCoverageSummary> mLayerProperties;

public slots:
Expand Down
3 changes: 2 additions & 1 deletion src/providers/wfs/qgswfsdataitems.cpp
Expand Up @@ -46,9 +46,10 @@ QgsWfsLayerItem::~QgsWfsLayerItem()
QgsWfsConnectionItem::QgsWfsConnectionItem( QgsDataItem *parent, QString name, QString path, QString uri )
: QgsDataCollectionItem( parent, name, path )
, mUri( uri )
, mCapabilities( nullptr )
, mWfsCapabilities( nullptr )
{
mIconName = QStringLiteral( "mIconWfs.svg" );
mCapabilities |= Collapse;
}

QgsWfsConnectionItem::~QgsWfsConnectionItem()
Expand Down
2 changes: 1 addition & 1 deletion src/providers/wfs/qgswfsdataitems.h
Expand Up @@ -58,7 +58,7 @@ class QgsWfsConnectionItem : public QgsDataCollectionItem
private:
QString mUri;

QgsWfsCapabilities *mCapabilities = nullptr;
QgsWfsCapabilities *mWfsCapabilities = nullptr;
};


Expand Down

0 comments on commit 28c9fee

Please sign in to comment.