summaryrefslogtreecommitdiff
path: root/vcl/generic
diff options
context:
space:
mode:
authorKatarina Behrens <Katarina.Behrens@cib.de>2015-06-24 17:31:32 +0200
committerAndras Timar <andras.timar@collabora.com>2015-08-06 12:52:27 +0200
commita4b247f2ed15d5e6acae4dc325857cf1f328a0da (patch)
tree54ecae61299328be2b58c36e7e6d624034b9be32 /vcl/generic
parent623d4e753c784b2fa747eb9e9b5fc95d6d121fe0 (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.cxx6
-rw-r--r--vcl/generic/print/prtsetup.hxx5
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