summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJun NOGATA <nogajun@gmail.com>2021-05-29 18:07:12 +0900
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-07-13 13:05:34 +0200
commit6d4a1716624a8a045ff4e90bd221b563be44be11 (patch)
treea887011549aea1ed13df952d1909fd7b30cf4b98
parentf62b88e7ccc46c77364a489c981a1024118aed7a (diff)
Add PowerPoint compatible screen size for Impress
I realized that Impress does not have the same screen size as PowerPoint. tdf#142286, tdf#142288 When I load a PowerPoint slide into Impress, it was a custom size, but when I add this screen size, it shows up with the screen size name. And when I load a slide with the added screen size into PowerPoint, it also shows up with the PowerPoint preset screen size name and not the custom size. The screen sizes I have added are as follows * Widescreen (Current PowerPoint default) * On-scren Show (4:3) * On-scren Show (16:9) (Google slide defualt) * On-scren Show (16:10) Change-Id: I33e2bbc36b2c92ecbb85c610c864f735bf540d03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116374 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--cui/source/tabpages/page.cxx4
-rw-r--r--i18nutil/source/utility/paper.cxx6
-rw-r--r--include/i18nutil/paper.hxx8
-rw-r--r--svx/source/dialog/page.hrc4
-rw-r--r--vcl/inc/print.hrc6
-rw-r--r--vcl/source/gdi/print.cxx3
6 files changed, 24 insertions, 7 deletions
diff --git a/cui/source/tabpages/page.cxx b/cui/source/tabpages/page.cxx
index 71df320eb902..d7bc0cc6a9d7 100644
--- a/cui/source/tabpages/page.cxx
+++ b/cui/source/tabpages/page.cxx
@@ -968,7 +968,7 @@ IMPL_LINK_NOARG(SvxPageDescPage, PaperSizeSelect_Impl, weld::ComboBox&, void)
// Draw: if paper format the margin shall be 1 cm
tools::Long nTmp = 0;
- bool bScreen = (( PAPER_SCREEN_4_3 == ePaper )||( PAPER_SCREEN_16_9 == ePaper)||( PAPER_SCREEN_16_10 == ePaper));
+ bool bScreen = (( PAPER_SCREEN_4_3 == ePaper )||( PAPER_SCREEN_16_9 == ePaper)||( PAPER_SCREEN_16_10 == ePaper)||( PAPER_WIDESCREEN == ePaper)||( PAPER_ONSCREENSHOW_4_3 == ePaper)||( PAPER_ONSCREENSHOW_16_9 == ePaper)||( PAPER_ONSCREENSHOW_16_10 == ePaper));
if ( !bScreen )
// no margin if screen
@@ -1367,7 +1367,7 @@ DeactivateRC SvxPageDescPage::DeactivatePage( SfxItemSet* _pSet )
// If not, stay on the TabPage.
Paper ePaper = m_xPaperSizeBox->get_active_id();
- if ( ePaper != PAPER_SCREEN_4_3 && ePaper != PAPER_SCREEN_16_9 && ePaper != PAPER_SCREEN_16_10 && IsMarginOutOfRange() )
+ if ( ePaper != PAPER_SCREEN_4_3 && ePaper != PAPER_SCREEN_16_9 && ePaper != PAPER_SCREEN_16_10 && ePaper != PAPER_WIDESCREEN && ePaper != PAPER_ONSCREENSHOW_4_3 && ePaper != PAPER_ONSCREENSHOW_16_9 && ePaper != PAPER_ONSCREENSHOW_16_10 && IsMarginOutOfRange() )
{
std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(GetFrameWeld(),
VclMessageType::Question, VclButtonsType::YesNo,
diff --git a/i18nutil/source/utility/paper.cxx b/i18nutil/source/utility/paper.cxx
index 995f60ce8c3e..97dbb2938c25 100644
--- a/i18nutil/source/utility/paper.cxx
+++ b/i18nutil/source/utility/paper.cxx
@@ -156,7 +156,11 @@ const PageDesc aDinTab[] =
{ MM2MM100( 157.5), MM2MM100( 280 ), nullptr, nullptr }, //Screen 16:9
{ MM2MM100( 175 ), MM2MM100( 280 ), nullptr, nullptr }, //Screen 16:10
{ MM2MM100( 195 ), MM2MM100( 270 ), nullptr, nullptr }, // 16k
- { MM2MM100( 197 ), MM2MM100( 273 ), nullptr, nullptr } // 16k
+ { MM2MM100( 197 ), MM2MM100( 273 ), nullptr, nullptr }, // 16k
+ { IN2MM100( 7.5 ), IN2MM100( 13.333 ), nullptr, nullptr }, //PowerPoint Widescreen
+ { IN2MM100( 7.5 ), IN2MM100( 10 ), nullptr, nullptr }, //PowerPoint On-screen Show (4:3)
+ { IN2MM100( 5.625 ), IN2MM100( 10 ), nullptr, nullptr }, //PowerPoint On-screen Show (16:9)
+ { IN2MM100( 6.25 ), IN2MM100( 10 ), nullptr, nullptr } //PowerPoint On-screen Show (16:10)
};
diff --git a/include/i18nutil/paper.hxx b/include/i18nutil/paper.hxx
index 7b99c0861e48..71ca22bb9486 100644
--- a/include/i18nutil/paper.hxx
+++ b/include/i18nutil/paper.hxx
@@ -115,11 +115,15 @@ enum Paper : unsigned
PAPER_SCREEN_16_9,
PAPER_SCREEN_16_10,
PAPER_16K_195x270,
- PAPER_16K_197x273
+ PAPER_16K_197x273,
+ PAPER_WIDESCREEN, //PowerPoint Widescreen
+ PAPER_ONSCREENSHOW_4_3, //PowerPoint On-screen Show (4:3)
+ PAPER_ONSCREENSHOW_16_9, //PowerPoint On-screen Show (16:9)
+ PAPER_ONSCREENSHOW_16_10 //PowerPoint On-screen Show (16:10)
};
// defined for 'equal size' test with the implementation array
-#define NUM_PAPER_ENTRIES (PAPER_16K_197x273 - PAPER_A0 + 1)
+#define NUM_PAPER_ENTRIES (PAPER_ONSCREENSHOW_16_10 - PAPER_A0 + 1)
class I18NUTIL_DLLPUBLIC PaperInfo
{
diff --git a/svx/source/dialog/page.hrc b/svx/source/dialog/page.hrc
index 6dc8e72f0fa6..ec845957e31f 100644
--- a/svx/source/dialog/page.hrc
+++ b/svx/source/dialog/page.hrc
@@ -91,6 +91,10 @@ const std::pair<const char*, int> RID_SVXSTRARY_PAPERSIZE_DRAW[] =
{ NC_("RID_SVXSTRARY_PAPERSIZE_DRAW", "Screen 4:3") , PAPER_SCREEN_4_3 },
{ NC_("RID_SVXSTRARY_PAPERSIZE_DRAW", "Screen 16:9") , PAPER_SCREEN_16_9 },
{ NC_("RID_SVXSTRARY_PAPERSIZE_DRAW", "Screen 16:10") , PAPER_SCREEN_16_10 },
+ { NC_("RID_SVXSTRARY_PAPERSIZE_DRAW", "Widescreen") , PAPER_WIDESCREEN },
+ { NC_("RID_SVXSTRARY_PAPERSIZE_DRAW", "On-screen Show (4:3)") , PAPER_ONSCREENSHOW_4_3 },
+ { NC_("RID_SVXSTRARY_PAPERSIZE_DRAW", "On-screen Show (16:9)") , PAPER_ONSCREENSHOW_16_9 },
+ { NC_("RID_SVXSTRARY_PAPERSIZE_DRAW", "On-screen Show (16:10)") , PAPER_ONSCREENSHOW_16_10 },
{ NC_("RID_SVXSTRARY_PAPERSIZE_DRAW", "Japanese Postcard") , PAPER_POSTCARD_JP}
};
diff --git a/vcl/inc/print.hrc b/vcl/inc/print.hrc
index 91c11309aed5..49dbcea20fa2 100644
--- a/vcl/inc/print.hrc
+++ b/vcl/inc/print.hrc
@@ -106,8 +106,12 @@ const char* RID_STR_PAPERNAMES[] =
NC_("RID_STR_PAPERNAMES", "Screen 16:9"),
NC_("RID_STR_PAPERNAMES", "Screen 16:10"),
NC_("RID_STR_PAPERNAMES", "16k (195 x 270)"),
+ NC_("RID_STR_PAPERNAMES", "16k (197 x 273)"),
+ NC_("RID_STR_PAPERNAMES", "Widescreen"),
+ NC_("RID_STR_PAPERNAMES", "On-screen Show (4:3)"),
+ NC_("RID_STR_PAPERNAMES", "On-screen Show (16:9)"),
// To translators: This is the last entry of the sequence of paper size names
- NC_("RID_STR_PAPERNAMES", "16k (197 x 273)")
+ NC_("RID_STR_PAPERNAMES", "On-screen Show (16:10)")
};
#endif // INCLUDED_VCL_INC_PRINT_HRC
diff --git a/vcl/source/gdi/print.cxx b/vcl/source/gdi/print.cxx
index 652bc00c58be..90b74a3f6d92 100644
--- a/vcl/source/gdi/print.cxx
+++ b/vcl/source/gdi/print.cxx
@@ -1491,7 +1491,8 @@ OUString Printer::GetPaperName( Paper ePaper )
PAPER_DOUBLEPOSTCARD_JP, PAPER_A6, PAPER_12x11, PAPER_A7, PAPER_A8, PAPER_A9, PAPER_A10, PAPER_B0_ISO,
PAPER_B1_ISO, PAPER_B2_ISO, PAPER_B3_ISO, PAPER_B7_ISO, PAPER_B8_ISO, PAPER_B9_ISO, PAPER_B10_ISO,
PAPER_ENV_C2, PAPER_ENV_C7, PAPER_ENV_C8, PAPER_ARCHA, PAPER_ARCHB, PAPER_ARCHC, PAPER_ARCHD,
- PAPER_ARCHE, PAPER_SCREEN_16_9, PAPER_SCREEN_16_10, PAPER_16K_195x270, PAPER_16K_197x273
+ PAPER_ARCHE, PAPER_SCREEN_16_9, PAPER_SCREEN_16_10, PAPER_16K_195x270, PAPER_16K_197x273,
+ PAPER_WIDESCREEN, PAPER_ONSCREENSHOW_4_3, PAPER_ONSCREENSHOW_16_9, PAPER_ONSCREENSHOW_16_10
};
assert(SAL_N_ELEMENTS(PaperIndex) == SAL_N_ELEMENTS(RID_STR_PAPERNAMES) && "localized paper name count wrong");
for (size_t i = 0; i < SAL_N_ELEMENTS(PaperIndex); ++i)