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)
{
create_new_slide(pageName);
get_slide_context().start_slide();//pageName, pageStyleName);
get_slide_context().start_slide();
get_slide_context().get_animation_context().clear();
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);
}
void pptx_slide_context::set_footer()
void pptx_slide_context::set_footer(bool val)
{
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)
{
impl_->generate_id(id);

View File

@ -140,11 +140,15 @@ public:
std::wstring const & ref,
_rels_type type);
void set_footer();
void set_header();
void set_page_number();
void set_date_time();
void set_footer(bool val);
void set_header(bool val);
void set_page_number(bool val);
void set_date_time(bool val);
bool get_footer();
bool get_header();
bool get_page_number();
bool get_date_time();
pptx_animation_context & get_animation_context() { return pptx_animation_context_; }
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_))
Context.get_slide_context().set_footer();
if (properties->content().presentation_display_footer_)
Context.get_slide_context().set_footer(*properties->content().presentation_display_footer_);
if ((properties->content().presentation_display_header_) && (*properties->content().presentation_display_header_))
Context.get_slide_context().set_header();
if (properties->content().presentation_display_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_))
Context.get_slide_context().set_page_number();
if (properties->content().presentation_display_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_))
Context.get_slide_context().set_date_time();
if (properties->content().presentation_display_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);
}
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_;
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_;
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);
////////////////////////////////////////////////
if ((properties->content().presentation_display_footer_) && (*properties->content().presentation_display_footer_))
Context.get_slide_context().set_footer();
if (properties->content().presentation_display_footer_)
Context.get_slide_context().set_footer(*properties->content().presentation_display_footer_);
if ((properties->content().presentation_display_header_) && (*properties->content().presentation_display_header_))
Context.get_slide_context().set_header();
if (properties->content().presentation_display_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_))
Context.get_slide_context().set_page_number();
if (properties->content().presentation_display_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_))
Context.get_slide_context().set_date_time();
if (properties->content().presentation_display_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);
}
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_;
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_;
pptx_convert_placeHolder(Context, name, presentation_class::date_time);