Resolves: tdf#141625 give enough space to see full date+time
Change-Id: I31193783231f27494ed1507faa143697e8facc30
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132977
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/chart2/source/controller/dialogs/tp_Scale.cxx b/chart2/source/controller/dialogs/tp_Scale.cxx
index 5c60dce..7147dfa 100644
--- a/chart2/source/controller/dialogs/tp_Scale.cxx
+++ b/chart2/source/controller/dialogs/tp_Scale.cxx
@@ -26,6 +26,7 @@
#include <svx/svxids.hrc>
#include <osl/diagnose.h>
#include <sfx2/dialoghelper.hxx>
#include <svx/chrtitem.hxx>
#include <svl/eitem.hxx>
#include <svl/intitem.hxx>
@@ -557,6 +558,12 @@ void ScaleTabPage::SetNumFormat()
nFmt = pNumFormatter->GetStandardFormat( SvNumFormatType::TIME, pFormat->GetLanguage() );
else
nFmt = pNumFormatter->GetStandardFormat( SvNumFormatType::TIME );
// tdf#141625 give enough space to see full date+time
int nWidestTime(m_xFmtFldMin->get_pixel_size(getWidestDateTime(Application::GetSettings().GetLocaleDataWrapper(), true)).Width());
int nWidthChars = std::ceil(nWidestTime / m_xFmtFldMin->get_approximate_digit_width()) + 1;
m_xFmtFldMin->set_width_chars(nWidthChars);
m_xFmtFldMax->set_width_chars(nWidthChars);
}
if( m_nAxisType == chart2::AxisType::DATE && ( eType != SvNumFormatType::DATE && eType != SvNumFormatType::DATETIME) )
diff --git a/include/sfx2/dialoghelper.hxx b/include/sfx2/dialoghelper.hxx
index e76304a..a853d5d 100644
--- a/include/sfx2/dialoghelper.hxx
+++ b/include/sfx2/dialoghelper.hxx
@@ -31,9 +31,10 @@ Size SFX2_DLLPUBLIC getPreviewStripSize(const OutputDevice& rReference);
Size SFX2_DLLPUBLIC getPreviewOptionsSize(const OutputDevice& rReference);
OUString SFX2_DLLPUBLIC getWidestTime(const LocaleDataWrapper& rWrapper);
OUString SFX2_DLLPUBLIC getWidestDateTime(const LocaleDataWrapper& rWrapper, bool bWithSec);
OUString SFX2_DLLPUBLIC formatTime(const DateTime& rDateTime, const LocaleDataWrapper& rWrapper);
OUString SFX2_DLLPUBLIC formatDateTime(const DateTime& rDateTime, const LocaleDataWrapper& rWrapper,
bool bWithSec);
#endif
diff --git a/sc/source/ui/miscdlgs/sharedocdlg.cxx b/sc/source/ui/miscdlgs/sharedocdlg.cxx
index 4fd2137..66904fe 100644
--- a/sc/source/ui/miscdlgs/sharedocdlg.cxx
+++ b/sc/source/ui/miscdlgs/sharedocdlg.cxx
@@ -40,7 +40,7 @@ using namespace ::com::sun::star;
IMPL_LINK(ScShareDocumentDlg, SizeAllocated, const Size&, rSize, void)
{
OUString sWidestAccessString = getWidestTime(ScGlobal::getLocaleData());
OUString sWidestAccessString = getWidestDateTime(ScGlobal::getLocaleData(), false);
const int nAccessWidth = m_xLbUsers->get_pixel_size(sWidestAccessString).Width() * 2;
std::vector<int> aWidths
{
@@ -152,7 +152,7 @@ void ScShareDocumentDlg::UpdateView()
tools::Time aTime( nHours, nMinutes );
DateTime aDateTime( aDate, aTime );
OUString aString = formatTime(aDateTime, ScGlobal::getLocaleData());
OUString aString = formatDateTime(aDateTime, ScGlobal::getLocaleData(), false);
m_xLbUsers->append_text(aUser);
m_xLbUsers->set_text(m_xLbUsers->n_children() - 1, aString, 1);
@@ -202,7 +202,7 @@ void ScShareDocumentDlg::UpdateView()
util::DateTime uDT(xDocProps->getModificationDate());
DateTime aDateTime(uDT);
OUString aString = formatTime(aDateTime, ScGlobal::getLocaleData()) + " " +
OUString aString = formatDateTime(aDateTime, ScGlobal::getLocaleData(), false) + " " +
ScGlobal::getLocaleData().getTime( aDateTime, false );
m_xLbUsers->append_text(aUser);
diff --git a/sfx2/source/dialog/dialoghelper.cxx b/sfx2/source/dialog/dialoghelper.cxx
index 93e697b..9585c8ba 100644
--- a/sfx2/source/dialog/dialoghelper.cxx
+++ b/sfx2/source/dialog/dialoghelper.cxx
@@ -32,17 +32,17 @@ Size getPreviewOptionsSize(const OutputDevice& rReference)
return rReference.LogicToPixel(Size(70, 27), MapMode(MapUnit::MapAppFont));
}
OUString getWidestTime(const LocaleDataWrapper& rWrapper)
OUString getWidestDateTime(const LocaleDataWrapper& rWrapper, bool bWithSec)
{
Date aDate(22, 12, 2000);
tools::Time aTime(22, 59, 59);
DateTime aDateTime(aDate, aTime);
return formatTime(aDateTime, rWrapper);
return formatDateTime(aDateTime, rWrapper, bWithSec);
}
OUString formatTime(const DateTime& rDateTime, const LocaleDataWrapper& rWrapper)
OUString formatDateTime(const DateTime& rDateTime, const LocaleDataWrapper& rWrapper, bool bWithSec)
{
return rWrapper.getDate(rDateTime) + " " + rWrapper.getTime(rDateTime, false);
return rWrapper.getDate(rDateTime) + " " + rWrapper.getTime(rDateTime, bWithSec);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/dialog/versdlg.cxx b/sfx2/source/dialog/versdlg.cxx
index 4b0a05d..90e704a 100644
--- a/sfx2/source/dialog/versdlg.cxx
+++ b/sfx2/source/dialog/versdlg.cxx
@@ -115,7 +115,7 @@ namespace
void setColSizes(weld::TreeView& rVersionBox)
{
// recalculate the datetime column width
int nWidestTime(rVersionBox.get_pixel_size(getWidestTime(Application::GetSettings().GetLocaleDataWrapper())).Width());
int nWidestTime(rVersionBox.get_pixel_size(getWidestDateTime(Application::GetSettings().GetLocaleDataWrapper(), false)).Width());
int nW1 = rVersionBox.get_pixel_size(rVersionBox.get_column_title(1)).Width();
int nMax = std::max(nWidestTime, nW1) + 12; // max width + a little offset
@@ -217,7 +217,7 @@ void SfxVersionDialog::Init_Impl()
for (size_t n = 0; n < m_pTable->size(); ++n)
{
SfxVersionInfo *pInfo = m_pTable->at( n );
OUString aEntry = formatTime(pInfo->aCreationDate, Application::GetSettings().GetLocaleDataWrapper());
OUString aEntry = formatDateTime(pInfo->aCreationDate, Application::GetSettings().GetLocaleDataWrapper(), false);
m_xVersionBox->append(weld::toId(pInfo), aEntry);
auto nLastRow = m_xVersionBox->n_children() - 1;
m_xVersionBox->set_text(nLastRow, pInfo->aAuthor, 1);
@@ -394,7 +394,7 @@ SfxViewVersionDialog_Impl::SfxViewVersionDialog_Impl(weld::Window *pParent, SfxV
OUString sAuthor = rInfo.aAuthor.isEmpty() ? SfxResId(STR_NO_NAME_SET) : rInfo.aAuthor;
const LocaleDataWrapper& rLocaleWrapper( Application::GetSettings().GetLocaleDataWrapper() );
m_xDateTimeText->set_label(m_xDateTimeText->get_label() + formatTime(rInfo.aCreationDate, rLocaleWrapper));
m_xDateTimeText->set_label(m_xDateTimeText->get_label() + formatDateTime(rInfo.aCreationDate, rLocaleWrapper, false));
m_xSavedByText->set_label(m_xSavedByText->get_label() + sAuthor);
m_xEdit->set_text(rInfo.aComment);
m_xEdit->set_size_request(40 * m_xEdit->get_approximate_digit_width(),
@@ -459,7 +459,7 @@ void SfxCmisVersionsDialog::LoadVersions()
for (size_t n = 0; n < m_pTable->size(); ++n)
{
SfxVersionInfo *pInfo = m_pTable->at( n );
OUString aEntry = formatTime(pInfo->aCreationDate, Application::GetSettings().GetLocaleDataWrapper());
OUString aEntry = formatDateTime(pInfo->aCreationDate, Application::GetSettings().GetLocaleDataWrapper(), false);
m_xVersionBox->append(weld::toId(pInfo), aEntry);
auto nLastRow = m_xVersionBox->n_children() - 1;
m_xVersionBox->set_text(nLastRow, pInfo->aAuthor, 1);