summaryrefslogtreecommitdiffstats
path: root/cui/source/dialogs/about.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2011-06-28 13:00:51 +0100
committerCaolán McNamara <caolanm@redhat.com>2011-06-28 13:00:51 +0100
commit6f9dff66ee12c3cf5874fd4a33b82dbb090fe124 (patch)
treef99283b9e1ea32f8a332ab110ff0f39f1bfa8f76 /cui/source/dialogs/about.cxx
parentadd Build Id: string and fix size calculations (diff)
downloadcore-6f9dff66ee12c3cf5874fd4a33b82dbb090fe124.tar.gz
core-6f9dff66ee12c3cf5874fd4a33b82dbb090fe124.zip
break build id into multiple lines if using g log
Diffstat (limited to 'cui/source/dialogs/about.cxx')
-rw-r--r--cui/source/dialogs/about.cxx27
1 files changed, 24 insertions, 3 deletions
diff --git a/cui/source/dialogs/about.cxx b/cui/source/dialogs/about.cxx
index 3157a9b48fd7..863bd90312fa 100644
--- a/cui/source/dialogs/about.cxx
+++ b/cui/source/dialogs/about.cxx
@@ -72,13 +72,34 @@ Image SfxApplication::GetApplicationLogo()
return Image( aBitmap );
}
-/* intense magic to get strong version information */
+/* get good version information */
static String
GetBuildId()
{
rtl::OUString sDefault;
- String sBuildId( utl::Bootstrap::getBuildIdData( sDefault ) );
- OSL_ENSURE( sBuildId.Len() > 0, "No BUILDID in bootstrap file" );
+ rtl::OUString sBuildId( utl::Bootstrap::getBuildIdData( sDefault ) );
+ //strip trailing - from ./g log
+ if (!sBuildId.isEmpty() && sBuildId.getStr()[sBuildId.getLength()-1] == '-')
+ {
+ rtl::OUStringBuffer aBuffer;
+ sal_Int32 nIndex = 0;
+ do
+ {
+ rtl::OUString aToken = sBuildId.getToken( 0, '-', nIndex );
+ if (!aToken.isEmpty())
+ {
+ aBuffer.append(aToken);
+ if (nIndex % 5)
+ aBuffer.append(static_cast<sal_Unicode>('-'));
+ else
+ aBuffer.append(static_cast<sal_Unicode>('\n'));
+ }
+ }
+ while ( nIndex >= 0 );
+ sBuildId = aBuffer.makeStringAndClear();
+ }
+
+ OSL_ENSURE( sBuildId.getLength() > 0, "No BUILDID in bootstrap file" );
return sBuildId;
}