summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorKatarina Behrens <Katarina.Behrens@cib.de>2018-01-08 13:45:43 +0100
committerKatarina Behrens <Katarina.Behrens@cib.de>2018-01-10 18:05:41 +0100
commit0a50357ded3293bda08b9a68b53ee71164cd49a1 (patch)
tree78cc9f4803f43f526cf22eb62dd4bd9e9d2038df /vcl
parent6f69982c6bad31615faac1fdbeed846dc29664b3 (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.cxx3
-rw-r--r--vcl/source/window/printdlg.cxx1
-rw-r--r--vcl/unx/generic/print/prtsetup.cxx6
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 );
}