diff options
author | Katarina Behrens <Katarina.Behrens@cib.de> | 2015-06-24 17:31:32 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2015-08-06 12:52:27 +0200 |
commit | a4b247f2ed15d5e6acae4dc325857cf1f328a0da (patch) | |
tree | 54ecae61299328be2b58c36e7e6d624034b9be32 /vcl/generic | |
parent | 623d4e753c784b2fa747eb9e9b5fc95d6d121fe0 (diff) |
tdf#91362: Don't override printer page autodetection
if printer settings haven't been modified
Change-Id: I68b0096ce6fa0f9e50db640a0acb3039ff7e66b5
Reviewed-on: https://gerrit.libreoffice.org/16529
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Diffstat (limited to 'vcl/generic')
-rw-r--r-- | vcl/generic/print/prtsetup.cxx | 6 | ||||
-rw-r--r-- | vcl/generic/print/prtsetup.hxx | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/vcl/generic/print/prtsetup.cxx b/vcl/generic/print/prtsetup.cxx index 738d00de721a..e4355f04ffc6 100644 --- a/vcl/generic/print/prtsetup.cxx +++ b/vcl/generic/print/prtsetup.cxx @@ -281,6 +281,7 @@ IMPL_LINK( RTSPaperPage, SelectHdl, ListBox*, pBox ) } if( pKey ) { + m_pParent->SetDataModified( true ); PPDValue* pValue = static_cast<PPDValue*>(pBox->GetSelectEntryData()); m_pParent->m_aJobData.m_aContext.setValue( pKey, pValue ); update(); @@ -461,6 +462,7 @@ IMPL_LINK( RTSDevicePage, SelectHdl, ListBox*, pBox ) FillValueBox( pKey ); } } + m_pParent->SetDataModified( true ); return 0; } @@ -504,10 +506,12 @@ int SetupPrinterDriver(::psp::PrinterInfo& rJobData) int nRet = 0; ScopedVclPtrInstance< RTSDialog > aDialog( rJobData, nullptr ); + // return 0 if cancel was pressed or if the data + // weren't modified, 1 otherwise if( aDialog->Execute() ) { rJobData = aDialog->getSetup(); - nRet = 1; + nRet = aDialog->GetDataModified() ? 1 : 0; } return nRet; diff --git a/vcl/generic/print/prtsetup.hxx b/vcl/generic/print/prtsetup.hxx index 67b6cd2216b8..1be4927c6f99 100644 --- a/vcl/generic/print/prtsetup.hxx +++ b/vcl/generic/print/prtsetup.hxx @@ -56,6 +56,8 @@ class RTSDialog : public TabDialog // some resources OUString m_aInvalidString; + bool mbDataModified; + DECL_LINK( ActivatePage, TabControl* ); DECL_LINK( ClickButton, Button* ); @@ -67,6 +69,9 @@ public: virtual void dispose() SAL_OVERRIDE; const ::psp::PrinterInfo& getSetup() const { return m_aJobData; } + + void SetDataModified( bool bModified ) { mbDataModified = bModified; } + bool GetDataModified() const { return mbDataModified; } }; class RTSPaperPage : public TabPage |