summaryrefslogtreecommitdiff
path: root/include/vcl/dialog.hxx
AgeCommit message (Collapse)Author
2018-12-04Resolves: tdf#120977 intended default button overriddenCaolán McNamara
for those cases where the built-in buttons are not inserted Change-Id: Ibb091832c097a15dc22a7994d94f8db6a4e47520 Reviewed-on: https://gerrit.libreoffice.org/64491 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-11-21tdf#42949 Fix IWYU warnings in include/vcl/[B-E]*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Iabe571aa8f00492902c499094bea8365a3e17fca Reviewed-on: https://gerrit.libreoffice.org/63623 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-11-04reweld SwWordCountFloatDlgCaolán McNamara
fixing up the bit that failed the last time Change-Id: I235f8f92cbc0c3e31837e01a9b094580c6f5aecf Reviewed-on: https://gerrit.libreoffice.org/62786 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-11-02Revert "weld SwWordCountFloatDlg"Stephan Bergmann
This reverts commit 26c375671aa362b2f59d84645784938677ae1719. Conflicts: vcl/qt5/Qt5Frame.cxx It caused null pointer dereference during UITest_writer_tests, as seen at <https://ci.libreoffice.org//job/lo_ubsan/1090/>: > /sfx2/source/appl/childwin.cxx:654:18: runtime error: member call on null pointer of type 'vcl::Window' > #0 0x2b97d4160fa3 in SfxChildWindow::SetWorkWindow_Impl(SfxWorkWindow*) /sfx2/source/appl/childwin.cxx:654:18 > #1 0x2b97d462ab86 in SfxWorkWindow::CreateChildWin_Impl(SfxChildWin_Impl*, bool) /sfx2/source/appl/workwin.cxx:1350:9 > #2 0x2b97d463e6bb in SfxWorkWindow::ToggleChildWindow_Impl(unsigned short, bool) /sfx2/source/appl/workwin.cxx:1837:21 > #3 0x2b97d6eae94d in SfxViewFrame::ToggleChildWindow(unsigned short) /sfx2/source/view/viewfrm.cxx:3080:9 > #4 0x2b987664316d in SwView::UpdateWordCount(SfxShell*, unsigned short) /sw/source/uibase/uiview/view1.cxx:212:9 > #5 0x2b9876126a5d in SwTextShell::Execute(SfxRequest&) /sw/source/uibase/shells/textsh1.cxx:1369:9 > #6 0x2b98760a2391 in SfxStubSwTextShellExecute(SfxShell*, SfxRequest&) /workdir/SdiTarget/sw/sdi/swslots.hxx:2974:1 > #7 0x2b97d49050f6 in SfxShell::CallExec(void (*)(SfxShell*, SfxRequest&), SfxRequest&) /include/sfx2/shell.hxx:207:35 > #8 0x2b97d48c27d0 in SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) /sfx2/source/control/dispatch.cxx:353:13 > #9 0x2b97d48de12d in SfxDispatcher::Execute_(SfxShell&, SfxSlot const&, SfxRequest&, SfxCallMode) /sfx2/source/control/dispatch.cxx:854:9 > #10 0x2b97d482ea34 in SfxBindings::Execute_Impl(SfxRequest&, SfxSlot const*, SfxShell*) /sfx2/source/control/bindings.cxx:1063:9 > #11 0x2b97d4e5cead in SfxDispatchController_Impl::dispatch(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) /sfx2/source/control/unoctitm.cxx:754:29 > #12 0x2b97d4e60b5e in SfxOfficeDispatch::dispatchWithNotification(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) /sfx2/source/control/unoctitm.cxx:239:9 > #13 0x2b97c6c10b19 in comphelper::dispatchCommand(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) /comphelper/source/misc/dispatchcommand.cxx:60:9 > #14 0x2b980472020c in UITest::executeCommand(rtl::OUString const&) /vcl/source/uitest/uitest.cxx:22:12 [...] Change-Id: I276684a5617bfec3803b195af59c51735bfa470a
2018-11-01weld SwWordCountFloatDlgCaolán McNamara
enable modeless dialogs to emit a response so runAsync can be used with them and get something called when the dialog is dismissed Change-Id: Ie9603bcc063cefabbae635949671baf06620785d Reviewed-on: https://gerrit.libreoffice.org/61383 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-11-01replace VclAbstractDialog2 with VclAbstractDialogCaolán McNamara
and drop Dialog::GetResult as a consequence Change-Id: Id80a9dc1eab1a23daf4489719b3bafec976bb048 Reviewed-on: https://gerrit.libreoffice.org/62700 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-31replace StartExecuteModal with StartExecuteAsyncCaolán McNamara
Change-Id: I2c0e0266f6bb468ebb5285f95d1824cf12100812 Reviewed-on: https://gerrit.libreoffice.org/62690 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-03Resolves: tdf#120277 special character dialog not appearing in OnlineCaolán McNamara
the magic smoke connecting the dialog to the viewshell was in SfxModalDialog, so not inheriting from that drops the connection add a SfxDialogController to enable setting up the connection Change-Id: I29c45cd43e05295309fc647b039db0c6565ca0d1 Reviewed-on: https://gerrit.libreoffice.org/61304 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-14loplugin:constfields in vclNoel Grandin
Change-Id: I1072642be4fdfa720e61f2d7bad3c2701eb81610 Reviewed-on: https://gerrit.libreoffice.org/60430 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-30the 0 default for EndDialog means RET_CANCELCaolán McNamara
Change-Id: I41b01719d147b0ae6899f8323dfa13326f480b4a Reviewed-on: https://gerrit.libreoffice.org/59767 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-08-24Resolves: tdf#118572 ensure basic error dialog blocks any other dialogCaolán McNamara
if a dialog is already running, disable input to it until this error dialog is acknowledged. The other dialog might be running from the script which has the error. Change-Id: I10c437a25bd7c91d37eeb8241bef10709767e499 Reviewed-on: https://gerrit.libreoffice.org/59567 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-05-30use BitmapEx in the screenshot stuffNoel Grandin
part of the process of moving Bitmap usage to BitmapEx Change-Id: I4f02f8aa60d19a3639d623a998491447adf79e15 Reviewed-on: https://gerrit.libreoffice.org/55031 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-13drop ModalDialog non .ui ctorCaolán McNamara
Change-Id: Ib26f0b4d76c530e0aa67f74f6a6920b1883eb8e4 Reviewed-on: https://gerrit.libreoffice.org/52766 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-04-02make ensureRepaint privateCaolán McNamara
Change-Id: Iaa15e12af8e59ed585e07d620353a05e4b8b5a26 Reviewed-on: https://gerrit.libreoffice.org/52257 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-03-21add get_widget_for_response supportCaolán McNamara
Change-Id: I49abb5e6621dbfe2fc92ef9c2a47568c62c372c2 Reviewed-on: https://gerrit.libreoffice.org/51709 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-03-09lokdialog: run async for weld dialogsPranav Kant
Change-Id: Ieb06beada435bc47a39295acb5ea2dcef10ca454 Reviewed-on: https://gerrit.libreoffice.org/50874 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk>
2018-02-27cast MessBox into exileCaolán McNamara
Change-Id: I2fccc06b2228c1e7fd791d049d951d3a09f0f814 Reviewed-on: https://gerrit.libreoffice.org/50432 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-02-26sc lok: Make the Validation "Invalid value." message box working.Jan Holesovsky
Change-Id: Ic0131fa6fc397ae440efed834266b8396aa9e619 Reviewed-on: https://gerrit.libreoffice.org/50160 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2018-02-25convert remaining InfoBox to weld::MessageDialogCaolán McNamara
Change-Id: I91d828e38d96264cf4a76f30940942556b8f78d8 Reviewed-on: https://gerrit.libreoffice.org/50205 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-02-23lokdialog: Allow Execute()ing first, silently cancels othersPranav Kant
We want to be able to detect which dialogs are important and need to be converted to async while not completely disallowing them. Allow only first instance of such dialogs being Execute()d and warn when another such instance tries to Execute(). Change-Id: I6742784fa95d9e3f9ff87ece294126d390ae9e9e Reviewed-on: https://gerrit.libreoffice.org/50092 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk>
2018-02-18uitest: fix small race condition when launching modeless dialogsMarkus Mohrhard
Change-Id: I44f7af1b44badce6ed09eeca0bb19760b5f22aa9 Reviewed-on: https://gerrit.libreoffice.org/49942 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2018-01-22StartExecuteAsync doesn't need a second paramNoel Grandin
we can just use this to store a keep-alive reference in AsyncContext Change-Id: I0152aef5386aa9753b48afdfc958790f10d13560 Reviewed-on: https://gerrit.libreoffice.org/48294 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jenkins <ci@libreoffice.org>
2018-01-18lok dialog: enable MessageDialog tunnelingHenry Castro
Change-Id: I05b270a19e29c5ed3a2482fd8163e61e66bfdf74 Reviewed-on: https://gerrit.libreoffice.org/47772 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk>
2018-01-15vcl: No need for a double-linked list of dialogs in Execute().Jan Holesovsky
Instead use a simple vector. Change-Id: I50652468cf06ba681d5caccb74a52b32c6c507a0 Reviewed-on: https://gerrit.libreoffice.org/47910 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2018-01-15lokdialog: Allow closing the Format Cell dialogs in any order.Jan Holesovsky
Includes also lots of infrastructural changes, making the conversion of the rest of the dialogs much easier. StartExecuteAsync should be used in-place of StartExecuteModal and the latter removed from the code-base incrementally. More common code from Dialog::Execute should be moved to ImplStartExecuteModal in a next step, as this is used more widely. Change-Id: Idb2c1ec790e38f582438471a0419a56cdcf1439d Reviewed-on: https://gerrit.libreoffice.org/47722 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-12-04lokdialog: Simplify; make the LOK dialog API more genericPranav Kant
Merge the dialog floating window callbacks and function calls into one. Unique window ids across vcl::Window is enough to distinguish between them. Floating windows don't have a LOK notifier as they are created in the vcl itself (so we can't access them from sfx2). Use the parent LOK notifier in that case (which would be a dialog). This API should also help in autopopup filter tunneling later. Change-Id: I63a2c97ffdd84695dc967e14c793089a7c50b41b
2017-12-04lokdialog: Kill some code; use already existing method to paintPranav Kant
This is not require now in the new approach where the dialog is already created by the time paint request call for dialog happens. Layouting is already complete by that time. Change-Id: I610b050a268e61e8d4036aa7eb5766cf0c8b37e0
2017-11-29lokdialog: Move the LogicInvalidate from Dialog down to Window.Jan Holesovsky
Another step towards the autofilter popup working... Change-Id: I4907a23fcd0fc64da0c7f51e2f36b1657a17638c
2017-11-29lokdialog: Move the painting down to Window, and enable Calc and Impress.Jan Holesovsky
Tested with .uno:FormatCellDialog in Calc, Impress not tested. Change-Id: I6d911c29616988db0625be9e2a63cf2172c69ee8
2017-11-29lokdialog: Move the Notifier down to vcl::Window.Jan Holesovsky
We need to tunnel more than just dialogs, so this is the 1st step to get the Autofilter popup rendered. Change-Id: I6523a39ddc7a6eb2a204e48ab364130a5822f548
2017-11-29lokdialog: Make vcl::DialogID an integerPranav Kant
This will help launching multiple instances of dialog from multiple views. The earlier approach of using the UNO command strings as dialog id would not have been useful for multi-view case. Change-Id: I01cfb3c8b204d5654df2417efdac6b50dc920f0e
2017-11-29lokdialog: Changed dialog painting to allow for modal dialogsPranav Kant
Split IDialogNotifier from IDialogRenderable and make SfxViewShell implement it. We now just send the dialog UNO command to the backend and wait for core to emit a 'created' dialog callback which signals dialog creation in the backend. The client is then supposed to send the paint commands for rendering the dialog. Change-Id: I1bfbce83c17955fa0212408376d6bcd1b2d2d1dd
2017-11-15lokdialog: Expose cursor visible statusPranav Kant
Change the notifyDialog API a bit. Use a std::vector to keep track of each payload item that needs to be fed to the resulting JSON. Change-Id: If3229a88d2df5368e14290a0e80ebe6206780639 Reviewed-on: https://gerrit.libreoffice.org/44722 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk>
2017-11-15lokdialog: Callback for dialog cursor invalidationPranav Kant
Change-Id: Iecadb68737ed7b1a425d9ea633976fb24d1055c6 Reviewed-on: https://gerrit.libreoffice.org/44721 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk>
2017-11-09lokdialog: Invalidate-all when size is changedPranav Kant
Change-Id: Ic96fab62c1525154a60c0fa84e2a12ccfad15ae2
2017-11-03Resolves: tdf#113160 changing all warning dialogs to non-modal is unsafeCaolán McNamara
existing code doesn't expect that so stuff crashes partial revert of... commit db6b703d391838c481fd090065f6d329edcd4efa Date: Thu Aug 24 18:32:38 2017 +0200 Allow non-modal Dialogs during FileImport/Load Change-Id: I152feb849186cf035664a700d3f94ee049cdf6d3 Reviewed-on: https://gerrit.libreoffice.org/44227 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-30loplugin:constmethod in vcl and stocNoel Grandin
Change-Id: I7c02eecc16ca7cf89d9f7021116b0226885dbf06 Reviewed-on: https://gerrit.libreoffice.org/44044 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-28lokdialog: Use UNO name as dialog id when invoking lok callbacksPranav Kant
... not the frame id from the .ui file Remove temporary hacks introduced earlier in GTV also. Change-Id: I71290a5fac6547a5584094da21e2301ef8fbce0c Reviewed-on: https://gerrit.libreoffice.org/43957 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk>
2017-10-12allow adding a menu to a modal dialogMarkus Mohrhard
Change-Id: I3da2ec747f73c44bf7bcb8a7ec3d116272dc806f Reviewed-on: https://gerrit.libreoffice.org/43252 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-10-05Related: tdf#112063 validation dialog legitimally changes modalityCaolán McNamara
so to keep tdf#112063 working as with... commit e66c9aa362c1e8729d76090023960610321b14f3 Author: Caolán McNamara <caolanm@redhat.com> Date: Fri Sep 1 16:23:20 2017 +0100 Related: tdf#112063 unsetting and resetting gtk modality is a problem for gtk3, so just set it on execute and no need to unset and reset it for whatever vcl nuttiness the existing code is doing then let the proper calls to SetModalInputMode call the frame modality switch and the hackery vcl calls the underlying vcl-specific body as ImplSetModalInputMode Change-Id: I853ca50e0d9830ca7ba3077e243ccdee6e84e696 Reviewed-on: https://gerrit.libreoffice.org/43142 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-02lokdialog: Mouse events for dialog floating child windowsPranav Kant
Change-Id: I06a081835d246f752e57f8cc289162ed31fc91d4
2017-10-02lokdialog: Support for rendering floating window dialog widgetsPranav Kant
Now gtktiledviewer can show floating window dialog widgets when user clicks any of such widget in the dialog. Change-Id: I13d756f236379bc8b2041ed41cb7b502f7fd9b24
2017-10-02lokdialog: Register IDIalogRenderable with vcl::DialogPranav Kant
Change-Id: I344f5a9c7167abfde15dcd21c747819cc79b12b1
2017-10-02lokdialog: Handle key events in corePranav Kant
Change-Id: If84aaac87beebf69d92db5446fc713d8cc20421e
2017-10-02lokdialog: Forward mouse events to vcl; enable mouse movePranav Kant
The current implementation works well - the mouse events are properly handled by the opened dialog changing the dialog states. However, since the uno commands (dialog IDs) are different from what is returned by LOK_CALLBACK_DIALOG_INVALIDATE, the invalidation doesn't instantaneously, so one have to make the dialog window out-of-focus and then again back to focus to trigger the paint and see the updated dialog state. The mouse coordinates are forwarded in pixels as of now. Enable mouse GDK Motion mask too for mouse move operation. Change-Id: Ia915f734e8cbf4586da2b70da5840fe1568b39bd
2017-10-02lokdialog: Set up intial posting mouse events to dialogsPranav Kant
Events from the dialog in GTV are forwarded correctly, but the events are still not processed by the dialog in core. Change-Id: Ib95ac0a3cd23f6cc2763c21425a67402b15f2de2
2017-10-02lokdialog: Dialog invalidation supportPranav Kant
For now, just invalidate the whole dialog whenever any of the controls in the dialog get invalidated. Since during dialog painting, many such invalidations are triggered, don't listen to them when we are painting. Change-Id: Ia8fc12cf9469691d60e91ef770d687e5ff01a7ef
2017-10-02lokdialog: Better dialog rendering APIPranav Kant
After painting the dialog, also write width and height of the rendered dialog. The dialog is rendered always on the top left of the given canvas, so client can crop the canvas accordingly. Change-Id: If052058a6db8a85d4e28ec88cffcca05564b17f0
2017-09-01weird SetModalInputMode variant only called by itselfCaolán McNamara
Change-Id: I5846eaee38109238f49736583fb4e326ab21f698 Reviewed-on: https://gerrit.libreoffice.org/41794 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-08-25Allow non-modal Dialogs during FileImport/LoadArmin Le Grand
When opening a file that triggers Dialogs (e.g. cannot read/repair/FileType) the Frame from which it was initialized gets blocked. This irritates quite some people. Changed this to a non-modal Dialog so that the user can continue to work with all opened docs, open new ones, close and print/PDF/export these. Change-Id: I048d3de3369527cec20d26396b87439254764b8a Reviewed-on: https://gerrit.libreoffice.org/41534 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>