Kaydet (Commit) 7f43f0b5 authored tarafından Kohei Yoshida's avatar Kohei Yoshida Kaydeden (comit) Kohei Yoshida

tdf#116453: One less argument to pass to ScOrcusStyles.

You can access ScDocument via ScOrcusFactory. There should be no 
functionality change.

Change-Id: Ia679b6b006cc60bf24ca11432909682fa527b034
Reviewed-on: https://gerrit.libreoffice.org/60063Reviewed-by: 's avatarKohei Yoshida <libreoffice@kohei.us>
Tested-by: 's avatarKohei Yoshida <libreoffice@kohei.us>
üst a754ce41
...@@ -347,7 +347,6 @@ class ScOrcusStyles : public orcus::spreadsheet::iface::import_styles ...@@ -347,7 +347,6 @@ class ScOrcusStyles : public orcus::spreadsheet::iface::import_styles
{ {
private: private:
ScOrcusFactory& mrFactory; ScOrcusFactory& mrFactory;
ScDocument& mrDoc;
struct font struct font
{ {
...@@ -478,7 +477,7 @@ private: ...@@ -478,7 +477,7 @@ private:
void applyXfToItemSet(SfxItemSet& rSet, const xf& rXf); void applyXfToItemSet(SfxItemSet& rSet, const xf& rXf);
public: public:
ScOrcusStyles( ScOrcusFactory& rFactory, ScDocument& rDoc, bool bSkipDefaultStyles=false ); ScOrcusStyles( ScOrcusFactory& rFactory, bool bSkipDefaultStyles=false );
void applyXfToItemSet(SfxItemSet& rSet, size_t xfId); void applyXfToItemSet(SfxItemSet& rSet, size_t xfId);
...@@ -642,6 +641,8 @@ public: ...@@ -642,6 +641,8 @@ public:
virtual orcus::spreadsheet::iface::import_styles* get_styles() override; virtual orcus::spreadsheet::iface::import_styles* get_styles() override;
virtual void finalize() override; virtual void finalize() override;
ScDocumentImport& getDoc();
size_t appendString(const OUString& rStr); size_t appendString(const OUString& rStr);
size_t addString(const OUString& rStr); size_t addString(const OUString& rStr);
const OUString* getString(size_t nIndex) const; const OUString* getString(size_t nIndex) const;
......
...@@ -283,7 +283,7 @@ ScOrcusFactory::ScOrcusFactory(ScDocument& rDoc, bool bSkipDefaultStyles) : ...@@ -283,7 +283,7 @@ ScOrcusFactory::ScOrcusFactory(ScDocument& rDoc, bool bSkipDefaultStyles) :
maGlobalSettings(maDoc), maGlobalSettings(maDoc),
maSharedStrings(*this), maSharedStrings(*this),
maNamedExpressions(maDoc, maGlobalSettings), maNamedExpressions(maDoc, maGlobalSettings),
maStyles(*this, rDoc, bSkipDefaultStyles), maStyles(*this, bSkipDefaultStyles),
mnProgress(0) {} mnProgress(0) {}
orcus::spreadsheet::iface::import_sheet* ScOrcusFactory::append_sheet( orcus::spreadsheet::iface::import_sheet* ScOrcusFactory::append_sheet(
...@@ -497,6 +497,11 @@ void ScOrcusFactory::finalize() ...@@ -497,6 +497,11 @@ void ScOrcusFactory::finalize()
maDoc.finalize(); maDoc.finalize();
} }
ScDocumentImport& ScOrcusFactory::getDoc()
{
return maDoc;
}
size_t ScOrcusFactory::appendString(const OUString& rStr) size_t ScOrcusFactory::appendString(const OUString& rStr)
{ {
size_t nPos = maStrings.size(); size_t nPos = maStrings.size();
...@@ -1261,12 +1266,12 @@ size_t ScOrcusSharedStrings::commit_segments() ...@@ -1261,12 +1266,12 @@ size_t ScOrcusSharedStrings::commit_segments()
OStringToOUString(aStr, mrFactory.getGlobalSettings().getTextEncoding())); OStringToOUString(aStr, mrFactory.getGlobalSettings().getTextEncoding()));
} }
ScOrcusStyles::ScOrcusStyles( ScOrcusFactory& rFactory, ScDocument& rDoc, bool bSkipDefaultStyles ) : ScOrcusStyles::ScOrcusStyles( ScOrcusFactory& rFactory, bool bSkipDefaultStyles ) :
mrFactory(rFactory), mrFactory(rFactory)
mrDoc(rDoc)
{ {
if (!bSkipDefaultStyles && !mrDoc.GetStyleSheetPool()->HasStandardStyles()) ScDocument& rDoc = rFactory.getDoc().getDoc();
mrDoc.GetStyleSheetPool()->CreateStandardStyles(); if (!bSkipDefaultStyles && !rDoc.GetStyleSheetPool()->HasStandardStyles())
rDoc.GetStyleSheetPool()->CreateStandardStyles();
} }
ScOrcusStyles::font::font(): ScOrcusStyles::font::font():
...@@ -1526,7 +1531,7 @@ void ScOrcusStyles::applyXfToItemSet(SfxItemSet& rSet, const xf& rXf) ...@@ -1526,7 +1531,7 @@ void ScOrcusStyles::applyXfToItemSet(SfxItemSet& rSet, const xf& rXf)
} }
const number_format& rFormat = maNumberFormats[nNumberFormatId]; const number_format& rFormat = maNumberFormats[nNumberFormatId];
if (rFormat.mbHasNumberFormatAttr) if (rFormat.mbHasNumberFormatAttr)
rFormat.applyToItemSet(rSet, mrDoc); rFormat.applyToItemSet(rSet, mrFactory.getDoc().getDoc());
if(rXf.mbAlignment) if(rXf.mbAlignment)
{ {
...@@ -2134,7 +2139,7 @@ size_t ScOrcusStyles::commit_cell_style() ...@@ -2134,7 +2139,7 @@ size_t ScOrcusStyles::commit_cell_style()
return 0; return 0;
} }
ScStyleSheetPool* pPool = mrDoc.GetStyleSheetPool(); ScStyleSheetPool* pPool = mrFactory.getDoc().getDoc().GetStyleSheetPool();
SfxStyleSheetBase& rBase = pPool->Make(maCurrentCellStyle.maName, SfxStyleFamily::Para); SfxStyleSheetBase& rBase = pPool->Make(maCurrentCellStyle.maName, SfxStyleFamily::Para);
rBase.SetParent(maCurrentCellStyle.maParentName); rBase.SetParent(maCurrentCellStyle.maParentName);
SfxItemSet& rSet = rBase.GetItemSet(); SfxItemSet& rSet = rBase.GetItemSet();
......
...@@ -145,7 +145,7 @@ bool ScOrcusFiltersImpl::importODS_Styles(ScDocument& rDoc, OUString& aPath) con ...@@ -145,7 +145,7 @@ bool ScOrcusFiltersImpl::importODS_Styles(ScDocument& rDoc, OUString& aPath) con
{ {
std::string content = orcus::load_file_content(path); std::string content = orcus::load_file_content(path);
ScOrcusFactory aFactory(rDoc); ScOrcusFactory aFactory(rDoc);
ScOrcusStyles aStyles(aFactory, rDoc); ScOrcusStyles aStyles(aFactory);
orcus::import_ods::read_styles(content.c_str(), content.size(), &aStyles); orcus::import_ods::read_styles(content.c_str(), content.size(), &aStyles);
} }
catch (const std::exception& e) catch (const std::exception& e)
......
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