diff options
Diffstat (limited to 'vcl/source/window/printdlg.cxx')
-rw-r--r-- | vcl/source/window/printdlg.cxx | 53 |
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 ) |