tdf#67614 - Added the FHD image resolution

Added the possibility to chose full hd image resolution when exporting
slides via html.

Change-Id: I38c721c98093fbd21d9761708edf68e26d0c97ae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113069
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
diff --git a/sd/source/filter/html/htmlex.hxx b/sd/source/filter/html/htmlex.hxx
index cad0c0c..aeef943 100644
--- a/sd/source/filter/html/htmlex.hxx
+++ b/sd/source/filter/html/htmlex.hxx
@@ -40,6 +40,7 @@
#define PUB_LOWRES_WIDTH    640
#define PUB_MEDRES_WIDTH    800
#define PUB_HIGHRES_WIDTH   1024
#define PUB_FHDRES_WIDTH    1920

#define PUB_THUMBNAIL_WIDTH  256
#define PUB_THUMBNAIL_HEIGHT 192
diff --git a/sd/source/filter/html/pubdlg.cxx b/sd/source/filter/html/pubdlg.cxx
index 2d283e3..5fe558f 100644
--- a/sd/source/filter/html/pubdlg.cxx
+++ b/sd/source/filter/html/pubdlg.cxx
@@ -429,6 +429,7 @@
    m_xPage3_Resolution_1->connect_clicked(LINK(this,SdPublishingDlg, ResolutionHdl ));
    m_xPage3_Resolution_2->connect_clicked(LINK(this,SdPublishingDlg, ResolutionHdl ));
    m_xPage3_Resolution_3->connect_clicked(LINK(this,SdPublishingDlg, ResolutionHdl ));
    m_xPage3_Resolution_4->connect_clicked(LINK(this, SdPublishingDlg, ResolutionHdl));

    m_xPage2_ChgDefault->connect_clicked(LINK(this,SdPublishingDlg, SlideChgHdl));
    m_xPage2_ChgAuto->connect_clicked(LINK(this,SdPublishingDlg, SlideChgHdl));
@@ -564,6 +565,7 @@
    m_xPage3_Resolution_1 = m_xBuilder->weld_radio_button("resolution1Radiobutton");
    m_xPage3_Resolution_2 = m_xBuilder->weld_radio_button("resolution2Radiobutton");
    m_xPage3_Resolution_3 = m_xBuilder->weld_radio_button("resolution3Radiobutton");
    m_xPage3_Resolution_4 = m_xBuilder->weld_radio_button("resolution4Radiobutton");
    m_xPage3_Title3 = m_xBuilder->weld_label("effectsLabel");
    m_xPage3_SldSound = m_xBuilder->weld_check_button("sldSoundCheckbutton");
    m_xPage3_HiddenSlides = m_xBuilder->weld_check_button("hiddenSlidesCheckbutton");
@@ -578,6 +580,7 @@
    aAssistentFunc.InsertControl(3, m_xPage3_Resolution_1.get());
    aAssistentFunc.InsertControl(3, m_xPage3_Resolution_2.get());
    aAssistentFunc.InsertControl(3, m_xPage3_Resolution_3.get());
    aAssistentFunc.InsertControl(3, m_xPage3_Resolution_4.get());
    aAssistentFunc.InsertControl(3, m_xPage3_Title3.get());
    aAssistentFunc.InsertControl(3, m_xPage3_SldSound.get());
    aAssistentFunc.InsertControl(3, m_xPage3_HiddenSlides.get());
@@ -725,11 +728,13 @@
    // Page 3

    aValue.Name = "Width";
    sal_Int32 nTmpWidth = 640;
    sal_Int32 nTmpWidth = PUB_LOWRES_WIDTH;
    if( m_xPage3_Resolution_2->get_active() )
        nTmpWidth = 800;
        nTmpWidth = PUB_MEDRES_WIDTH;
    else if( m_xPage3_Resolution_3->get_active() )
        nTmpWidth = 1024;
        nTmpWidth = PUB_HIGHRES_WIDTH;
    else if (m_xPage3_Resolution_4->get_active())
        nTmpWidth = PUB_FHDRES_WIDTH;

    aValue.Value <<= nTmpWidth;
    aProps.push_back( aValue );
@@ -946,6 +951,7 @@
    m_xPage3_Resolution_1->set_sensitive(&rButton == m_xPage3_Resolution_1.get());
    m_xPage3_Resolution_2->set_sensitive(&rButton == m_xPage3_Resolution_2.get());
    m_xPage3_Resolution_3->set_sensitive(&rButton == m_xPage3_Resolution_3.get());
    m_xPage3_Resolution_4->set_sensitive(&rButton == m_xPage3_Resolution_4.get());
}

// Clickhandler for the ValueSet with the bitmap-buttons
@@ -1296,6 +1302,7 @@
    m_xPage3_Resolution_1->set_sensitive(pDesign->m_nResolution == PUB_LOWRES_WIDTH);
    m_xPage3_Resolution_2->set_sensitive(pDesign->m_nResolution == PUB_MEDRES_WIDTH);
    m_xPage3_Resolution_3->set_sensitive(pDesign->m_nResolution == PUB_HIGHRES_WIDTH);
    m_xPage3_Resolution_4->set_sensitive(pDesign->m_nResolution == PUB_FHDRES_WIDTH);

    m_xPage3_SldSound->set_sensitive( pDesign->m_bSlideSound );
    m_xPage3_HiddenSlides->set_sensitive( pDesign->m_bHiddenSlides );
@@ -1357,8 +1364,14 @@

    pDesign->m_aCompression = m_xPage3_Quality->get_active_text();

    pDesign->m_nResolution = m_xPage3_Resolution_1->get_active()?PUB_LOWRES_WIDTH:
                            (m_xPage3_Resolution_2->get_active()?PUB_MEDRES_WIDTH:PUB_HIGHRES_WIDTH);
    if (m_xPage3_Resolution_1->get_active())
        pDesign->m_nResolution = PUB_LOWRES_WIDTH;
    else if (m_xPage3_Resolution_2->get_active())
        pDesign->m_nResolution = PUB_MEDRES_WIDTH;
    else if (m_xPage3_Resolution_3->get_active())
        pDesign->m_nResolution = PUB_HIGHRES_WIDTH;
    else
        pDesign->m_nResolution = PUB_FHDRES_WIDTH;

    pDesign->m_bSlideSound = m_xPage3_SldSound->get_active();
    pDesign->m_bHiddenSlides = m_xPage3_HiddenSlides->get_active();
diff --git a/sd/source/ui/inc/pubdlg.hxx b/sd/source/ui/inc/pubdlg.hxx
index 3528fd0..5c8f15d 100644
--- a/sd/source/ui/inc/pubdlg.hxx
+++ b/sd/source/ui/inc/pubdlg.hxx
@@ -108,6 +108,7 @@
    std::unique_ptr<weld::RadioButton> m_xPage3_Resolution_1;
    std::unique_ptr<weld::RadioButton> m_xPage3_Resolution_2;
    std::unique_ptr<weld::RadioButton> m_xPage3_Resolution_3;
    std::unique_ptr<weld::RadioButton> m_xPage3_Resolution_4;
    std::unique_ptr<weld::Label> m_xPage3_Title3;
    std::unique_ptr<weld::CheckButton> m_xPage3_SldSound;
    std::unique_ptr<weld::CheckButton> m_xPage3_HiddenSlides;
diff --git a/sd/uiconfig/simpress/ui/publishingdialog.ui b/sd/uiconfig/simpress/ui/publishingdialog.ui
index 306d1d1..d6d2e0b 100644
--- a/sd/uiconfig/simpress/ui/publishingdialog.ui
+++ b/sd/uiconfig/simpress/ui/publishingdialog.ui
@@ -1167,7 +1167,6 @@
                            <property name="receives_default">False</property>
                            <property name="relief">half</property>
                            <property name="use_underline">True</property>
                            <property name="active">True</property>
                            <property name="draw_indicator">True</property>
                            <property name="group">resolution1Radiobutton</property>
                            <child internal-child="accessible">
@@ -1182,6 +1181,29 @@
                            <property name="position">2</property>
                          </packing>
                        </child>
                        <child>
                          <object class="GtkRadioButton" id="resolution4Radiobutton">
                            <property name="label" translatable="yes" context="publishingdialog|resolution4Radiobutton">Full HD (1_920 × 1080 pixels)</property>
                            <property name="visible">True</property>
                            <property name="can_focus">True</property>
                            <property name="receives_default">False</property>
                            <property name="relief">half</property>
                            <property name="use_underline">True</property>
                            <property name="active">True</property>
                            <property name="draw_indicator">True</property>
                            <property name="group">resolution1Radiobutton</property>
                            <child internal-child="accessible">
                              <object class="AtkObject" id="resolution3Radiobutton-atkobject">
                                <property name="AtkObject::accessible-description" translatable="yes" context="publishingdialog|extended_tip|resolution4Radiobutton">Select a full hd resolution for a very high quality slide display.</property>
                              </object>
                            </child>
                          </object>
                          <packing>
                            <property name="expand">False</property>
                            <property name="fill">True</property>
                            <property name="position">3</property>
                          </packing>
                        </child>
                      </object>
                    </child>
                    <child type="label">