summaryrefslogtreecommitdiff
path: root/sc/source/core
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2023-03-21 11:04:32 +0100
committerXisco Fauli <xiscofauli@libreoffice.org>2023-03-22 07:26:40 +0000
commit7131530929d3670b8c2db7dc0c1a86c822e05660 (patch)
tree057a7d4bb5a37fdcd05796191754dbfdabfb6d54 /sc/source/core
parentb1dc8d302f5a7c7b8f69261f86ff01377a910c68 (diff)
tdf#154274: show "Unknown Author" when no name is set
Same as in Writer Change-Id: I830ba9f34dc39424202110538ba4a7dbada1b06c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149206 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'sc/source/core')
-rw-r--r--sc/source/core/tool/chgtrack.cxx24
1 files changed, 19 insertions, 5 deletions
diff --git a/sc/source/core/tool/chgtrack.cxx b/sc/source/core/tool/chgtrack.cxx
index 925b30378c1a..996ff1c912e3 100644
--- a/sc/source/core/tool/chgtrack.cxx
+++ b/sc/source/core/tool/chgtrack.cxx
@@ -43,6 +43,7 @@
#include <tools/json_writer.hxx>
#include <algorithm>
#include <memory>
+#include <strings.hrc>
#include <utility>
ScChangeAction::ScChangeAction( ScChangeActionType eTypeP, const ScRange& rRange )
@@ -2061,9 +2062,7 @@ void ScChangeTrack::Init()
bUseFixDateTime = false;
bTimeNanoSeconds = true;
- const SvtUserOptions& rUserOpt = SC_MOD()->GetUserOptions();
- maUser = rUserOpt.GetFirstName() + " " + rUserOpt.GetLastName();
- maUserCollection.insert(maUser);
+ CreateAuthorName();
}
void ScChangeTrack::DtorClear()
@@ -2160,10 +2159,9 @@ void ScChangeTrack::ConfigurationChanged( utl::ConfigurationBroadcaster*, Config
if ( rDoc.IsInDtorClear() )
return;
- const SvtUserOptions& rUserOptions = SC_MOD()->GetUserOptions();
size_t nOldCount = maUserCollection.size();
- SetUser(rUserOptions.GetFirstName() + " " + rUserOptions.GetLastName());
+ CreateAuthorName();
if ( maUserCollection.size() != nOldCount )
{
@@ -2178,6 +2176,22 @@ void ScChangeTrack::ConfigurationChanged( utl::ConfigurationBroadcaster*, Config
}
}
+void ScChangeTrack::CreateAuthorName()
+{
+ const SvtUserOptions& rUserOptions = SC_MOD()->GetUserOptions();
+ OUString aFirstName(rUserOptions.GetFirstName());
+ OUString aLastName(rUserOptions.GetLastName());
+ if (aFirstName.isEmpty() && aLastName.isEmpty())
+ SetUser(ScResId(STR_CHG_UNKNOWN_AUTHOR));
+ else if(!aFirstName.isEmpty() && aLastName.isEmpty())
+ SetUser(aFirstName);
+ else if(aFirstName.isEmpty() && !aLastName.isEmpty())
+ SetUser(aLastName);
+ else
+ SetUser(aFirstName + " " + aLastName);
+}
+
+
void ScChangeTrack::SetUser( const OUString& rUser )
{
maUser = rUser;