Kaydet (Commit) 2a9b0e43 authored tarafından Noel Grandin's avatar Noel Grandin

drop ReferencedFlag enum

since we never use the REFERENCED_PERMANENT enumerator, we can represent
this as a simple bool

Change-Id: I34cccad34b90834f285c44d2e44aa1cdc33276d1
üst 1b7bc018
...@@ -134,13 +134,6 @@ public: ...@@ -134,13 +134,6 @@ public:
{ {
public: public:
enum ReferencedFlag
{
UNREFERENCED,
REFERENCED_MARKED, // marked as referenced during store to file
REFERENCED_PERMANENT // permanently marked, e.g. from within interpreter
};
Table(); Table();
~Table(); ~Table();
...@@ -159,9 +152,6 @@ public: ...@@ -159,9 +152,6 @@ public:
/** Set/clear referenced status flag only if current status is not /** Set/clear referenced status flag only if current status is not
REFERENCED_PERMANENT. */ REFERENCED_PERMANENT. */
void setReferenced( bool bReferenced ); void setReferenced( bool bReferenced );
/// Unconditionally set the reference status flag.
void setReferencedFlag( ReferencedFlag eFlag );
ReferencedFlag getReferencedFlag() const { return meReferenced;}
bool isReferenced() const; bool isReferenced() const;
/// Obtain a sorted vector of rows. /// Obtain a sorted vector of rows.
void getAllRows(::std::vector<SCROW>& rRows, SCROW nLow = 0, SCROW nHigh = MAXROW) const; void getAllRows(::std::vector<SCROW>& rRows, SCROW nLow = 0, SCROW nHigh = MAXROW) const;
...@@ -195,7 +185,7 @@ public: ...@@ -195,7 +185,7 @@ public:
/** Collection of individual cached ranges. The table ranges are /** Collection of individual cached ranges. The table ranges are
* not used & always zero. */ * not used & always zero. */
ScRangeList maCachedRanges; ScRangeList maCachedRanges;
ReferencedFlag meReferenced; bool mbReferenced;
}; };
typedef std::shared_ptr<Table> TableTypeRef; typedef std::shared_ptr<Table> TableTypeRef;
......
...@@ -245,7 +245,7 @@ void removeRangeNamesBySrcDoc(ScRangeName& rRanges, sal_uInt16 nFileId) ...@@ -245,7 +245,7 @@ void removeRangeNamesBySrcDoc(ScRangeName& rRanges, sal_uInt16 nFileId)
} }
ScExternalRefCache::Table::Table() ScExternalRefCache::Table::Table()
: meReferenced( REFERENCED_MARKED ) : mbReferenced( true )
// Prevent accidental data loss due to lack of knowledge. // Prevent accidental data loss due to lack of knowledge.
{ {
} }
...@@ -258,23 +258,17 @@ void ScExternalRefCache::Table::clear() ...@@ -258,23 +258,17 @@ void ScExternalRefCache::Table::clear()
{ {
maRows.clear(); maRows.clear();
maCachedRanges.RemoveAll(); maCachedRanges.RemoveAll();
meReferenced = REFERENCED_MARKED; mbReferenced = true;
}
void ScExternalRefCache::Table::setReferencedFlag( ScExternalRefCache::Table::ReferencedFlag eFlag )
{
meReferenced = eFlag;
} }
void ScExternalRefCache::Table::setReferenced( bool bReferenced ) void ScExternalRefCache::Table::setReferenced( bool bReferenced )
{ {
if (meReferenced != REFERENCED_PERMANENT) mbReferenced = bReferenced;
meReferenced = (bReferenced ? REFERENCED_MARKED : UNREFERENCED);
} }
bool ScExternalRefCache::Table::isReferenced() const bool ScExternalRefCache::Table::isReferenced() const
{ {
return meReferenced != UNREFERENCED; return mbReferenced;
} }
void ScExternalRefCache::Table::setCell(SCCOL nCol, SCROW nRow, TokenRef const & pToken, sal_uLong nFmtIndex, bool bSetCacheRange) void ScExternalRefCache::Table::setCell(SCCOL nCol, SCROW nRow, TokenRef const & pToken, sal_uLong nFmtIndex, bool bSetCacheRange)
...@@ -1158,11 +1152,9 @@ bool ScExternalRefCache::setCacheTableReferenced( sal_uInt16 nFileId, const OUSt ...@@ -1158,11 +1152,9 @@ bool ScExternalRefCache::setCacheTableReferenced( sal_uInt16 nFileId, const OUSt
TableTypeRef pTab = pDoc->maTables[i]; TableTypeRef pTab = pDoc->maTables[i];
if (pTab.get()) if (pTab.get())
{ {
Table::ReferencedFlag eNewFlag = Table::REFERENCED_MARKED; if (!pTab->isReferenced())
Table::ReferencedFlag eOldFlag = pTab->getReferencedFlag();
if (eOldFlag != Table::REFERENCED_PERMANENT && eNewFlag != eOldFlag)
{ {
pTab->setReferencedFlag( eNewFlag); pTab->setReferenced(true);
addCacheTableToReferenced( nFileId, i); addCacheTableToReferenced( nFileId, i);
} }
} }
...@@ -1213,17 +1205,12 @@ void ScExternalRefCache::setAllCacheTableReferencedStati( bool bReferenced ) ...@@ -1213,17 +1205,12 @@ void ScExternalRefCache::setAllCacheTableReferencedStati( bool bReferenced )
TableTypeRef & xTab = rDocItem.maTables[i]; TableTypeRef & xTab = rDocItem.maTables[i];
if (xTab.get()) if (xTab.get())
{ {
if (xTab->getReferencedFlag() == Table::REFERENCED_PERMANENT) xTab->setReferenced(false);
addCacheTableToReferenced( nFileId, i); rDocReferenced.maTables[i] = false;
else rDocReferenced.mbAllTablesReferenced = false;
{ // An addCacheTableToReferenced() actually may have
xTab->setReferencedFlag( Table::UNREFERENCED); // resulted in mbAllReferenced been set. Clear it.
rDocReferenced.maTables[i] = false; maReferenced.mbAllReferenced = false;
rDocReferenced.mbAllTablesReferenced = false;
// An addCacheTableToReferenced() actually may have
// resulted in mbAllReferenced been set. Clear it.
maReferenced.mbAllReferenced = false;
}
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment