Kaydet (Commit) 051a9eb9 authored tarafından Ashod Nakashian's avatar Ashod Nakashian Kaydeden (comit) Marco Cecchetti

Calc LOK: clear cell background when editing in parallel

Change-Id: Id8eccf00ec6555d62c49e06130e3aa3a0eaaddea
Reviewed-on: https://gerrit.libreoffice.org/29450Reviewed-by: 's avatarAshod Nakashian <ashnakash@gmail.com>
Tested-by: 's avatarAshod Nakashian <ashnakash@gmail.com>
(cherry picked from commit b16ba731)
Reviewed-on: https://gerrit.libreoffice.org/29486Reviewed-by: 's avatarMarco Cecchetti <mrcekets@gmail.com>
Tested-by: 's avatarMarco Cecchetti <mrcekets@gmail.com>
üst 5fa79137
......@@ -267,7 +267,8 @@ static OUString getAbsoluteURL(const char* pURL)
if (!aWorkingDir.endsWith("/"))
aWorkingDir += "/";
try {
try
{
return rtl::Uri::convertRelToAbs(aWorkingDir, aURL);
}
catch (const rtl::MalformedUriException &)
......
......@@ -936,15 +936,16 @@ void ScGridWindow::DrawContent(OutputDevice &rDevice, const ScTableInfo& rTableI
Rectangle aBackground(aStart, aEnd);
if (bIsTiledRendering)
{
aBackground += Point(nScrX, nScrY);
// Need to draw the background in absolute coords.
auto aOrigin = aOriginalMode.GetOrigin();
aOrigin.setX(aOrigin.getX() / TWIPS_PER_PIXEL + nScrX);
aOrigin.setY(aOrigin.getY() / TWIPS_PER_PIXEL + nScrY);
aBackground += aOrigin;
rDevice.SetMapMode(aDrawMode);
}
else
rDevice.SetMapMode(pViewData->GetLogicMode());
// paint the background
rDevice.DrawRect(rDevice.PixelToLogic(aBackground));
if (bIsTiledRendering)
{
auto aOrigin = aOriginalMode.GetOrigin();
......@@ -958,8 +959,12 @@ void ScGridWindow::DrawContent(OutputDevice &rDevice, const ScTableInfo& rTableI
rDevice.SetMapMode(aNew);
}
// paint the background
rDevice.DrawRect(rDevice.PixelToLogic(aBackground));
// paint the editeng text
pEditView->Paint(rDevice.PixelToLogic(Rectangle(Point(nScrX, nScrY), Size(aOutputData.GetScrW(), aOutputData.GetScrH()))), &rDevice);
Rectangle aEditRect(Point(nScrX, nScrY), Size(aOutputData.GetScrW(), aOutputData.GetScrH()));
pEditView->Paint(rDevice.PixelToLogic(aEditRect), &rDevice);
rDevice.SetMapMode(MAP_PIXEL);
// restore the cursor it was originally visible
......@@ -967,7 +972,6 @@ void ScGridWindow::DrawContent(OutputDevice &rDevice, const ScTableInfo& rTableI
pCrsr->Show();
}
if (comphelper::LibreOfficeKit::isActive())
{
ScTabViewShell* pThisViewShell = pViewData->GetViewShell();
......@@ -1052,10 +1056,6 @@ void ScGridWindow::DrawContent(OutputDevice &rDevice, const ScTableInfo& rTableI
}
if (pViewData->HasEditView(eWhich))
{
// flush OverlayManager before changing the MapMode
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment