summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-04-10 15:14:02 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-04-13 01:54:37 -0400
commitbc36f99b32cd46acd4e5dbdc63cfff23316185af (patch)
tree9b1421e9875cdcda32cafe8dbea5ff4657e06605
parent2a53a72fbffe285fb50193f853bab60db61ccf54 (diff)
Centralize D_TIMEFACTOR as DATE_TIME_FACTOR.
It was about time. Change-Id: I87225be540c22b3031c6aee3f3fd9d26795abef8
-rw-r--r--sc/inc/globalnames.hxx2
-rw-r--r--sc/source/core/data/dbdocutl.cxx7
-rw-r--r--sc/source/core/data/dpgroup.cxx5
-rw-r--r--sc/source/core/data/dputil.cxx5
-rw-r--r--sc/source/core/tool/interpr2.cxx13
-rw-r--r--sc/source/filter/orcus/interface.cxx5
-rw-r--r--sc/source/ui/view/viewfun6.cxx6
7 files changed, 19 insertions, 24 deletions
diff --git a/sc/inc/globalnames.hxx b/sc/inc/globalnames.hxx
index 4fee4711fb32..b388a7c9f83f 100644
--- a/sc/inc/globalnames.hxx
+++ b/sc/inc/globalnames.hxx
@@ -36,6 +36,8 @@
#define TEXTWIDTH_DIRTY 0xffff
+#define DATE_TIME_FACTOR 86400.0
+
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/dbdocutl.cxx b/sc/source/core/data/dbdocutl.cxx
index fcdfab56814d..eb244f779eb3 100644
--- a/sc/source/core/data/dbdocutl.cxx
+++ b/sc/source/core/data/dbdocutl.cxx
@@ -26,11 +26,10 @@
#include "document.hxx"
#include "formula/errorcodes.hxx"
#include "stringutil.hxx"
+#include "globalnames.hxx"
using namespace ::com::sun::star;
-#define D_TIMEFACTOR 86400.0
-
// ----------------------------------------------------------------------------
ScDatabaseDocUtil::StrData::StrData() :
@@ -111,7 +110,7 @@ void ScDatabaseDocUtil::PutData( ScDocument* pDoc, SCCOL nCol, SCROW nRow, SCTAB
util::Time aTime = xRow->getTime(nRowPos);
nVal = ( aTime.Hours * 3600 + aTime.Minutes * 60 +
- aTime.Seconds + aTime.HundredthSeconds / 100.0 ) / D_TIMEFACTOR;
+ aTime.Seconds + aTime.HundredthSeconds / 100.0 ) / DATE_TIME_FACTOR;
bEmptyFlag = xRow->wasNull();
bValue = sal_True;
}
@@ -127,7 +126,7 @@ void ScDatabaseDocUtil::PutData( ScDocument* pDoc, SCCOL nCol, SCROW nRow, SCTAB
nVal = ( Date( aStamp.Day, aStamp.Month, aStamp.Year ) -
*pFormTable->GetNullDate() ) +
( aStamp.Hours * 3600 + aStamp.Minutes * 60 +
- aStamp.Seconds + aStamp.HundredthSeconds / 100.0 ) / D_TIMEFACTOR;
+ aStamp.Seconds + aStamp.HundredthSeconds / 100.0 ) / DATE_TIME_FACTOR;
bEmptyFlag = xRow->wasNull();
bValue = sal_True;
}
diff --git a/sc/source/core/data/dpgroup.cxx b/sc/source/core/data/dpgroup.cxx
index bc2e132acb3c..5368523f5c61 100644
--- a/sc/source/core/data/dpgroup.cxx
+++ b/sc/source/core/data/dpgroup.cxx
@@ -27,6 +27,7 @@
#include "dpobject.hxx"
#include "dpglobal.hxx"
#include "dputil.hxx"
+#include "globalnames.hxx"
#include <rtl/math.hxx>
@@ -48,8 +49,6 @@ using ::com::sun::star::uno::UNO_QUERY_THROW;
using ::std::vector;
using ::boost::shared_ptr;
-#define D_TIMEFACTOR 86400.0
-
const sal_uInt16 SC_DP_LEAPYEAR = 1648; // arbitrary leap year for date calculations
class ScDPGroupNumFilter : public ScDPFilteredCache::FilterBase
@@ -155,7 +154,7 @@ bool ScDPGroupDateFilter::match( const ScDPItemData & rCellData ) const
// (as in the cell functions, ScInterpreter::ScGetHour etc.: seconds are rounded)
double time = rCellData.GetValue() - approxFloor(rCellData.GetValue());
- long seconds = static_cast<long>(approxFloor(time*D_TIMEFACTOR + 0.5));
+ long seconds = static_cast<long>(approxFloor(time*DATE_TIME_FACTOR + 0.5));
switch (nGroupType)
{
diff --git a/sc/source/core/data/dputil.cxx b/sc/source/core/data/dputil.cxx
index a842d7de20b1..bbf04897b141 100644
--- a/sc/source/core/data/dputil.cxx
+++ b/sc/source/core/data/dputil.cxx
@@ -30,6 +30,7 @@
#include "global.hxx"
#include "dpitemdata.hxx"
#include "dpnumgroupinfo.hxx"
+#include "globalnames.hxx"
#include "comphelper/string.hxx"
#include "unotools/localedatawrapper.hxx"
@@ -40,8 +41,6 @@
#include <com/sun/star/sheet/DataPilotFieldGroupBy.hpp>
#include <com/sun/star/i18n/CalendarDisplayIndex.hpp>
-#define D_TIMEFACTOR 86400.0
-
using namespace com::sun::star;
namespace {
@@ -314,7 +313,7 @@ sal_Int32 ScDPUtil::getDatePartValue(
// (as in the cell functions, ScInterpreter::ScGetHour etc.: seconds are rounded)
double fTime = fValue - rtl::math::approxFloor(fValue);
- long nSeconds = (long)rtl::math::approxFloor(fTime*D_TIMEFACTOR+0.5);
+ long nSeconds = (long)rtl::math::approxFloor(fTime*DATE_TIME_FACTOR+0.5);
switch (nDatePart)
{
diff --git a/sc/source/core/tool/interpr2.cxx b/sc/source/core/tool/interpr2.cxx
index 883a2e91df12..ad4daa7443e8 100644
--- a/sc/source/core/tool/interpr2.cxx
+++ b/sc/source/core/tool/interpr2.cxx
@@ -43,14 +43,13 @@
#include "dpobject.hxx"
#include "postit.hxx"
#include "tokenarray.hxx"
+#include "globalnames.hxx"
#include <string.h>
#include <math.h>
using namespace formula;
-// STATIC DATA -----------------------------------------------------------
-#define D_TIMEFACTOR 86400.0
#define SCdEpsilon 1.0E-7
//-----------------------------------------------------------------------------
@@ -117,7 +116,7 @@ void ScInterpreter::ScGetActTime()
double nTime = ((double)aActTime.Get100Sec() / 100 +
(double)(aActTime.GetSec() +
(aActTime.GetMin() * 60) +
- (aActTime.GetHour() * 3600))) / D_TIMEFACTOR;
+ (aActTime.GetHour() * 3600))) / DATE_TIME_FACTOR;
PushDouble( (double) nDiff + nTime );
}
@@ -150,7 +149,7 @@ void ScInterpreter::ScGetMin()
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScGetMin" );
double fTime = GetDouble();
fTime -= ::rtl::math::approxFloor(fTime); // Datumsanteil weg
- long nVal = (long)::rtl::math::approxFloor(fTime*D_TIMEFACTOR+0.5) % 3600;
+ long nVal = (long)::rtl::math::approxFloor(fTime*DATE_TIME_FACTOR+0.5) % 3600;
PushDouble( (double) (nVal/60) );
}
@@ -159,7 +158,7 @@ void ScInterpreter::ScGetSec()
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScGetSec" );
double fTime = GetDouble();
fTime -= ::rtl::math::approxFloor(fTime); // Datumsanteil weg
- long nVal = (long)::rtl::math::approxFloor(fTime*D_TIMEFACTOR+0.5) % 60;
+ long nVal = (long)::rtl::math::approxFloor(fTime*DATE_TIME_FACTOR+0.5) % 60;
PushDouble( (double) nVal );
}
@@ -168,7 +167,7 @@ void ScInterpreter::ScGetHour()
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScGetHour" );
double fTime = GetDouble();
fTime -= ::rtl::math::approxFloor(fTime); // Datumsanteil weg
- long nVal = (long)::rtl::math::approxFloor(fTime*D_TIMEFACTOR+0.5) / 3600;
+ long nVal = (long)::rtl::math::approxFloor(fTime*DATE_TIME_FACTOR+0.5) / 3600;
PushDouble((double) nVal);
}
@@ -289,7 +288,7 @@ void ScInterpreter::ScGetTime()
double nSec = GetDouble();
double nMin = GetDouble();
double nHour = GetDouble();
- double fTime = fmod( (nHour * 3600) + (nMin * 60) + nSec, D_TIMEFACTOR) / D_TIMEFACTOR;
+ double fTime = fmod( (nHour * 3600) + (nMin * 60) + nSec, DATE_TIME_FACTOR) / DATE_TIME_FACTOR;
if (fTime < 0)
PushIllegalArgument();
else
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index 06d03ba23bdb..e843467ed1a7 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -14,12 +14,11 @@
#include "rangenam.hxx"
#include "tokenarray.hxx"
#include "stringutil.hxx"
+#include "globalnames.hxx"
#include "formula/token.hxx"
#include "tools/datetime.hxx"
-#define D_TIMEFACTOR 86400.0
-
using orcus::spreadsheet::row_t;
using orcus::spreadsheet::col_t;
using orcus::spreadsheet::formula_grammar_t;
@@ -169,7 +168,7 @@ void ScOrcusSheet::set_date_time(
aTime.GetMin() * 60.0 +
aTime.GetHour() * 3600.0;
- fTime /= D_TIMEFACTOR;
+ fTime /= DATE_TIME_FACTOR;
mrDoc.SetValue(col, row, mnTab, nDateDiff + fTime);
}
diff --git a/sc/source/ui/view/viewfun6.cxx b/sc/source/ui/view/viewfun6.cxx
index 37376e4aed23..ec0f6d421c90 100644
--- a/sc/source/ui/view/viewfun6.cxx
+++ b/sc/source/ui/view/viewfun6.cxx
@@ -43,14 +43,12 @@
#include "formulacell.hxx"
#include "markdata.hxx"
#include "drawview.hxx"
+#include "globalnames.hxx"
#include <vector>
using ::std::vector;
-#define D_TIMEFACTOR 86400.0
-
-
void ScViewFunc::DetectiveAddPred()
{
ScDocShell* pDocSh = GetViewData()->GetDocShell();
@@ -255,7 +253,7 @@ void ScViewFunc::InsertCurrentTime(short nCellFmt, const OUString& rUndoStr)
double fTime =
aActTime.Get100Sec() / 100.0 + aActTime.GetSec() +
(aActTime.GetMin() * 60.0) + (aActTime.GetHour() * 3600.0);
- fTime /= D_TIMEFACTOR;
+ fTime /= DATE_TIME_FACTOR;
pUndoMgr->EnterListAction(rUndoStr, rUndoStr);
pDocSh->GetDocFunc().SetValueCell(aCurPos, fDate+fTime, true);