Index: src/app/qgisappinterface.cpp =================================================================== --- src/app/qgisappinterface.cpp (revision 14436) +++ src/app/qgisappinterface.cpp (working copy) @@ -52,6 +52,10 @@ this, SIGNAL( composerWillBeRemoved( QgsComposerView* ) ) ); connect( qgis, SIGNAL( initializationCompleted() ), this, SIGNAL( initializationCompleted() ) ); + connect( qgis, SIGNAL( newProject() ), + this, SIGNAL( newProjectCreated() ) ); + connect( qgis, SIGNAL( projectRead() ), + this, SIGNAL( projectRead() ) ); } QgisAppInterface::~QgisAppInterface() Index: src/gui/qgisinterface.h =================================================================== --- src/gui/qgisinterface.h (revision 14436) +++ src/gui/qgisinterface.h (working copy) @@ -322,6 +322,24 @@ /**This signal is emitted when the initialization is complete @note added in version 1.6*/ void initializationCompleted(); + /** emitted when a project file is successfully read + @note + This is useful for plug-ins that store properties with project files. A + plug-in can connect to this signal. When it is emitted, the plug-in + knows to then check the project properties for any relevant state. + + */ + void projectRead(); + /** emitted when starting an entirely new project + @note + This is similar to projectRead(); plug-ins might want to be notified + that they're in a new project. Yes, projectRead() could have been + overloaded to be used in the case of new projects instead. However, + it's probably more semantically correct to have an entirely separate + signal for when this happens. + */ + void newProjectCreated(); + }; // FIXME: also in core/qgis.h