This commit is contained in:
ElenaSubbotina
2025-08-07 13:39:44 +03:00
parent bf05a63db0
commit cd05b830b1
4 changed files with 53 additions and 34 deletions

View File

@ -459,7 +459,7 @@ namespace cpdoccore {
const std::wstring& pageMasterName) const std::wstring& pageMasterName)
{ {
create_new_slide(pageName); create_new_slide(pageName);
get_slide_context().start_slide();//pageName, pageStyleName); get_slide_context().start_slide();
get_slide_context().get_animation_context().clear(); get_slide_context().get_animation_context().clear();
current_master_page_name_ = pageMasterName; current_master_page_name_ = pageMasterName;

View File

@ -963,23 +963,38 @@ void pptx_slide_context::add_rels( bool isInternal, std::wstring const & rid, st
impl_->add_additional_rels(isInternal, rid, ref, type); impl_->add_additional_rels(isInternal, rid, ref, type);
} }
void pptx_slide_context::set_footer() void pptx_slide_context::set_footer(bool val)
{ {
impl_->footer = true; impl_->footer = true;
} }
void pptx_slide_context::set_header() void pptx_slide_context::set_header(bool val)
{ {
impl_->header = true; impl_->header = val;
} }
void pptx_slide_context::set_page_number() void pptx_slide_context::set_page_number(bool val)
{ {
impl_->date_time = true; impl_->slideNum = val;
} }
void pptx_slide_context::set_date_time() void pptx_slide_context::set_date_time(bool val)
{ {
impl_->slideNum = true; impl_->date_time = val;
}
bool pptx_slide_context::get_date_time()
{
return impl_->date_time;
}
bool pptx_slide_context::get_page_number()
{
return impl_->slideNum;
}
bool pptx_slide_context::get_header()
{
return impl_->header;
}
bool pptx_slide_context::get_footer()
{
return impl_->footer;
} }
void pptx_slide_context::generate_id(const std::wstring& id) void pptx_slide_context::generate_id(const std::wstring& id)
{ {
impl_->generate_id(id); impl_->generate_id(id);

View File

@ -140,11 +140,15 @@ public:
std::wstring const & ref, std::wstring const & ref,
_rels_type type); _rels_type type);
void set_footer(); void set_footer(bool val);
void set_header(); void set_header(bool val);
void set_page_number(bool val);
void set_page_number(); void set_date_time(bool val);
void set_date_time();
bool get_footer();
bool get_header();
bool get_page_number();
bool get_date_time();
pptx_animation_context & get_animation_context() { return pptx_animation_context_; } pptx_animation_context & get_animation_context() { return pptx_animation_context_; }
void generate_id(const std::wstring& id); void generate_id(const std::wstring& id);

View File

@ -185,17 +185,17 @@ void draw_page::pptx_convert(oox::pptx_conversion_context & Context)
} }
//////////////////////////////////////////////// ////////////////////////////////////////////////
if ((properties->content().presentation_display_footer_) && (*properties->content().presentation_display_footer_)) if (properties->content().presentation_display_footer_)
Context.get_slide_context().set_footer(); Context.get_slide_context().set_footer(*properties->content().presentation_display_footer_);
if ((properties->content().presentation_display_header_) && (*properties->content().presentation_display_header_)) if (properties->content().presentation_display_header_)
Context.get_slide_context().set_header(); Context.get_slide_context().set_header(*properties->content().presentation_display_header_);
if ((properties->content().presentation_display_page_number_) && (*properties->content().presentation_display_page_number_)) if (properties->content().presentation_display_page_number_)
Context.get_slide_context().set_page_number(); Context.get_slide_context().set_page_number(*properties->content().presentation_display_page_number_);
if ((properties->content().presentation_display_date_time_) && (*properties->content().presentation_display_date_time_)) if (properties->content().presentation_display_date_time_)
Context.get_slide_context().set_date_time(); Context.get_slide_context().set_date_time(*properties->content().presentation_display_date_time_);
} }
} }
} }
@ -206,12 +206,12 @@ void draw_page::pptx_convert(oox::pptx_conversion_context & Context)
content_[i]->pptx_convert(Context); content_[i]->pptx_convert(Context);
} }
if (attlist_.use_footer_name_)//from master_page if (attlist_.use_footer_name_ && Context.get_slide_context().get_footer())//from master_page
{ {
std::wstring name = L"footer:" + *attlist_.use_footer_name_; std::wstring name = L"footer:" + *attlist_.use_footer_name_;
pptx_convert_placeHolder(Context, name, presentation_class::footer); pptx_convert_placeHolder(Context, name, presentation_class::footer);
} }
if (attlist_.use_date_time_name_)//from master_page if (attlist_.use_date_time_name_ && Context.get_slide_context().get_date_time())//from master_page
{ {
std::wstring name = L"datetime:" + *attlist_.use_date_time_name_; std::wstring name = L"datetime:" + *attlist_.use_date_time_name_;
pptx_convert_placeHolder(Context, name, presentation_class::date_time); pptx_convert_placeHolder(Context, name, presentation_class::date_time);
@ -364,17 +364,17 @@ void presentation_notes::pptx_convert(oox::pptx_conversion_context & Context)
Context.get_slide_context().add_background(fill); Context.get_slide_context().add_background(fill);
//////////////////////////////////////////////// ////////////////////////////////////////////////
if ((properties->content().presentation_display_footer_) && (*properties->content().presentation_display_footer_)) if (properties->content().presentation_display_footer_)
Context.get_slide_context().set_footer(); Context.get_slide_context().set_footer(*properties->content().presentation_display_footer_);
if ((properties->content().presentation_display_header_) && (*properties->content().presentation_display_header_)) if (properties->content().presentation_display_header_)
Context.get_slide_context().set_header(); Context.get_slide_context().set_header(*properties->content().presentation_display_header_);
if ((properties->content().presentation_display_page_number_) && (*properties->content().presentation_display_page_number_)) if (properties->content().presentation_display_page_number_)
Context.get_slide_context().set_page_number(); Context.get_slide_context().set_page_number(*properties->content().presentation_display_page_number_);
if ((properties->content().presentation_display_date_time_) && (*properties->content().presentation_display_date_time_)) if (properties->content().presentation_display_date_time_)
Context.get_slide_context().set_date_time(); Context.get_slide_context().set_date_time(*properties->content().presentation_display_date_time_);
} }
} }
} }
@ -385,12 +385,12 @@ void presentation_notes::pptx_convert(oox::pptx_conversion_context & Context)
content_[i]->pptx_convert(Context); content_[i]->pptx_convert(Context);
} }
if (attlist_.use_footer_name_)//from master_page_notes if (attlist_.use_footer_name_ && Context.get_slide_context().get_footer())//from master_page_notes
{ {
std::wstring name = L"footer:" + *attlist_.use_footer_name_; std::wstring name = L"footer:" + *attlist_.use_footer_name_;
pptx_convert_placeHolder(Context, name, presentation_class::footer); pptx_convert_placeHolder(Context, name, presentation_class::footer);
} }
if (attlist_.use_date_time_name_)//from master_page_notes if (attlist_.use_date_time_name_ && Context.get_slide_context().get_date_time())//from master_page_notes
{ {
std::wstring name = L"datetime:" + *attlist_.use_date_time_name_; std::wstring name = L"datetime:" + *attlist_.use_date_time_name_;
pptx_convert_placeHolder(Context, name, presentation_class::date_time); pptx_convert_placeHolder(Context, name, presentation_class::date_time);