summaryrefslogtreecommitdiff
path: root/editeng
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-10-26 21:33:31 +0100
committerCaolán McNamara <caolanm@redhat.com>2016-10-26 21:34:33 +0100
commitc484c353ef8ad3d40dce7f1ef1ea1b3620c504d0 (patch)
treefe89eac5297e4c128da0a5ad8e16b2681deb4392 /editeng
parent424c7fb6cadd726480f01354c25bf4d01a685635 (diff)
rework to avoid coverity#1371205 Missing move assignment operator
Change-Id: I117fa0891e8cd1bf339bded93a7ee19d799caf9f
Diffstat (limited to 'editeng')
-rw-r--r--editeng/source/accessibility/AccessibleEditableTextPara.cxx116
1 files changed, 62 insertions, 54 deletions
diff --git a/editeng/source/accessibility/AccessibleEditableTextPara.cxx b/editeng/source/accessibility/AccessibleEditableTextPara.cxx
index b88771541370..a07819142855 100644
--- a/editeng/source/accessibility/AccessibleEditableTextPara.cxx
+++ b/editeng/source/accessibility/AccessibleEditableTextPara.cxx
@@ -867,42 +867,22 @@ namespace accessibility
return pValues[a].Name < pValues[b].Name;
}
};
+}
- OUString AccessibleEditableTextPara::GetFieldTypeNameAtIndex(sal_Int32 nIndex)
+namespace
+{
+ OUString GetFieldTypeNameFromField(EFieldInfo &ree)
{
OUString strFldType;
- SvxAccessibleTextAdapter& rCacheTF = GetTextForwarder();
- //For field object info
- sal_Int32 nParaIndex = GetParagraphIndex();
- sal_Int32 nAllFieldLen = 0;
- sal_Int32 nField = rCacheTF.GetFieldCount(nParaIndex), nFoundFieldIndex = -1;
- EFieldInfo ree;
- sal_Int32 reeBegin, reeEnd;
sal_Int32 nFieldType = -1;
- for(sal_Int32 j = 0; j < nField; j++)
- {
- ree = rCacheTF.GetFieldInfo(nParaIndex, j);
- reeBegin = ree.aPosition.nIndex + nAllFieldLen;
- reeEnd = reeBegin + ree.aCurrentText.getLength();
- nAllFieldLen += (ree.aCurrentText.getLength() - 1);
- if( reeBegin > nIndex )
- {
- break;
- }
- if( nIndex >= reeBegin && nIndex < reeEnd )
- {
- nFoundFieldIndex = j;
- break;
- }
- }
- if (nFoundFieldIndex >= 0 && ree.pFieldItem)
+ if (ree.pFieldItem)
{
// So we get a field, check its type now.
nFieldType = ree.pFieldItem->GetField()->GetClassId() ;
}
- switch(nFieldType)
+ switch (nFieldType)
{
- case text::textfield::Type::DATE:
+ case text::textfield::Type::DATE:
{
const SvxDateField* pDateField = static_cast< const SvxDateField* >(ree.pFieldItem->GetField());
if (pDateField)
@@ -912,23 +892,23 @@ namespace accessibility
else if (pDateField->GetType() == SVXDATETYPE_VAR)
strFldType = "date (variable)";
}
+ break;
}
- break;
- case text::textfield::Type::PAGE:
- strFldType = "page-number";
- break;
- //support the sheet name & pages fields
- case text::textfield::Type::PAGES:
- strFldType = "page-count";
- break;
- case text::textfield::Type::TABLE:
- strFldType = "sheet-name";
- break;
- //End
- case text::textfield::Type::TIME:
- strFldType = "time";
- break;
- case text::textfield::Type::EXTENDED_TIME:
+ case text::textfield::Type::PAGE:
+ strFldType = "page-number";
+ break;
+ //support the sheet name & pages fields
+ case text::textfield::Type::PAGES:
+ strFldType = "page-count";
+ break;
+ case text::textfield::Type::TABLE:
+ strFldType = "sheet-name";
+ break;
+ //End
+ case text::textfield::Type::TIME:
+ strFldType = "time";
+ break;
+ case text::textfield::Type::EXTENDED_TIME:
{
const SvxExtTimeField* pTimeField = static_cast< const SvxExtTimeField* >(ree.pFieldItem->GetField());
if (pTimeField)
@@ -938,20 +918,48 @@ namespace accessibility
else if (pTimeField->GetType() == SVXTIMETYPE_VAR)
strFldType = "time (variable)";
}
+ break;
}
- break;
- case text::textfield::Type::AUTHOR:
- strFldType = "author";
- break;
- case text::textfield::Type::EXTENDED_FILE:
- case text::textfield::Type::DOCINFO_TITLE:
- strFldType = "file name";
- break;
- default:
- break;
+ case text::textfield::Type::AUTHOR:
+ strFldType = "author";
+ break;
+ case text::textfield::Type::EXTENDED_FILE:
+ case text::textfield::Type::DOCINFO_TITLE:
+ strFldType = "file name";
+ break;
+ default:
+ break;
}
return strFldType;
}
+}
+
+namespace accessibility
+{
+ OUString AccessibleEditableTextPara::GetFieldTypeNameAtIndex(sal_Int32 nIndex)
+ {
+ SvxAccessibleTextAdapter& rCacheTF = GetTextForwarder();
+ //For field object info
+ sal_Int32 nParaIndex = GetParagraphIndex();
+ sal_Int32 nAllFieldLen = 0;
+ sal_Int32 nField = rCacheTF.GetFieldCount(nParaIndex);
+ for (sal_Int32 j = 0; j < nField; ++j)
+ {
+ EFieldInfo ree = rCacheTF.GetFieldInfo(nParaIndex, j);
+ sal_Int32 reeBegin = ree.aPosition.nIndex + nAllFieldLen;
+ sal_Int32 reeEnd = reeBegin + ree.aCurrentText.getLength();
+ nAllFieldLen += (ree.aCurrentText.getLength() - 1);
+ if (reeBegin > nIndex)
+ {
+ break;
+ }
+ if (nIndex >= reeBegin && nIndex < reeEnd)
+ {
+ return GetFieldTypeNameFromField(ree);
+ }
+ }
+ return OUString();
+ }
uno::Reference< XAccessibleStateSet > SAL_CALL AccessibleEditableTextPara::getAccessibleStateSet() throw (uno::RuntimeException, std::exception)
{
@@ -1621,7 +1629,7 @@ namespace accessibility
for (sal_Int32 j = 0; j < nField; ++j)
{
EFieldInfo ree = rCacheTF.GetFieldInfo(nParaIndex, j);
- reeBegin = ree.aPosition.nIndex + nAllFieldLen;
+ reeBegin = ree.aPosition.nIndex + nAllFieldLen;
reeEnd = reeBegin + ree.aCurrentText.getLength();
nAllFieldLen += (ree.aCurrentText.getLength() - 1);
if( reeBegin > nIndex )