summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorPranam Lashkari <lpranam@collabora.com>2021-03-02 06:04:40 +0530
committerPranam Lashkari <lpranam@collabora.com>2021-03-03 14:44:04 +0100
commitf1525c89ccf2b80f284bea68bd7a62dfaaff56a4 (patch)
tree037e570082123a6469d9b4eb1383eaa6fc0335d9 /svx
parent505965dd5d05e4711bf5b433b8af06e88e030962 (diff)
LOK: added missing PixelInvalidate method for currency list
when docking window is displayed in popup mode, there are two windows created docking window and floating window, to make the this window work correctly with LOK, we have to invalidate the floating window to update floating window, as well as docking window. Change-Id: Ia1b4220646664aa0666a24e34fc14bf41421f9e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111762 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Diffstat (limited to 'svx')
-rw-r--r--svx/source/tbxctrls/tbcontrl.cxx19
1 files changed, 19 insertions, 0 deletions
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index 50e3f6760867..57cca78867f4 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -645,6 +645,8 @@ public:
LanguageType& eSelectLanguage );
virtual ~SvxCurrencyList_Impl() override { disposeOnce(); }
virtual void dispose() override;
+
+ void PixelInvalidate(const tools::Rectangle* pRectangle) override;
};
class SvxStyleToolBoxControl;
@@ -2685,15 +2687,32 @@ SvxCurrencyList_Impl::SvxCurrencyList_Impl(
if ( nSelectedPos >= 0 )
m_pCurrencyLb->SelectEntryPos( nSelectedPos );
m_pCurrencyLb->Show();
+
+ auto parentNotifier = GetParentWithLOKNotifier();
+ if (parentNotifier)
+ SetLOKNotifier(parentNotifier->GetLOKNotifier());
}
void SvxCurrencyList_Impl::dispose()
{
+ ReleaseLOKNotifier();
m_xControl.clear();
m_pCurrencyLb.disposeAndClear();
ToolbarPopup::dispose();
}
+void SvxCurrencyList_Impl::PixelInvalidate(const tools::Rectangle* pRectangle)
+{
+ const vcl::ILibreOfficeKitNotifier* pNotifier = GetLOKNotifier();
+ if (pNotifier && pRectangle && GetPopUpWindowLOKId() != 0)
+ {
+ std::vector<vcl::LOKPayloadItem> aPayload;
+ aPayload.push_back(std::make_pair(OString("rectangle"), pRectangle->toString()));
+ pNotifier->notifyWindow(GetPopUpWindowLOKId(), "invalidate", aPayload);
+ }
+ svtools::ToolbarPopup::PixelInvalidate(pRectangle);
+}
+
SvxLineWindow_Impl::SvxLineWindow_Impl( svt::ToolboxController& rController, vcl::Window* pParentWindow ) :
ToolbarPopup( rController.getFrameInterface(), pParentWindow, WB_STDPOPUP | WB_MOVEABLE | WB_CLOSEABLE ),
m_aLineStyleLb( VclPtr<LineListBox>::Create(this) ),