cui/source/dialogs/screenshotannotationdlg.cxx | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-)
New commits: commit ea49b745e7c5114e1ba71ae6d6197624713924f8 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Mon Oct 7 16:54:27 2019 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Mon Oct 7 21:50:32 2019 +0200 use FileDialogHelper which is able to set parent easily Change-Id: I0389311323175fbbc58ee0b9fbb6353061b21e2f Reviewed-on: https://gerrit.libreoffice.org/80395 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/cui/source/dialogs/screenshotannotationdlg.cxx b/cui/source/dialogs/screenshotannotationdlg.cxx index f9ed955f2afa..b99a87e9689d 100644 --- a/cui/source/dialogs/screenshotannotationdlg.cxx +++ b/cui/source/dialogs/screenshotannotationdlg.cxx @@ -30,6 +30,7 @@ #include <comphelper/random.hxx> #include <basegfx/polygon/b2dpolygontools.hxx> +#include <sfx2/filedlghelper.hxx> #include <tools/stream.hxx> #include <tools/urlobj.hxx> #include <vcl/customweld.hxx> @@ -153,6 +154,7 @@ class ScreenshotAnnotationDlg_Impl { public: ScreenshotAnnotationDlg_Impl( + weld::Window* pParent, weld::Builder& rParent, Dialog& rParentDialog); ~ScreenshotAnnotationDlg_Impl(); @@ -179,6 +181,7 @@ private: Point GetOffsetInPicture() const; // local variables + weld::Window* mpParentWindow; Dialog& mrParentDialog; BitmapEx maParentDialogBitmap; BitmapEx maDimmedDialogBitmap; @@ -216,9 +219,11 @@ public: OUString ScreenshotAnnotationDlg_Impl::maLastFolderURL = OUString(); ScreenshotAnnotationDlg_Impl::ScreenshotAnnotationDlg_Impl( - weld::Builder& rParent, + weld::Window* pParent, + weld::Builder& rParentBuilder, Dialog& rParentDialog) -: mrParentDialog(rParentDialog), +: mpParentWindow(pParent), + mrParentDialog(rParentDialog), maParentDialogBitmap(rParentDialog.createScreenshot()), maDimmedDialogBitmap(maParentDialogBitmap), maParentDialogSize(maParentDialogBitmap.GetSizePixel()), @@ -235,11 +240,11 @@ ScreenshotAnnotationDlg_Impl::ScreenshotAnnotationDlg_Impl( assert(0 != maParentDialogBitmap.GetSizePixel().Height()); // get needed widgets - mxPicture.reset(new weld::CustomWeld(rParent, "picture", maPicture)); + mxPicture.reset(new weld::CustomWeld(rParentBuilder, "picture", maPicture)); assert(mxPicture.get()); - mxText = rParent.weld_text_view("text"); + mxText = rParentBuilder.weld_text_view("text"); assert(mxText.get()); - mxSave = rParent.weld_button("save"); + mxSave = rParentBuilder.weld_button("save"); assert(mxSave.get()); // set screenshot image at FixedImage, resize, set event listener @@ -350,9 +355,10 @@ IMPL_LINK_NOARG(ScreenshotAnnotationDlg_Impl, saveButtonHandler, weld::Button&, } while (nIndex >= 0); } - uno::Reference< uno::XComponentContext > xContext = cppu::defaultBootstrap_InitialComponentContext(); - const uno::Reference< ui::dialogs::XFilePicker3 > xFilePicker = - ui::dialogs::FilePicker::createWithMode(xContext, ui::dialogs::TemplateDescription::FILESAVE_AUTOEXTENSION); + auto xFileDlg = std::make_unique<sfx2::FileDialogHelper>(ui::dialogs::TemplateDescription::FILESAVE_AUTOEXTENSION, + FileDialogFlags::NONE, mpParentWindow); + + const uno::Reference< ui::dialogs::XFilePicker3 > xFilePicker = xFileDlg->GetFilePicker(); xFilePicker->setTitle(maSaveAsText); @@ -641,7 +647,7 @@ bool Picture::MouseButtonUp(const MouseEvent&) ScreenshotAnnotationDlg::ScreenshotAnnotationDlg(weld::Window* pParent, Dialog& rParentDialog) : GenericDialogController(pParent, "cui/ui/screenshotannotationdialog.ui", "ScreenshotAnnotationDialog") { - m_pImpl.reset(new ScreenshotAnnotationDlg_Impl(*m_xBuilder, rParentDialog)); + m_pImpl.reset(new ScreenshotAnnotationDlg_Impl(m_xDialog.get(), *m_xBuilder, rParentDialog)); } ScreenshotAnnotationDlg::~ScreenshotAnnotationDlg() _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits