summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPranav Kant <pranavk@collabora.co.uk>2018-01-25 14:34:19 +0530
committerPranav Kant <pranavk@collabora.co.uk>2018-01-25 15:35:20 +0530
commit668deca97d8dd049bb17b6d8b73c4ea73f7b8b9c (patch)
treeb8cf812acb16c5b71d4713acdcd3dc35910b25c3
parentf1a68998e11291d117140ea07f1da84b4309f2d4 (diff)
lokdialog: Fix incorrect dialog sizes sent to client
GetSizePixel triggers pending resize handler and gives more correct sizes than GetOptimalSize(). Some of the dialog with inconsistencies in sizes like EditStyle, Manage Changes, etc. are fixed with this patch. Change-Id: I0661b7d2e98233edf0cd2c9c525b271d0724da08
-rw-r--r--sfx2/source/dialog/basedlgs.cxx5
-rw-r--r--vcl/source/window/dialog.cxx5
2 files changed, 4 insertions, 6 deletions
diff --git a/sfx2/source/dialog/basedlgs.cxx b/sfx2/source/dialog/basedlgs.cxx
index 9ed41424e133..02533e4fb22e 100644
--- a/sfx2/source/dialog/basedlgs.cxx
+++ b/sfx2/source/dialog/basedlgs.cxx
@@ -193,10 +193,9 @@ void SfxModalDialog::StateChanged( StateChangedType nType )
// SfxModalDialog even though they are modeless, i.e., their Execute method
// isn't called.
SetLOKNotifier(SfxViewShell::Current());
- const Size aSize = GetOptimalSize();
std::vector<vcl::LOKPayloadItem> aItems;
aItems.emplace_back("type", "dialog");
- aItems.emplace_back("size", aSize.toString());
+ aItems.emplace_back("size", GetSizePixel().toString());
if (!GetText().isEmpty())
aItems.emplace_back("title", GetText().toUtf8());
SfxViewShell::Current()->notifyWindow(GetLOKWindowId(), "created", aItems);
@@ -259,7 +258,7 @@ void SfxModelessDialog::StateChanged( StateChangedType nStateChange )
SetLOKNotifier(pViewShell);
std::vector<vcl::LOKPayloadItem> aItems;
aItems.emplace_back("type", "dialog");
- aItems.emplace_back("size", GetOptimalSize().toString());
+ aItems.emplace_back("size", GetSizePixel().toString());
if (!GetText().isEmpty())
aItems.emplace_back("title", GetText().toUtf8());
pViewShell->notifyWindow(GetLOKWindowId(), "created", aItems);
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index c61a41be32f1..272da360b503 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -886,10 +886,9 @@ bool Dialog::ImplStartExecuteModal()
{
if(const vcl::ILibreOfficeKitNotifier* pNotifier = GetLOKNotifier())
{
- const Size aSize = GetOptimalSize();
std::vector<vcl::LOKPayloadItem> aItems;
aItems.emplace_back("type", "dialog");
- aItems.emplace_back("size", aSize.toString());
+ aItems.emplace_back("size", GetSizePixel().toString());
if (!GetText().isEmpty())
aItems.emplace_back("title", GetText().toUtf8());
pNotifier->notifyWindow(GetLOKWindowId(), "created", aItems);
@@ -1256,7 +1255,7 @@ void Dialog::Resize()
if (const vcl::ILibreOfficeKitNotifier* pNotifier = GetLOKNotifier())
{
std::vector<vcl::LOKPayloadItem> aItems;
- aItems.emplace_back("size", GetOptimalSize().toString());
+ aItems.emplace_back("size", GetSizePixel().toString());
pNotifier->notifyWindow(GetLOKWindowId(), "size_changed", aItems);
}
}