diff options
author | Katarina Behrens <Katarina.Behrens@cib.de> | 2018-01-08 13:45:43 +0100 |
---|---|---|
committer | Katarina Behrens <Katarina.Behrens@cib.de> | 2018-01-10 18:05:41 +0100 |
commit | 0a50357ded3293bda08b9a68b53ee71164cd49a1 (patch) | |
tree | 78cc9f4803f43f526cf22eb62dd4bd9e9d2038df /vcl | |
parent | 6f69982c6bad31615faac1fdbeed846dc29664b3 (diff) |
tdf#79077: Harmonize PapersizeFromSetup checkboxes in printer config
job setup and options tab page. Also fix a small UI regression
Change-Id: I48532ac4e188d68008e947924da651239262d8b2
Reviewed-on: https://gerrit.libreoffice.org/47703
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/gdi/print3.cxx | 3 | ||||
-rw-r--r-- | vcl/source/window/printdlg.cxx | 1 | ||||
-rw-r--r-- | vcl/unx/generic/print/prtsetup.cxx | 6 |
3 files changed, 8 insertions, 2 deletions
diff --git a/vcl/source/gdi/print3.cxx b/vcl/source/gdi/print3.cxx index 43485921e7b0..4aef505fc7c1 100644 --- a/vcl/source/gdi/print3.cxx +++ b/vcl/source/gdi/print3.cxx @@ -322,6 +322,7 @@ bool Printer::PreparePrintJob(std::shared_ptr<PrinterController> xController, VclPtrInstance<Printer> xPrinter( aPrinterName ); xPrinter->SetJobSetup(i_rInitSetup); xController->setPrinter(xPrinter); + xController->setPapersizeFromSetup(xPrinter->GetPrinterSettingsPreferred()); } // reset last page property @@ -822,6 +823,7 @@ bool PrinterController::setupPrinter( vcl::Window* i_pParent ) if (bRet) { bool bInvalidateCache = false; + setPapersizeFromSetup(xPrinter->GetPrinterSettingsPreferred()); // was papersize overridden ? if so we need to take action if we're // configured to use the driver papersize @@ -1354,6 +1356,7 @@ bool PrinterController::getReversePrint() const void PrinterController::setPapersizeFromSetup( bool i_bPapersizeFromSetup ) { mpImplData->mbPapersizeFromSetup = i_bPapersizeFromSetup; + mpImplData->mxPrinter->SetPrinterSettingsPreferred( i_bPapersizeFromSetup ); } bool PrinterController::getPapersizeFromSetup() const diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx index 6979dc0c8efa..b3f2639d9251 100644 --- a/vcl/source/window/printdlg.cxx +++ b/vcl/source/window/printdlg.cxx @@ -674,6 +674,7 @@ PrintDialog::PrintDialog( vcl::Window* i_pParent, const std::shared_ptr<PrinterC maJobPage.mpSetupButton->SetClickHdl( LINK( this, PrintDialog, ClickHdl ) ); maNUpPage.mpBorderCB->SetClickHdl( LINK( this, PrintDialog, ClickHdl ) ); maOptionsPage.mpPapersizeFromSetup->SetToggleHdl( LINK( this, PrintDialog, ToggleHdl ) ); + maOptionsPage.mpPapersizeFromSetup->Check( maPController->getPapersizeFromSetup() ); maJobPage.mpReverseOrderBox->SetToggleHdl( LINK( this, PrintDialog, ToggleHdl ) ); maOptionsPage.mpCollateSingleJobsBox->SetToggleHdl( LINK( this, PrintDialog, ToggleHdl ) ); maNUpPage.mpPagesBtn->SetToggleHdl( LINK( this, PrintDialog, ToggleRadioHdl ) ); diff --git a/vcl/unx/generic/print/prtsetup.cxx b/vcl/unx/generic/print/prtsetup.cxx index 49489099158e..3e75b9907e1e 100644 --- a/vcl/unx/generic/print/prtsetup.cxx +++ b/vcl/unx/generic/print/prtsetup.cxx @@ -132,8 +132,8 @@ IMPL_LINK( RTSDialog, ClickButton, Button*, pButton, void ) orientation::Portrait : orientation::Landscape; // assume use of paper size from printer setup if the user // got here via File > Printer Settings ... - m_aJobData.m_bPapersizeFromSetup = - ( m_aJobData.meSetupMode == PrinterSetupMode::DocumentGlobal ); + if ( m_aJobData.meSetupMode == PrinterSetupMode::DocumentGlobal ) + m_aJobData.m_bPapersizeFromSetup = true; } if( m_pDevicePage ) { @@ -306,7 +306,9 @@ IMPL_LINK( RTSPaperPage, CheckBoxHdl, CheckBox&, /*cBox*/, void ) { bool bFromSetup = m_pCbFromSetup->IsChecked(); m_pParent->m_aJobData.m_bPapersizeFromSetup = bFromSetup; + m_pPaperText->Enable( bFromSetup ); m_pPaperBox->Enable( bFromSetup ); + m_pOrientText->Enable( bFromSetup ); m_pOrientBox->Enable( bFromSetup ); m_pParent->SetDataModified( true ); } |