From 1a2ebd24e5daaefa209dea7f4b1889a8295b5794 Mon Sep 17 00:00:00 2001 From: Daniel Silva Date: Thu, 21 Jun 2018 10:20:54 -0300 Subject: Adds More options dialog with single jobs checkbox in print dialog Change-Id: I5f88e48edb5dfd966bcafca7866ee2a982a7f020 Reviewed-on: https://gerrit.libreoffice.org/56236 Tested-by: Jenkins Reviewed-by: Katarina Behrens --- vcl/source/window/printdlg.cxx | 53 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) (limited to 'vcl/source/window') 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 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_ptrSetClickHdl(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 ) -- cgit