[QGIS Commit] r14909 - in trunk/qgis/src/app: . composer

svn_qgis at osgeo.org svn_qgis at osgeo.org
Tue Dec 14 10:22:57 EST 2010


Author: mhugent
Date: 2010-12-14 07:22:57 -0800 (Tue, 14 Dec 2010)
New Revision: 14909

Modified:
   trunk/qgis/src/app/composer/qgscomposer.cpp
   trunk/qgis/src/app/composer/qgscomposer.h
   trunk/qgis/src/app/qgisapp.cpp
Log:
Notify plugins about composer addition / deletion also when loading a composer template

Modified: trunk/qgis/src/app/composer/qgscomposer.cpp
===================================================================
--- trunk/qgis/src/app/composer/qgscomposer.cpp	2010-12-14 08:21:43 UTC (rev 14908)
+++ trunk/qgis/src/app/composer/qgscomposer.cpp	2010-12-14 15:22:57 UTC (rev 14909)
@@ -959,6 +959,8 @@
     return;
   }
 
+  emit composerWillBeRemoved( mView );
+
   QDomDocument templateDocument;
   if ( !templateDocument.setContent( &templateFile, false ) )
   {
@@ -968,6 +970,7 @@
 
   deleteItems();
   readXML( templateDocument );
+  emit composerAdded( mView );
 }
 
 void QgsComposer::on_mActionMoveItemContent_triggered()

Modified: trunk/qgis/src/app/composer/qgscomposer.h
===================================================================
--- trunk/qgis/src/app/composer/qgscomposer.h	2010-12-14 08:21:43 UTC (rev 14908)
+++ trunk/qgis/src/app/composer/qgscomposer.h	2010-12-14 15:22:57 UTC (rev 14909)
@@ -103,7 +103,11 @@
     //! Is emitted every time the view zoom has changed
     void zoomLevelChanged();
 
+    void composerAdded( QgsComposerView* v );
+    //!Composer deletes the old composerview when loading a template
+    void composerWillBeRemoved( QgsComposerView* v );
 
+
   public slots:
     //! Zoom to full extent of the paper
     void on_mActionZoomAll_triggered();

Modified: trunk/qgis/src/app/qgisapp.cpp
===================================================================
--- trunk/qgis/src/app/qgisapp.cpp	2010-12-14 08:21:43 UTC (rev 14908)
+++ trunk/qgis/src/app/qgisapp.cpp	2010-12-14 15:22:57 UTC (rev 14909)
@@ -903,7 +903,7 @@
   mActionSelect->setEnabled( false );
 
   QString selectOptionTip( tr( ", hold shift to select by containment" ) + singleSelectOptTip );
-  
+
   mActionSelectRectangle = new QAction( getThemeIcon( "mActionSelectRectangle.png" ), tr( "Select features by rectangle" ), this );
   shortcuts->registerAction( mActionSelectRectangle );
   mActionSelectRectangle->setStatusTip( tr( "Select features by rectangle" ) + selectOptionTip );
@@ -4220,12 +4220,15 @@
   mLastComposerId++;
   //create new composer object
   QgsComposer* newComposerObject = new QgsComposer( this, tr( "Composer %1" ).arg( mLastComposerId ) );
+
   //add it to the map of existing print composers
   mPrintComposers.insert( newComposerObject );
   //and place action into print composers menu
   mPrintComposersMenu->addAction( newComposerObject->windowAction() );
   newComposerObject->open();
   emit composerAdded( newComposerObject->view() );
+  connect( newComposerObject, SIGNAL( composerAdded( QgsComposerView* ) ), this, SIGNAL( composerAdded( QgsComposerView* ) ) );
+  connect( newComposerObject, SIGNAL( composerWillBeRemoved( QgsComposerView* ) ), this, SIGNAL( composerWillBeRemoved( QgsComposerView* ) ) );
   return newComposerObject;
 }
 
@@ -4262,6 +4265,8 @@
       composer->close();
     }
     emit composerAdded( composer->view() );
+    connect( composer, SIGNAL( composerAdded( QgsComposerView* ) ), this, SIGNAL( composerAdded( QgsComposerView* ) ) );
+    connect( composer, SIGNAL( composerWillBeRemoved( QgsComposerView* ) ), this, SIGNAL( composerWillBeRemoved( QgsComposerView* ) ) );
   }
   return true;
 }



More information about the QGIS-commit mailing list