Skip to content
Permalink
Browse files

Merge pull request #5194 from boundlessgeo/iface_conn_changed

Adds connectionsChanged signal to iface
  • Loading branch information
elpaso committed Sep 15, 2017
2 parents c5ae3a0 + a13aa96 commit ea28c2d91f3d682762d804d7b7548ac504b651fe
@@ -155,6 +155,15 @@ Add a project
virtual void newProject( bool promptToSaveFlag = false ) = 0;
%Docstring
Start a blank project
%End

virtual void reloadConnections( ) = 0;
%Docstring
Triggered when connections have changed.
This calls reloadConnections in the main application and triggers a signal that is
forwarded to the GUI elements that needs to be updated (i.e. the source
select dialogs and the browser widgets)
.. versionadded:: 3.0
%End

virtual QgsMapLayer *activeLayer() = 0;
@@ -1256,6 +1265,7 @@ Get timeout for timed messages: default of 5 seconds
\note
added in version 2.7
%End

};

/************************************************************************
@@ -933,7 +933,7 @@ QgisApp::QgisApp( QSplashScreen *splash, bool restorePlugins, bool skipVersionCh

mInternalClipboard = new QgsClipboard; // create clipboard
connect( mInternalClipboard, &QgsClipboard::changed, this, &QgisApp::clipboardChanged );
mQgisInterface = new QgisAppInterface( this ); // create the interfce
mQgisInterface = new QgisAppInterface( this ); // create the interface

#ifdef Q_OS_MAC
// action for Window menu (create before generating WindowTitleChange event))
@@ -9666,6 +9666,11 @@ bool QgisApp::setActiveLayer( QgsMapLayer *layer )
return true;
}

void QgisApp::reloadConnections()
{
emit( connectionsChanged( ) );
}


QgsVectorLayer *QgisApp::addVectorLayer( const QString &vectorLayerPath, const QString &baseName, const QString &providerKey )
{
@@ -792,7 +792,7 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow


/**
* \brief dataSourceManager Open the DataSourceManager dialog/dock
* \brief dataSourceManager Open the DataSourceManager dialog
* \param pageName the page name, usually the provider name or "browser" (for the browser panel)
* or "ogr" (vector layers) or "raster" (raster layers)
*/
@@ -858,6 +858,11 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
//! set the active layer
bool setActiveLayer( QgsMapLayer * );

/** Reload connections emitting the connectionsChanged signal
* \since QGIS 3.0
*/
void reloadConnections();

protected:

//! Handle state changes (WindowTitleChange)
@@ -171,6 +171,11 @@ void QgisAppInterface::newProject( bool promptToSaveFlag )
qgis->fileNew( promptToSaveFlag );
}

void QgisAppInterface::reloadConnections()
{
qgis->reloadConnections( );
}

QgsMapLayer *QgisAppInterface::activeLayer()
{
return qgis->activeLayer();
@@ -81,6 +81,14 @@ class APP_EXPORT QgisAppInterface : public QgisInterface
//! Start a new blank project
void newProject( bool promptToSaveFlag = false ) override;

/**
* Triggered by plugins when connections have changed.
* This is forwarded to the GUI elements that needs to be updated (i.e. the source
* select dialogs and the browser widgets)
* \since QGIS 3.0
*/
void reloadConnections( ) override;

//! Get pointer to the active layer (layer selected in the legend)
QgsMapLayer *activeLayer() override;

@@ -165,6 +165,15 @@ class GUI_EXPORT QgisInterface : public QObject
//! Start a blank project
virtual void newProject( bool promptToSaveFlag = false ) = 0;

/**
* Triggered when connections have changed.
* This calls reloadConnections in the main application and triggers a signal that is
* forwarded to the GUI elements that needs to be updated (i.e. the source
* select dialogs and the browser widgets)
* \since QGIS 3.0
*/
virtual void reloadConnections( ) = 0;

//! Get pointer to the active layer (layer selected in the legend)
virtual QgsMapLayer *activeLayer() = 0;

@@ -796,6 +805,7 @@ class GUI_EXPORT QgisInterface : public QObject
* added in version 2.7
*/
void layerSavedAs( QgsMapLayer *l, const QString &path );

};
Q_NOWARN_DEPRECATED_POP

0 comments on commit ea28c2d

Please sign in to comment.
You can’t perform that action at this time.