diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-11-17 15:39:36 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-11-17 16:26:21 +0000 |
commit | 3b94229fb74dfe43e2b7349d6f580dc375f28814 (patch) | |
tree | 10de5b693591c7e45ded95926cb75d5dfe73c5f4 /sfx2 | |
parent | 2f46a7d1b255232b979b4fcca02e25b09edf949e (diff) |
sfx2: let .uno:SignPDF result in a custom infobar text
To make the intention a bit more explicit.
Change-Id: I70ce053b9f068a2288e4a05eba55fb3e2451b561
Reviewed-on: https://gerrit.libreoffice.org/30935
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/view/view.src | 4 | ||||
-rw-r--r-- | sfx2/source/view/viewfrm.cxx | 31 |
2 files changed, 21 insertions, 14 deletions
diff --git a/sfx2/source/view/view.src b/sfx2/source/view/view.src index 31991bf84946..0826609e5339 100644 --- a/sfx2/source/view/view.src +++ b/sfx2/source/view/view.src @@ -90,6 +90,10 @@ String STR_READONLY_DOCUMENT { Text [ en-US ] = "This document is open in read-only mode." ; }; +String STR_READONLY_PDF +{ + Text [ en-US ] = "This PDF is open in read-only mode to allow signing the existing file." ; +}; String STR_CLASSIFIED_DOCUMENT { diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx index 18022ecafb1e..660e0d5fe0a9 100644 --- a/sfx2/source/view/viewfrm.cxx +++ b/sfx2/source/view/viewfrm.cxx @@ -1149,23 +1149,26 @@ void SfxViewFrame::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint ) } else { - SfxInfoBarWindow* pInfoBar = AppendInfoBar("readonly", SfxResId(STR_READONLY_DOCUMENT)); + bool bSignPDF = false; + SfxMedium* pMedium = m_xObjSh->GetMedium(); + if (pMedium && !pMedium->IsOriginallyReadOnly()) + { + std::shared_ptr<const SfxFilter> pFilter = pMedium->GetFilter(); + bSignPDF = pFilter && pFilter->GetName() == "draw_pdf_import"; + } + + SfxInfoBarWindow* pInfoBar = AppendInfoBar("readonly", SfxResId(bSignPDF ? STR_READONLY_PDF : STR_READONLY_DOCUMENT)); if (pInfoBar) { - SfxMedium* pMedium = m_xObjSh->GetMedium(); - if (pMedium && !pMedium->IsOriginallyReadOnly()) + if (bSignPDF) { - std::shared_ptr<const SfxFilter> pFilter = pMedium->GetFilter(); - if (pFilter && pFilter->GetName() == "draw_pdf_import") - { - // SID_SIGNPDF opened a read-write PDF - // read-only for signing purposes. - VclPtrInstance<PushButton> xSignButton(&GetWindow()); - xSignButton->SetText(SfxResId(STR_READONLY_SIGN)); - xSignButton->SetSizePixel(xSignButton->GetOptimalSize()); - xSignButton->SetClickHdl(LINK(this, SfxViewFrame, SignDocumentHandler)); - pInfoBar->addButton(xSignButton); - } + // SID_SIGNPDF opened a read-write PDF + // read-only for signing purposes. + VclPtrInstance<PushButton> xSignButton(&GetWindow()); + xSignButton->SetText(SfxResId(STR_READONLY_SIGN)); + xSignButton->SetSizePixel(xSignButton->GetOptimalSize()); + xSignButton->SetClickHdl(LINK(this, SfxViewFrame, SignDocumentHandler)); + pInfoBar->addButton(xSignButton); } VclPtrInstance<PushButton> xBtn(&GetWindow()); |