### Eclipse Workspace Patch 1.0
#P qgis
Index: src/app/composer/qgscomposer.h
===================================================================
--- src/app/composer/qgscomposer.h (revision 13525)
+++ src/app/composer/qgscomposer.h (working copy)
@@ -41,6 +41,8 @@
class QResizeEvent;
class QFile;
class QSizeGrip;
+class QPageSetupDialog;
+class QPrinter;
/** \ingroup MapComposer
* \brief A gui for composing a printable map.
@@ -118,6 +120,9 @@
//! Print the composition
void on_mActionPrint_triggered();
+ //! Page Setup for composition
+ void on_mActionPageSetup_triggered();
+
//! Print as image
void on_mActionExportAsImage_triggered();
@@ -201,7 +206,7 @@
//! Save window state
void saveWindowState();
- /**Add a composer arrow to the item/widget map and crete a configuration widget for it*/
+ /**Add a composer arrow to the item/widget map and creates a configuration widget for it*/
void addComposerArrow( QgsComposerArrow* arrow );
/**Add a composer map to the item/widget map and creates a configuration widget for it*/
@@ -299,6 +304,9 @@
//! Window menu action to select this window
QAction *mWindowAction;
+
+ //! Page & Printer Setup
+ QPrinter *mPrinter;
};
#endif
Index: src/ui/qgscomposerbase.ui
===================================================================
--- src/ui/qgscomposerbase.ui (revision 13525)
+++ src/ui/qgscomposerbase.ui (working copy)
@@ -474,6 +474,11 @@
Adds attribute table
+
+
+ Page Setup
+
+
mCompositionNameComboBox
Index: src/app/composer/qgscomposer.cpp
===================================================================
--- src/app/composer/qgscomposer.cpp (revision 13525)
+++ src/app/composer/qgscomposer.cpp (working copy)
@@ -52,6 +52,7 @@
#include
#include
#include
+#include
#include
#include
@@ -74,6 +75,9 @@
setupTheme();
QObject::connect( mButtonBox, SIGNAL( rejected() ), this, SLOT( close() ) );
+ // Create a default printer at mPrinter
+ mPrinter = new QPrinter();
+
QToolButton* orderingToolButton = new QToolButton( this );
orderingToolButton->setPopupMode( QToolButton::InstantPopup );
orderingToolButton->setAutoRaise( true );
@@ -137,6 +141,7 @@
fileMenu->addAction( mActionExportAsPDF );
fileMenu->addAction( mActionExportAsSVG );
fileMenu->addSeparator();
+ fileMenu->addAction( mActionPageSetup );
fileMenu->addAction( mActionPrint );
fileMenu->addSeparator();
fileMenu->addAction( mActionQuit );
@@ -486,26 +491,26 @@
void QgsComposer::on_mActionPrint_triggered()
{
- QPrinter printer;
+ //QPrinter printer;
if ( mComposition )
{
if ( mComposition->paperWidth() >= mComposition->paperHeight() )
{
- printer.setOrientation( QPrinter::Landscape );
+ mPrinter->setOrientation( QPrinter::Landscape );
}
else
{
- printer.setOrientation( QPrinter::Portrait );
+ mPrinter->setOrientation( QPrinter::Portrait );
}
}
- printer.setPaperSize( QSizeF( mComposition->paperWidth(), mComposition->paperHeight() ), QPrinter::Millimeter );
- QPrintDialog printDialog( &printer, 0 );
+ mPrinter->setPaperSize( QSizeF( mComposition->paperWidth(), mComposition->paperHeight() ), QPrinter::Millimeter );
+ QPrintDialog printDialog( mPrinter, 0 );
if ( printDialog.exec() != QDialog::Accepted )
{
return;
}
- print( printer );
+ print( *mPrinter );
}
void QgsComposer::print( QPrinter &printer )
@@ -1498,4 +1503,14 @@
}
}
+void QgsComposer::on_mActionPageSetup_triggered()
+{
+ if ( !mComposition )
+ return;
+
+ QPageSetupDialog *pageSetupDialog;
+ pageSetupDialog = new QPageSetupDialog(mPrinter, this);
+
+ pageSetupDialog->show();
+}