[Libreoffice-commits] core.git: sc/source
Kohei Yoshida
kohei.yoshida at collabora.com
Sun Nov 20 02:45:12 UTC 2016
sc/source/ui/Accessibility/AccessibleDocument.cxx | 40 ++++++++++------------
sc/source/ui/inc/AccessibleDocument.hxx | 3 -
2 files changed, 20 insertions(+), 23 deletions(-)
New commits:
commit b3d19761b4a1621e5754c758366818528a4dc774
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Sat Nov 19 21:44:42 2016 -0500
Revert "Use rtl::Reference to wrap ScAccessibleEditObject here."
This reverts commit da7aa2561297da42058da55ed2629d0df6fb03f3.
diff --git a/sc/source/ui/Accessibility/AccessibleDocument.cxx b/sc/source/ui/Accessibility/AccessibleDocument.cxx
index 8591e6a..f919af43 100644
--- a/sc/source/ui/Accessibility/AccessibleDocument.cxx
+++ b/sc/source/ui/Accessibility/AccessibleDocument.cxx
@@ -1397,6 +1397,7 @@ ScAccessibleDocument::ScAccessibleDocument(
mpViewShell(pViewShell),
meSplitPos(eSplitPos),
mpChildrenShapes(nullptr),
+ mpTempAccEdit(nullptr),
mbCompleteSheetSelected(false)
{
maVisArea = GetVisibleArea_Impl();
@@ -1507,8 +1508,8 @@ void ScAccessibleDocument::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
const ScAccGridWinFocusLostHint* pFocusLostHint = static_cast<const ScAccGridWinFocusLostHint *>(&rHint);
if (pFocusLostHint->GetOldGridWin() == meSplitPos)
{
- if (mpEditObj.is())
- mpEditObj->LostFocus();
+ if (mxTempAcc.is() && mpTempAccEdit)
+ mpTempAccEdit->LostFocus();
else if (mpAccessibleSpreadsheet.is())
mpAccessibleSpreadsheet->LostFocus();
else
@@ -1537,12 +1538,12 @@ void ScAccessibleDocument::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
}
else
{
- if (mpEditObj.is())
- mpEditObj->GotFocus();
- else if (mpAccessibleSpreadsheet.is())
- mpAccessibleSpreadsheet->GotFocus();
- else
- CommitFocusGained();
+ if (mxTempAcc.is() && mpTempAccEdit)
+ mpTempAccEdit->GotFocus();
+ else if (mpAccessibleSpreadsheet.is())
+ mpAccessibleSpreadsheet->GotFocus();
+ else
+ CommitFocusGained();
}
}
}
@@ -1586,14 +1587,11 @@ void ScAccessibleDocument::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
const EditEngine* pEditEng = rViewData.GetEditView(meSplitPos)->GetEditEngine();
if (pEditEng && pEditEng->GetUpdateMode())
{
- if (!mpEditObj.is())
- {
- mpEditObj.set(new ScAccessibleEditObject(this, rViewData.GetEditView(meSplitPos),
- mpViewShell->GetWindowByPos(meSplitPos), GetCurrentCellName(),
- OUString(ScResId(STR_ACC_EDITLINE_DESCR)), ScAccessibleEditObject::CellInEditMode));
- }
+ mpTempAccEdit = new ScAccessibleEditObject(this, rViewData.GetEditView(meSplitPos),
+ mpViewShell->GetWindowByPos(meSplitPos), GetCurrentCellName(),
+ OUString(ScResId(STR_ACC_EDITLINE_DESCR)), ScAccessibleEditObject::CellInEditMode);
+ uno::Reference<XAccessible> xAcc = mpTempAccEdit;
- uno::Reference<XAccessible> xAcc = mpEditObj.get();
AddChild(xAcc, true);
if (mpAccessibleSpreadsheet.is())
@@ -1601,19 +1599,19 @@ void ScAccessibleDocument::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
else
CommitFocusLost();
- mpEditObj->GotFocus();
+ mpTempAccEdit->GotFocus();
}
}
}
else if (rHint.GetId() == SC_HINT_ACC_LEAVEEDITMODE)
{
- if (mpEditObj.is())
+ if (mxTempAcc.is())
{
- mpEditObj->LostFocus();
-
- uno::Reference<XAccessible> xAcc = mpEditObj.get();
- RemoveChild(xAcc, true);
+ if (mpTempAccEdit)
+ mpTempAccEdit->LostFocus();
+ mpTempAccEdit = nullptr;
+ RemoveChild(mxTempAcc, true);
if (mpAccessibleSpreadsheet.is() && mpViewShell && mpViewShell->IsActive())
mpAccessibleSpreadsheet->GotFocus();
else if( mpViewShell && mpViewShell->IsActive())
diff --git a/sc/source/ui/inc/AccessibleDocument.hxx b/sc/source/ui/inc/AccessibleDocument.hxx
index 0f08c4c..9a2807d 100644
--- a/sc/source/ui/inc/AccessibleDocument.hxx
+++ b/sc/source/ui/inc/AccessibleDocument.hxx
@@ -259,9 +259,8 @@ private:
ScTabViewShell* mpViewShell;
ScSplitPos meSplitPos;
rtl::Reference<ScAccessibleSpreadsheet> mpAccessibleSpreadsheet;
- rtl::Reference<ScAccessibleEditObject> mpEditObj;
ScChildrenShapes* mpChildrenShapes;
-
+ ScAccessibleEditObject* mpTempAccEdit;
css::uno::Reference<css::accessibility::XAccessible> mxTempAcc;
Rectangle maVisArea;
bool mbCompleteSheetSelected;
More information about the Libreoffice-commits
mailing list