diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2017-11-16 18:32:14 +0900 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2017-11-17 04:52:53 +0100 |
commit | 5fd90dcf5b12af4bf8ca21866b23209aa4d3d531 (patch) | |
tree | 132eb88ef7664b655b556944fcea694f2dbddb97 /svx | |
parent | 35107521b799232bcba1e8d0ccad6005012d56dc (diff) |
TSCP: resolve identifier to name, abbr. name is for category only
In paragraph classification we store only the identifier and not
the name, but for the ClassificationDialog we use the name as an
identifier, so we need to resovle the identifier to the name when
reading in the input classification results. It might make sense
to switch to identifiers in the dialog also as they are language
independent.
Abbreviated name is only for the classification category and has
no effect for other classefication elementslike markers and IP
parts, so always fill them with the full name directly.
Change-Id: I23bd0e8e92b16807a5b4d3162e503b799aa40718
Reviewed-on: https://gerrit.libreoffice.org/44845
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/dialog/ClassificationDialog.cxx | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/svx/source/dialog/ClassificationDialog.cxx b/svx/source/dialog/ClassificationDialog.cxx index 0bb8e7892d4e..f8cebe090042 100644 --- a/svx/source/dialog/ClassificationDialog.cxx +++ b/svx/source/dialog/ClassificationDialog.cxx @@ -410,11 +410,9 @@ void ClassificationDialog::writeRecentlyUsed() void ClassificationDialog::readIn(std::vector<ClassificationResult> const & rInput) { sal_Int32 nParagraph = -1; + for (ClassificationResult const & rClassificationResult : rInput) { - OUString sAbbreviatedName = rClassificationResult.msAbbreviatedName; - if (sAbbreviatedName.isEmpty()) - sAbbreviatedName = maHelper.GetAbbreviatedBACName(rClassificationResult.msName); switch (rClassificationResult.meType) { @@ -426,24 +424,34 @@ void ClassificationDialog::readIn(std::vector<ClassificationResult> const & rInp case svx::ClassificationType::CATEGORY: { - m_pClassificationListBox->SelectEntry(rClassificationResult.msName); + OUString sName; + if (rClassificationResult.msName.isEmpty()) + sName = maHelper.GetBACNameForIdentifier(rClassificationResult.msIdentifier); + else + sName = rClassificationResult.msName; + + OUString sAbbreviatedName = rClassificationResult.msAbbreviatedName; + if (sAbbreviatedName.isEmpty()) + sAbbreviatedName = maHelper.GetAbbreviatedBACName(sName); + + m_pClassificationListBox->SelectEntry(sName); m_nCurrentSelectedCategory = m_pClassificationListBox->GetSelectedEntryPos(); m_pInternationalClassificationListBox->SelectEntryPos(m_pClassificationListBox->GetSelectedEntryPos()); - insertField(rClassificationResult.meType, sAbbreviatedName, rClassificationResult.msName, rClassificationResult.msIdentifier); + insertField(rClassificationResult.meType, sAbbreviatedName, sName, rClassificationResult.msIdentifier); } break; case svx::ClassificationType::MARKING: { m_pMarkingListBox->SelectEntry(rClassificationResult.msName); - insertField(rClassificationResult.meType, sAbbreviatedName, rClassificationResult.msName, rClassificationResult.msIdentifier); + insertField(rClassificationResult.meType, rClassificationResult.msName, rClassificationResult.msName, rClassificationResult.msIdentifier); } break; case svx::ClassificationType::INTELLECTUAL_PROPERTY_PART: { - insertField(rClassificationResult.meType, sAbbreviatedName, rClassificationResult.msName, rClassificationResult.msIdentifier); + insertField(rClassificationResult.meType, rClassificationResult.msName, rClassificationResult.msName, rClassificationResult.msIdentifier); } break; |