summaryrefslogtreecommitdiff
path: root/vcl/source/window/printdlg.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/window/printdlg.cxx')
-rw-r--r--vcl/source/window/printdlg.cxx53
1 files changed, 52 insertions, 1 deletions
diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx
index 9ace0dd8ef7a..d410e62d1261 100644
--- a/vcl/source/window/printdlg.cxx
+++ b/vcl/source/window/printdlg.cxx
@@ -79,6 +79,48 @@ namespace {
}
}
+MoreOptionsDialog::MoreOptionsDialog( VclPtr<PrintDialog> i_pParent )
+ : ModalDialog(i_pParent, "MoreOptionsDialog", "vcl/ui/moreoptionsdialog.ui")
+ , mpParent( i_pParent )
+{
+ get(mpOKButton, "ok");
+ get(mpCancelButton, "cancel");
+ get(mpSingleJobsBox, "singlejobs");
+
+ mpSingleJobsBox->Check( mpParent->isSingleJobs() );
+
+ mpOKButton->SetClickHdl( LINK( this, MoreOptionsDialog, ClickHdl ) );
+ mpCancelButton->SetClickHdl( LINK( this, MoreOptionsDialog, ClickHdl ) );
+}
+
+MoreOptionsDialog::~MoreOptionsDialog()
+{
+ disposeOnce();
+}
+
+void MoreOptionsDialog::dispose()
+{
+ mpOKButton.clear();
+ mpCancelButton.clear();
+ mpSingleJobsBox.clear();
+ mpParent.clear();
+ ModalDialog::dispose();
+}
+
+IMPL_LINK ( MoreOptionsDialog, ClickHdl, Button*, pButton, void )
+{
+ if ( pButton == mpOKButton )
+ {
+ mpParent->mbSingleJobs = mpSingleJobsBox->IsChecked();
+ EndDialog( RET_OK );
+ }
+ else if ( pButton == mpCancelButton )
+ {
+ EndDialog( RET_CANCEL );
+ }
+}
+
+
PrintDialog::PrintPreviewWindow::PrintPreviewWindow( vcl::Window* i_pParent )
: Window( i_pParent, 0 )
, maMtf()
@@ -497,11 +539,12 @@ PrintDialog::PrintDialog(vcl::Window* i_pWindow, const std::shared_ptr<PrinterCo
, maNoCollateBmp(SV_PRINT_NOCOLLATE_BMP)
, mnCollateUIMode(0)
, mbShowLayoutFrame( true )
+, mbSingleJobs( false )
{
-
get(mpOKButton, "ok");
get(mpCancelButton, "cancel");
get(mpHelpButton, "help");
+ get(mpMoreOptionsBtn, "moreoptionsbtn");
get(mpTabCtrl, "tabcontrol");
get(mpPageLayoutFrame, "layoutframe");
get(mpForwardBtn, "forward");
@@ -620,6 +663,7 @@ PrintDialog::PrintDialog(vcl::Window* i_pWindow, const std::shared_ptr<PrinterCo
mpCancelButton->SetClickHdl(LINK(this, PrintDialog, ClickHdl));
mpHelpButton->SetClickHdl(LINK(this, PrintDialog, ClickHdl));
mpSetupButton->SetClickHdl( LINK( this, PrintDialog, ClickHdl ) );
+ mpMoreOptionsBtn->SetClickHdl( LINK( this, PrintDialog, ClickHdl ) );
mpBackwardBtn->SetClickHdl(LINK(this, PrintDialog, ClickHdl));
mpForwardBtn->SetClickHdl(LINK(this, PrintDialog, ClickHdl));
mpPreviewBox->SetClickHdl( LINK( this, PrintDialog, ClickHdl ) );
@@ -667,6 +711,7 @@ void PrintDialog::dispose()
mpOKButton.clear();
mpCancelButton.clear();
mpHelpButton.clear();
+ mpMoreOptionsBtn.clear();
maPController.reset();
maControlToPropertyMap.clear();
maControlToNumValMap.clear();
@@ -696,6 +741,7 @@ void PrintDialog::dispose()
mpNupOrderWin.clear();
mpNupOrderTxt.clear();
mpBorderCB.clear();
+ mpMoreOptionsDlg.disposeAndClear();
ModalDialog::dispose();
}
@@ -1630,6 +1676,11 @@ IMPL_LINK ( PrintDialog, ClickHdl, Button*, pButton, void )
{
updateNup();
}
+ else if ( pButton == mpMoreOptionsBtn )
+ {
+ mpMoreOptionsDlg = VclPtr< MoreOptionsDialog >::Create( this );
+ mpMoreOptionsDlg->Execute();
+ }
else
{
if( pButton == mpSetupButton )