[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.2' - 31 commits - basctl/inc basctl/source i18nutil/source include/i18nutil include/vcl sc/inc sc/source sd/inc sd/source sd/uiconfig sfx2/source sw/inc sw/source sw/uiconfig vcl/inc vcl/source vcl/uiconfig vcl/UIConfig_vcl.mk

Daniel (via logerrit) logerrit at kemper.freedesktop.org
Thu Sep 26 16:59:14 UTC 2019


 basctl/inc/strings.hrc                           |    8 
 basctl/source/basicide/basicrenderable.cxx       |   47 
 basctl/source/basicide/basicrenderable.hxx       |    8 
 i18nutil/source/utility/paper.cxx                |   11 
 include/i18nutil/paper.hxx                       |    6 
 include/vcl/print.hxx                            |    6 
 sc/inc/docuno.hxx                                |    5 
 sc/inc/strings.hrc                               |   17 
 sc/source/ui/unoobj/docuno.cxx                   |  120 -
 sd/inc/DocumentRenderer.hrc                      |   16 
 sd/inc/strings.hrc                               |    8 
 sd/source/ui/view/DocumentRenderer.cxx           |  125 -
 sd/uiconfig/simpress/ui/impressprinteroptions.ui |  120 +
 sfx2/source/view/viewprn.cxx                     |   13 
 sw/inc/strings.hrc                               |   11 
 sw/source/core/doc/doc.cxx                       |   14 
 sw/source/core/view/printdata.cxx                |   90 
 sw/source/uibase/uno/unotxdoc.cxx                |   31 
 sw/uiconfig/swriter/ui/printeroptions.ui         |   40 
 vcl/UIConfig_vcl.mk                              |    1 
 vcl/inc/print.hrc                                |   51 
 vcl/inc/printdlg.hxx                             |  243 +-
 vcl/inc/strings.hrc                              |    1 
 vcl/source/gdi/print.cxx                         |   31 
 vcl/source/gdi/print3.cxx                        |   37 
 vcl/source/window/printdlg.cxx                   | 1798 ++++++++++--------
 vcl/uiconfig/ui/moreoptionsdialog.ui             |   88 
 vcl/uiconfig/ui/printdialog.ui                   | 2256 +++++++++--------------
 28 files changed, 2763 insertions(+), 2439 deletions(-)

New commits:
commit 53b660c952f17f92634e8028656f6eaf3fc8f5e3
Author:     Daniel <danielfaleirosilva at gmail.com>
AuthorDate: Wed Jan 16 18:51:47 2019 -0200
Commit:     Aron Budea <aron.budea at collabora.com>
CommitDate: Thu Sep 26 18:56:46 2019 +0200

    tdf#122079 - Document orientation is no longer changed in print dialog
    
    Change-Id: I9d13cfd136f9b70674b3e43268525f8a6e1c0954
    Reviewed-on: https://gerrit.libreoffice.org/66483
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
    Reviewed-by: Michael Weghorn <m.weghorn at posteo.de>
    (cherry picked from commit eaec995a96b41963ae9e5156b6c5c7ac022f9a55)

diff --git a/sw/source/uibase/uno/unotxdoc.cxx b/sw/source/uibase/uno/unotxdoc.cxx
index aede9f7d4da4..bcecd3d0b05f 100644
--- a/sw/source/uibase/uno/unotxdoc.cxx
+++ b/sw/source/uibase/uno/unotxdoc.cxx
@@ -2386,25 +2386,6 @@ static bool lcl_GetBoolProperty(
     return bRes;
 }
 
-static sal_Int32 lcl_GetIntProperty(
-    const uno::Sequence< beans::PropertyValue >& rOptions,
-    const sal_Char *pPropName,
-    sal_Int32 nDefault )
-{
-    sal_Int32 nRes = nDefault;
-    const sal_Int32 nLen = rOptions.getLength();
-    const beans::PropertyValue *pProps = rOptions.getConstArray();
-    for ( sal_Int32 i = 0;  i < nLen;  ++i )
-    {
-        if ( pProps[i].Name.equalsAscii( pPropName ) )
-        {
-            pProps[i].Value >>= nRes;
-            break;
-        }
-    }
-    return nRes;
-}
-
 SfxViewShell * SwXTextDocument::GetRenderView(
     bool &rbIsSwSrcView,
     const uno::Sequence< beans::PropertyValue >& rOptions,
@@ -2598,13 +2579,6 @@ sal_Int32 SAL_CALL SwXTextDocument::getRendererCount(
         if (!pViewShell || !pViewShell->GetLayout())
             return 0;
 
-        // make sure document orientation matches printer paper orientation
-        sal_Int32 nLandscape = lcl_GetIntProperty( rxOptions, "IsLandscape", -1 );
-        if ( nLandscape == 1 )
-            pViewShell->ChgAllPageOrientation( Orientation::Landscape );
-        else if ( nLandscape == 0 )
-            pViewShell->ChgAllPageOrientation( Orientation::Portrait );
-
         if (bFormat)
         {
             // #i38289
diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx
index d8cb58c67769..0e3500f9e65d 100644
--- a/vcl/source/window/printdlg.cxx
+++ b/vcl/source/window/printdlg.cxx
@@ -1010,21 +1010,14 @@ void PrintDialog::preparePreview( bool i_bNewPage, bool i_bMayUseCache )
 
 void PrintDialog::updateOrientationBox( const bool bAutomatic )
 {
-    Orientation eOrientation = maPController->getPrinter()->GetOrientation();
     if ( !bAutomatic )
     {
+        Orientation eOrientation = maPController->getPrinter()->GetOrientation();
         mpOrientationBox->SelectEntryPos( static_cast<sal_Int32>(eOrientation) + 1 );
-
-        maPController->setValue( "IsLandscape",
-                                 makeAny( static_cast<sal_Int32>(eOrientation) ) );
     }
     else if ( hasOrientationChanged() )
     {
         mpOrientationBox->SelectEntryPos( ORIENTATION_AUTOMATIC );
-
-        // used to make sure document orientation matches printer paper orientation
-        maPController->setValue( "IsLandscape",
-                                 makeAny( static_cast<sal_Int32>(eOrientation) ) );
     }
 }
 
@@ -1065,10 +1058,6 @@ void PrintDialog::setPaperOrientation( Orientation eOrientation )
         Size& aPaperSize = maPController->getPaperSizeSetup();
         checkPaperSize( aPaperSize );
     }
-
-    // used to sync printer paper orientation with document orientation
-    maPController->setValue( "IsLandscape",
-                             makeAny( static_cast<sal_Int32>(eOrientation) ) );
 }
 
 void PrintDialog::checkControlDependencies()
commit 38f2579faaf6a4b3d12704a6dff1745a061f0bb3
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Sep 23 16:06:36 2019 +0100
Commit:     Aron Budea <aron.budea at collabora.com>
CommitDate: Thu Sep 26 18:56:46 2019 +0200

    Resolves: tdf#127682 out_of_range thrown on print empty calc doc
    
    when odd/even pages requested and print is cancelled
    
    the abort procedure will ask for page 0 to be rendered on cancel,
    which doesn't exist since the odd/even support.
    
    Let the print of an empty page to ahead in the abort scenario
    
    Change-Id: Id8dfde57fca891ba3eb220cf6e495585abf4c918
    Reviewed-on: https://gerrit.libreoffice.org/79414
    Tested-by: Jenkins
    Reviewed-by: Xisco Faulí <xiscofauli at libreoffice.org>
    (cherry picked from commit d7bd0b2d010b4fa64dd6773ad63f864e13fffb29)

diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index 507f1a1336b1..87ed6422bb85 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -1786,16 +1786,16 @@ uno::Sequence<beans::PropertyValue> SAL_CALL ScModelObj::getRenderer( sal_Int32
         }
 
         MultiSelection aPage;
-        if ( nContent == 2 || nContent == 3 ) // even pages or odd pages
-        {
-            aPage.SetTotalRange( Range(0,RANGE_MAX) );
-            aPage.Select( maValidPages.at( nRenderer ) );
-        }
+        aPage.SetTotalRange( Range(0,RANGE_MAX) );
+
+        bool bOddOrEven = nContent == 2 || nContent == 3; // even pages or odd pages
+        // tdf#127682 when odd/even allow nRenderer of 0 even when maValidPages is empty
+        // to allow PrinterController::abortJob to spool an empty page as part of
+        // its abort procedure
+        if (bOddOrEven && !maValidPages.empty())
+            aPage.Select( maValidPages.at(nRenderer) );
         else
-        {
-            aPage.SetTotalRange( Range(0,RANGE_MAX) );
             aPage.Select( nRenderer+1 );
-        }
 
         long nDisplayStart = pPrintFuncCache->GetDisplayStart( nTab );
         long nTabStart = pPrintFuncCache->GetTabStart( nTab );
@@ -1970,16 +1970,16 @@ void SAL_CALL ScModelObj::render( sal_Int32 nSelRenderer, const uno::Any& aSelec
     }
 
     MultiSelection aPage;
-    if ( nContent == 2 || nContent == 3 ) // even pages or odd pages
-    {
-        aPage.SetTotalRange( Range(0,RANGE_MAX) );
+    aPage.SetTotalRange( Range(0,RANGE_MAX) );
+
+    bool bOddOrEven = nContent == 2 || nContent == 3; // even pages or odd pages
+    // tdf#127682 when odd/even allow nRenderer of 0 even when maValidPages is empty
+    // to allow PrinterController::abortJob to spool an empty page as part of
+    // its abort procedure
+    if (bOddOrEven && !maValidPages.empty())
         aPage.Select( maValidPages.at( nRenderer ) );
-    }
     else
-    {
-        aPage.SetTotalRange( Range(0,RANGE_MAX) );
         aPage.Select( nRenderer+1 );
-    }
 
     long nDisplayStart = pPrintFuncCache->GetDisplayStart( nTab );
     long nTabStart = pPrintFuncCache->GetTabStart( nTab );
commit 9a99dae5c1b14953e44162a66f0924fc70991faf
Author:     heiko tietze <tietze.heiko at gmail.com>
AuthorDate: Tue Jan 15 09:38:00 2019 +0100
Commit:     Aron Budea <aron.budea at collabora.com>
CommitDate: Thu Sep 26 18:56:45 2019 +0200

    Resolves: tdf#122633 - Print dialog Preview is Off
    
    By default on now
    
    Change-Id: I7619d290e3dd9032b765057b8878d5dad035eafc
    Reviewed-on: https://gerrit.libreoffice.org/66351
    Tested-by: Jenkins
    Reviewed-by: Heiko Tietze <tietze.heiko at gmail.com>
    (cherry picked from commit dcf185ea162a4f593c66639cb3aebdc9c3d1a60f)

diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx
index 6a038106fd23..d8cb58c67769 100644
--- a/vcl/source/window/printdlg.cxx
+++ b/vcl/source/window/printdlg.cxx
@@ -869,10 +869,10 @@ void PrintDialog::readFromSettings()
     // preview box
     aValue = pItem->getValue( "PrintDialog",
                               "HasPreview" );
-    if ( aValue.equalsIgnoreAsciiCase("true") )
-        mpPreviewBox->Check( true );
-    else
+    if ( aValue.equalsIgnoreAsciiCase("false") )
         mpPreviewBox->Check( false );
+    else
+        mpPreviewBox->Check( true );
 
 }
 
commit 6bccfc48165a0a7dd24a455c583b423131b02833
Author:     Rasmus Jonsson <wasmus at zom.bi>
AuthorDate: Fri Apr 5 15:24:18 2019 +0200
Commit:     Aron Budea <aron.budea at collabora.com>
CommitDate: Thu Sep 26 18:56:45 2019 +0200

    tdf#124567 Print dialog: distance & margin mixed up
    
    Change places of distance and margin input boxes (note: ids were set
    correctly, they were merely labelled incorrectly).
    Also moved the object in the .ui file to make it easier to read.
    
    Change-Id: I180d7afdf9dfb483f5dbfcf7ba68c73900499807
    Reviewed-on: https://gerrit.libreoffice.org/70303
    Tested-by: Jenkins
    Reviewed-by: Katarina Behrens <Katarina.Behrens at cib.de>
    (cherry picked from commit 93cc8d83cd1f814e8b1df03de2e3c25efa4a9d16)

diff --git a/vcl/uiconfig/ui/printdialog.ui b/vcl/uiconfig/ui/printdialog.ui
index 063d961e8bca..043a27771a38 100644
--- a/vcl/uiconfig/ui/printdialog.ui
+++ b/vcl/uiconfig/ui/printdialog.ui
@@ -964,6 +964,15 @@
                                               </packing>
                                             </child>
                                             <child>
+                                              <object class="GtkSpinButton" id="pagemarginsb:0mm">
+                                                <property name="can_focus">True</property>
+                                              </object>
+                                              <packing>
+                                                <property name="left_attach">1</property>
+                                                <property name="top_attach">4</property>
+                                              </packing>
+                                            </child>
+                                            <child>
                                               <object class="GtkLabel" id="sheetmargintxt1">
                                                 <property name="can_focus">False</property>
                                                 <property name="halign">start</property>
@@ -982,15 +991,6 @@
                                               </object>
                                               <packing>
                                                 <property name="left_attach">1</property>
-                                                <property name="top_attach">4</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkSpinButton" id="pagemarginsb:0mm">
-                                                <property name="can_focus">True</property>
-                                              </object>
-                                              <packing>
-                                                <property name="left_attach">1</property>
                                                 <property name="top_attach">5</property>
                                               </packing>
                                             </child>
commit 2501aeb5de92fe357eb71ed64cca20f394390398
Author:     heiko tietze <tietze.heiko at gmail.com>
AuthorDate: Tue Mar 5 15:08:53 2019 +0100
Commit:     Aron Budea <aron.budea at collabora.com>
CommitDate: Thu Sep 26 18:56:45 2019 +0200

    Resolves tdf#122707 - Replace listbox for print range by radio buttons
    
    Some changes to the ui file (GtkGrid, alignment, radio buttons),
    setChoiceRadiosControlOpt() instead of *list
    Labels adjusted accordingly
    Patch partially reverts I62bd9affc9e065d7afcc60296a72eae4612b0ddd
    
    Reviewed-on: https://gerrit.libreoffice.org/68846
    Tested-by: Jenkins
    Reviewed-by: Heiko Tietze <tietze.heiko at gmail.com>
    (cherry picked from commit 044fa501e95dcac8120767996dfb7ba8f25a703f)
    
    Change-Id: Ia06b8f2513d98fbdb1971477cf7b7127595d338c

diff --git a/basctl/inc/strings.hrc b/basctl/inc/strings.hrc
index a39ba9d76c04..9af4245de3d8 100644
--- a/basctl/inc/strings.hrc
+++ b/basctl/inc/strings.hrc
@@ -98,10 +98,10 @@
 #define RID_STR_DLGIMP_MISMATCH_TITLE       NC_("RID_STR_DLGIMP_MISMATCH_TITLE", "Dialog Import - Language Mismatch")
 #define RID_STR_DLGIMP_MISMATCH_TEXT        NC_("RID_STR_DLGIMP_MISMATCH_TEXT", "The dialog to be imported supports other languages than the target library.\n\nAdd these languages to the library to keep additional language resources provided by the dialog or omit them to stay with the current library languages.\n\nNote: For languages not supported by the dialog the resources of the dialog's default language will be used.\n ")
 #define RID_STR_PRINTDLG_PAGES              NC_("RID_STR_PRINTDLG_PAGES", "Pages:")
-#define RID_STR_PRINTDLG_PRINTALLPAGES      NC_("RID_STR_PRINTDLG_PRINTALLPAGES", "Print all pages")
-#define RID_STR_PRINTDLG_PRINTPAGES         NC_("RID_STR_PRINTDLG_PRINTPAGES", "Print pages")
-#define RID_STR_PRINTDLG_PRINTEVENPAGES     NC_("RID_STR_PRINTDLG_PRINTEVENPAGES", "Print even pages")
-#define RID_STR_PRINTDLG_PRINTODDPAGES      NC_("RID_STR_PRINTDLG_PRINTODDPAGES", "Print odd pages")
+#define RID_STR_PRINTDLG_PRINTALLPAGES      NC_("RID_STR_PRINTDLG_PRINTALLPAGES", "All ~Pages")
+#define RID_STR_PRINTDLG_PRINTPAGES         NC_("RID_STR_PRINTDLG_PRINTPAGES", "Pa~ges:")
+#define RID_STR_PRINTDLG_PRINTEVENPAGES     NC_("RID_STR_PRINTDLG_PRINTEVENPAGES", "~Even pages")
+#define RID_STR_PRINTDLG_PRINTODDPAGES      NC_("RID_STR_PRINTDLG_PRINTODDPAGES", "~Odd pages")
 #define RID_STR_BTNDEL                      NC_("RID_STR_BTNDEL", "~Delete")
 #define RID_STR_BTNNEW                      NC_("RID_STR_BTNNEW", "~New")
 #define RID_STR_CHOOSE                      NC_("RID_STR_CHOOSE", "Choose")
diff --git a/basctl/source/basicide/basicrenderable.cxx b/basctl/source/basicide/basicrenderable.cxx
index 7913c8a10d75..ee0116d368bf 100644
--- a/basctl/source/basicide/basicrenderable.cxx
+++ b/basctl/source/basicide/basicrenderable.cxx
@@ -42,6 +42,7 @@ Renderable::Renderable (BaseWindow* pWin)
     vcl::PrinterOptionsHelper::UIControlOptions aPrintRangeOpt;
     aPrintRangeOpt.maGroupHint = "PrintRange" ;
     aPrintRangeOpt.mbInternalOnly = true;
+
     m_aUIProperties[0].Value = setSubgroupControlOpt("printrange",
         IDEResId( RID_STR_PRINTDLG_PAGES ), OUString(), aPrintRangeOpt);
 
@@ -51,10 +52,17 @@ Renderable::Renderable (BaseWindow* pWin)
                                       IDEResId(RID_STR_PRINTDLG_PRINTPAGES),
                                       IDEResId(RID_STR_PRINTDLG_PRINTEVENPAGES),
                                       IDEResId(RID_STR_PRINTDLG_PRINTODDPAGES)};
-    const Sequence<OUString> aHelpIds{".HelpID:vcl:PrintDialog:PrintContent:ListBox"};
-    m_aUIProperties[1].Value = setChoiceListControlOpt( "printpagesbox", OUString(),
+    const Sequence<OUString> aHelpIds{".HelpID:vcl:PrintDialog:PrintContent:RadioButton:0",
+                                      ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:1",
+                                      ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:2",
+                                      ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:3"};
+    const Sequence<OUString> aWidgetIds{"rbAllPages",
+                                        "rbRangePages",
+                                        "rbEvenPages",
+                                        "rbOddPages"};
+    m_aUIProperties[1].Value = setChoiceRadiosControlOpt(aWidgetIds, OUString(),
                                                    aHelpIds, aPrintContentName,
-                                                   aChoices, 0 );
+                                                   aChoices, 0);
 
     // create a an Edit dependent on "Pages" selected
     vcl::PrinterOptionsHelper::UIControlOptions aPageRangeOpt(aPrintContentName, 1, true);
diff --git a/sc/inc/strings.hrc b/sc/inc/strings.hrc
index 682d02376a67..698494ffbef0 100644
--- a/sc/inc/strings.hrc
+++ b/sc/inc/strings.hrc
@@ -108,10 +108,10 @@
 #define SCSTR_PRINTOPT_SELECTEDSHEETS               NC_("SCSTR_PRINTOPT_SELECTEDSHEETS", "Print Selected Sheets")
 #define SCSTR_PRINTOPT_SELECTEDCELLS                NC_("SCSTR_PRINTOPT_SELECTEDCELLS", "Print Selected Cells")
 #define SCSTR_PRINTOPT_FROMWHICH                    NC_("SCSTR_PRINTOPT_FROMWHICH", "From which:")
-#define SCSTR_PRINTOPT_PRINTALLPAGES                NC_("SCSTR_PRINTOPT_PRINTALLPAGES", "Print all pages")
-#define SCSTR_PRINTOPT_PRINTPAGES                   NC_("SCSTR_PRINTOPT_PRINTPAGES", "Print pages")
-#define SCSTR_PRINTOPT_PRINTEVENPAGES               NC_("SCSTR_PRINTOPT_PRINTEVENPAGES", "Print even pages")
-#define SCSTR_PRINTOPT_PRINTODDPAGES                NC_("SCSTR_PRINTOPT_PRINTODDPAGES", "Print odd pages")
+#define SCSTR_PRINTOPT_PRINTALLPAGES                NC_("SCSTR_PRINTOPT_PRINTALLPAGES", "All ~Pages")
+#define SCSTR_PRINTOPT_PRINTPAGES                   NC_("SCSTR_PRINTOPT_PRINTPAGES", "Pa~ges:")
+#define SCSTR_PRINTOPT_PRINTEVENPAGES               NC_("SCSTR_PRINTOPT_PRINTEVENPAGES", "~Even pages")
+#define SCSTR_PRINTOPT_PRINTODDPAGES                NC_("SCSTR_PRINTOPT_PRINTODDPAGES", "~Odd pages")
 #define SCSTR_PRINTOPT_PRODNAME                     NC_("SCSTR_PRINTOPT_PRODNAME", "%PRODUCTNAME %s")
 #define SCSTR_WARN_ME_IN_FUTURE_CHECK               NC_("SCSTR_WARN_ME_IN_FUTURE_CHECK", "Warn me about this in the future.")
 #define SCSTR_DDEDOC_NOT_LOADED                     NC_("SCSTR_DDEDOC_NOT_LOADED", "The following DDE source could not be updated possibly because the source document was not open. Please launch the source document and try again." )
diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index 873411f60f57..507f1a1336b1 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -289,7 +289,7 @@ ScPrintUIOptions::ScPrintUIOptions()
         ScResId( SCSTR_PRINTOPT_SELECTEDCELLS )};
     uno::Sequence< OUString > aHelpIds{
         ".HelpID:vcl:PrintDialog:PrintContent:ListBox"};
-    m_aUIProperties[nIdx++].Value = setChoiceListControlOpt( "printpagesbox", OUString(),
+    m_aUIProperties[nIdx++].Value = setChoiceListControlOpt( "printextrabox", OUString(),
                                                     aHelpIds, "PrintContent",
                                                     aChoices, nContent );
 
@@ -302,13 +302,21 @@ ScPrintUIOptions::ScPrintUIOptions()
     // create a choice for the range to print
     OUString aPrintRangeName( "PrintRange" );
     aChoices.realloc( 4 );
-    aHelpIds.realloc( 1 );
+    aHelpIds.realloc( 4 );
+    uno::Sequence< OUString > aWidgetIds( 4 );
     aChoices[0] = ScResId( SCSTR_PRINTOPT_PRINTALLPAGES );
+    aHelpIds[0] = ".HelpID:vcl:PrintDialog:PrintRange:RadioButton:0";
+    aWidgetIds[0] = "rbAllPages";
     aChoices[1] = ScResId( SCSTR_PRINTOPT_PRINTPAGES );
+    aHelpIds[1] = ".HelpID:vcl:PrintDialog:PrintRange:RadioButton:1";
+    aWidgetIds[1] = "rbRangePages";
     aChoices[2] = ScResId( SCSTR_PRINTOPT_PRINTEVENPAGES );
+    aHelpIds[2] = ".HelpID:vcl:PrintDialog:PrintRange:RadioButton:2";
+    aWidgetIds[2] = "rbEvenPages";
     aChoices[3] = ScResId( SCSTR_PRINTOPT_PRINTODDPAGES );
-    aHelpIds[0] = ".HelpID:vcl:PrintDialog:PrintRange:ListBox";
-    m_aUIProperties[nIdx++].Value = setChoiceListControlOpt( "printextrabox", OUString(),
+    aHelpIds[3] = ".HelpID:vcl:PrintDialog:PrintRange:RadioButton:3";
+    aWidgetIds[3] = "rbOddPages";
+    m_aUIProperties[nIdx++].Value = setChoiceRadiosControlOpt(aWidgetIds, OUString(),
                                                     aHelpIds,
                                                     aPrintRangeName,
                                                     aChoices,
diff --git a/sd/inc/DocumentRenderer.hrc b/sd/inc/DocumentRenderer.hrc
index c47c6fd82797..1a86bfd31e7f 100644
--- a/sd/inc/DocumentRenderer.hrc
+++ b/sd/inc/DocumentRenderer.hrc
@@ -79,20 +79,20 @@ const char* STR_IMPRESS_PRINT_UI_BROCHURE_INCLUDE_LIST[] =
 
 const char* STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE[] =
 {
-    NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "Print all slides"),
-    NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "Print slides"),
-    NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "Print even slides"),
-    NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "Print odd slides"),
-    NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "Print selection")
+    NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "All ~Slides"),
+    NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "S~lides:"),
+    NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "~Even slides"),
+    NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "~Odd slides"),
+    NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "~Selection")
 };
 
 const char* STR_DRAW_PRINT_UI_PAGE_RANGE_CHOICE[] =
 {
-    NC_("STR_DRAW_PRINT_UI_PAGE_RANGE_CHOICE", "Print all pages"),
-    NC_("STR_DRAW_PRINT_UI_PAGE_RANGE_CHOICE", "Print pages"),
-    NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "Print even pages"),
-    NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "Print odd pages"),
-    NC_("STR_DRAW_PRINT_UI_PAGE_RANGE_CHOICE", "Print selection")
+    NC_("STR_DRAW_PRINT_UI_PAGE_RANGE_CHOICE", "All ~Pages"),
+    NC_("STR_DRAW_PRINT_UI_PAGE_RANGE_CHOICE", "~Pages:"),
+    NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "~Even pages"),
+    NC_("STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE", "~Odd pages"),
+    NC_("STR_DRAW_PRINT_UI_PAGE_RANGE_CHOICE", "~Selection")
 };
 
 #endif
diff --git a/sd/source/ui/view/DocumentRenderer.cxx b/sd/source/ui/view/DocumentRenderer.cxx
index 717ea0815d81..82ef1501770a 100644
--- a/sd/source/ui/view/DocumentRenderer.cxx
+++ b/sd/source/ui/view/DocumentRenderer.cxx
@@ -596,7 +596,7 @@ namespace {
                     nPrintRange = 1;
                 }
             }
-
+/*
             OUString aPrintRangeName( "PrintContent" );
             aHelpIds.realloc( 1 );
             aHelpIds[0] = ".HelpID:vcl:PrintDialog:PageContentType:ListBox";
@@ -605,7 +605,27 @@ namespace {
                                 mbImpress ? CreateChoice( STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE, SAL_N_ELEMENTS(STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE ) ) :
                                             CreateChoice( STR_DRAW_PRINT_UI_PAGE_RANGE_CHOICE, SAL_N_ELEMENTS(STR_DRAW_PRINT_UI_PAGE_RANGE_CHOICE ) ),
                                 nPrintRange ) );
-
+*/
+            OUString aPrintRangeName( "PrintContent" );
+            aHelpIds.realloc( 5 );
+            aHelpIds[0] = ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:0" ;
+            aHelpIds[1] = ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:1" ;
+            aHelpIds[2] = ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:2" ;
+            aHelpIds[3] = ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:3" ;
+            aHelpIds[4] = ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:4" ;
+            aWidgetIds.realloc( 5 );
+            aWidgetIds[0] = "rbAllPages";
+            aWidgetIds[1] = "rbRangePages";
+            aWidgetIds[2] = "rbEvenPages";
+            aWidgetIds[3] = "rbOddPages";
+            aWidgetIds[4] = "rbRangeSelection";
+
+            AddDialogControl( vcl::PrinterOptionsHelper::setChoiceRadiosControlOpt(aWidgetIds, OUString(),
+                                aHelpIds, aPrintRangeName,
+                                mbImpress ? CreateChoice(STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE, SAL_N_ELEMENTS(STR_IMPRESS_PRINT_UI_PAGE_RANGE_CHOICE)) :
+                                            CreateChoice(STR_DRAW_PRINT_UI_PAGE_RANGE_CHOICE, SAL_N_ELEMENTS(STR_DRAW_PRINT_UI_PAGE_RANGE_CHOICE)),
+                                nPrintRange )
+                            );
             // create a an Edit dependent on "Pages" selected
             vcl::PrinterOptionsHelper::UIControlOptions aPageRangeOpt( aPrintRangeName, 1, true );
             AddDialogControl(vcl::PrinterOptionsHelper::setEditControlOpt("pagerange", "",
diff --git a/sw/inc/strings.hrc b/sw/inc/strings.hrc
index ece360a2fb68..f094e5736947 100644
--- a/sw/inc/strings.hrc
+++ b/sw/inc/strings.hrc
@@ -609,11 +609,11 @@
 #define STR_PRINTOPTUI_LEFT_SCRIPT              NC_("STR_PRINTOPTUI_LEFT_SCRIPT", "Left-to-right script")
 #define STR_PRINTOPTUI_RIGHT_SCRIPT             NC_("STR_PRINTOPTUI_RIGHT_SCRIPT", "Right-to-left script")
 #define STR_PRINTOPTUI_RANGE_COPIES             NC_("STR_PRINTOPTUI_RANGE_COPIES", "Range and copies")
-#define STR_PRINTOPTUI_PRINTALLPAGES            NC_("STR_PRINTOPTUI_PRINTALLPAGES", "Print all pages")
-#define STR_PRINTOPTUI_PRINTPAGES               NC_("STR_PRINTOPTUI_PRINTPAGES", "Print pages")
-#define STR_PRINTOPTUI_PRINTEVENPAGES           NC_("STR_PRINTOPTUI_PRINTEVENPAGES", "Print even pages")
-#define STR_PRINTOPTUI_PRINTODDPAGES            NC_("STR_PRINTOPTUI_PRINTODDPAGES", "Print odd pages")
-#define STR_PRINTOPTUI_PRINTSELECTION           NC_("STR_PRINTOPTUI_PRINTSELECTION", "Print selection")
+#define STR_PRINTOPTUI_PRINTALLPAGES            NC_("STR_PRINTOPTUI_PRINTALLPAGES", "All ~Pages")
+#define STR_PRINTOPTUI_PRINTPAGES               NC_("STR_PRINTOPTUI_PRINTPAGES", "Pa~ges:")
+#define STR_PRINTOPTUI_PRINTEVENPAGES           NC_("STR_PRINTOPTUI_PRINTEVENPAGES", "~Even pages")
+#define STR_PRINTOPTUI_PRINTODDPAGES            NC_("STR_PRINTOPTUI_PRINTODDPAGES", "~Odd pages")
+#define STR_PRINTOPTUI_PRINTSELECTION           NC_("STR_PRINTOPTUI_PRINTSELECTION", "~Selection")
 #define STR_PRINTOPTUI_PLACE_MARGINS            NC_("STR_PRINTOPTUI_PLACE_MARGINS", "Place in margins")
 
 #define STR_FORMULA_CALC                        NC_("STR_FORMULA_CALC", "Functions")
diff --git a/sw/source/core/view/printdata.cxx b/sw/source/core/view/printdata.cxx
index 649f5fac7cec..fb7a62daf04b 100644
--- a/sw/source/core/view/printdata.cxx
+++ b/sw/source/core/view/printdata.cxx
@@ -274,27 +274,34 @@ SwPrintUIOptions::SwPrintUIOptions(
 
     // create a choice for the content to create
     const OUString aPrintRangeName( "PrintContent" );
-    uno::Sequence< OUString > aChoices( 4 );
-    uno::Sequence< OUString > aHelpIds( 1 );
-
-    aHelpIds[0] = ".HelpID:vcl:PrintDialog:PrintContent:ListBox";
-
+    uno::Sequence< OUString > aChoices( 5 );
+    uno::Sequence< sal_Bool > aChoicesDisabled( 5 );
+    uno::Sequence< OUString > aHelpIds( 5 );
+    uno::Sequence< OUString > aWidgetIds( 5 );
     aChoices[0] = SwResId( STR_PRINTOPTUI_PRINTALLPAGES );
+    aChoicesDisabled[0] = false;
+    aHelpIds[0] = ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:0";
+    aWidgetIds[0] = "rbAllPages";
     aChoices[1] = SwResId( STR_PRINTOPTUI_PRINTPAGES );
+    aChoicesDisabled[1] = false;
+    aHelpIds[1] = ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:1";
+    aWidgetIds[1] = "rbRangePages";
     aChoices[2] = SwResId( STR_PRINTOPTUI_PRINTEVENPAGES );
+    aChoicesDisabled[2] = false; //better disable for 1 page only
+    aHelpIds[2] = ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:2";
+    aWidgetIds[2] = "rbEvenPages";
     aChoices[3] = SwResId( STR_PRINTOPTUI_PRINTODDPAGES );
-    if ( bHasSelection )
-    {
-        aChoices.realloc( 5 );
-        aChoices[4] = SwResId( STR_PRINTOPTUI_PRINTSELECTION );
-    }
-
-    m_aUIProperties[ nIdx++ ].Value = setChoiceListControlOpt( "printpagesbox",
-                                                        OUString(),
-                                                        aHelpIds,
-                                                        aPrintRangeName,
-                                                        aChoices,
-                                                        0 /* always default to 'All pages' */ );
+    aChoicesDisabled[3] = false; //better disable for 1 page only
+    aHelpIds[3] = ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:3";
+    aWidgetIds[3] = "rbOddPages";
+    aChoices[4] = SwResId( STR_PRINTOPTUI_PRINTSELECTION );
+    aChoicesDisabled[4] = !bHasSelection;
+    aHelpIds[4] = ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:4";
+    aWidgetIds[4] = "rbRangeSelection";
+    m_aUIProperties[nIdx++].Value = setChoiceRadiosControlOpt(aWidgetIds, OUString(),
+                                                        aHelpIds, aPrintRangeName,
+                                                        aChoices, 0 /* always default to 'All pages' */,
+                                                        aChoicesDisabled);
 
     // show an Edit dependent on "Pages" selected
     vcl::PrinterOptionsHelper::UIControlOptions aPageRangeOpt( aPrintRangeName, 1, true );
diff --git a/vcl/uiconfig/ui/printdialog.ui b/vcl/uiconfig/ui/printdialog.ui
index 8ede860fa291..063d961e8bca 100644
--- a/vcl/uiconfig/ui/printdialog.ui
+++ b/vcl/uiconfig/ui/printdialog.ui
@@ -172,6 +172,7 @@
                 <property name="label">gtk-ok</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="has_default">True</property>
                 <property name="receives_default">True</property>
                 <property name="use_stock">True</property>
               </object>
@@ -381,715 +382,809 @@
                     <property name="scrollable">True</property>
                     <property name="enable_popup">True</property>
                     <child>
-                      <object class="GtkBox" id="box11">
+                      <object class="GtkScrolledWindow">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="margin_left">6</property>
-                        <property name="margin_right">6</property>
-                        <property name="margin_top">6</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">12</property>
+                        <property name="can_focus">True</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
+                        <property name="shadow_type">in</property>
+                        <property name="min_content_width">1076</property>
+                        <property name="min_content_height">600</property>
                         <child>
-                          <object class="GtkFrame" id="frame1">
+                          <object class="GtkViewport">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="label_xalign">0</property>
-                            <property name="shadow_type">none</property>
                             <child>
-                              <object class="GtkAlignment" id="alignment">
+                              <object class="GtkBox" id="box11">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="top_padding">6</property>
-                                <property name="left_padding">12</property>
+                                <property name="margin_left">6</property>
+                                <property name="margin_right">6</property>
+                                <property name="margin_top">6</property>
+                                <property name="margin_bottom">6</property>
+                                <property name="orientation">vertical</property>
+                                <property name="spacing">12</property>
                                 <child>
-                                  <object class="GtkBox" id="box5">
+                                  <object class="GtkFrame" id="frPrinterName">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="orientation">vertical</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <object class="GtkComboBox" id="printersbox">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
+                                    <property name="margin_left">6</property>
+                                    <property name="margin_right">6</property>
+                                    <property name="label_xalign">0</property>
+                                    <property name="shadow_type">none</property>
                                     <child>
-                                      <object class="GtkBox" id="box6">
+                                      <object class="GtkAlignment" id="alignment">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                        <property name="spacing">6</property>
-                                        <child>
-                                          <object class="GtkLabel" id="labelstatus">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="label" translatable="yes" context="printdialog|labelstatus">Status:</property>
-                                            <accessibility>
-                                              <relation type="label-for" target="status"/>
-                                            </accessibility>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
+                                        <property name="top_padding">6</property>
+                                        <property name="left_padding">12</property>
                                         <child>
-                                          <object class="GtkLabel" id="status">
+                                          <object class="GtkBox" id="box5">
                                             <property name="visible">True</property>
                                             <property name="can_focus">False</property>
-                                            <property name="label" translatable="yes" context="printdialog|status">Default Printer</property>
-                                            <accessibility>
-                                              <relation type="labelled-by" target="labelstatus"/>
-                                            </accessibility>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkButton" id="setup">
-                                            <property name="label" translatable="yes" context="printdialog|setup">Properties...</property>
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="receives_default">True</property>
-                                            <property name="halign">end</property>
+                                            <property name="orientation">vertical</property>
+                                            <property name="spacing">6</property>
+                                            <child>
+                                              <object class="GtkComboBox" id="printersbox">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">False</property>
+                                              </object>
+                                              <packing>
+                                                <property name="expand">False</property>
+                                                <property name="fill">True</property>
+                                                <property name="position">0</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkBox" id="box6">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">False</property>
+                                                <property name="spacing">6</property>
+                                                <child>
+                                                  <object class="GtkLabel" id="labelstatus">
+                                                    <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="label" translatable="yes" context="printdialog|labelstatus">Status:</property>
+                                                    <accessibility>
+                                                      <relation type="label-for" target="status"/>
+                                                    </accessibility>
+                                                  </object>
+                                                  <packing>
+                                                    <property name="expand">False</property>
+                                                    <property name="fill">True</property>
+                                                    <property name="position">0</property>
+                                                  </packing>
+                                                </child>
+                                                <child>
+                                                  <object class="GtkLabel" id="status">
+                                                    <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="label" translatable="yes" context="printdialog|status">Default Printer</property>
+                                                    <accessibility>
+                                                      <relation type="labelled-by" target="labelstatus"/>
+                                                    </accessibility>
+                                                  </object>
+                                                  <packing>
+                                                    <property name="expand">False</property>
+                                                    <property name="fill">True</property>
+                                                    <property name="position">1</property>
+                                                  </packing>
+                                                </child>
+                                                <child>
+                                                  <object class="GtkButton" id="setup">
+                                                    <property name="label" translatable="yes" context="printdialog|setup">Properties...</property>
+                                                    <property name="visible">True</property>
+                                                    <property name="can_focus">True</property>
+                                                    <property name="receives_default">True</property>
+                                                    <property name="halign">end</property>
+                                                  </object>
+                                                  <packing>
+                                                    <property name="expand">False</property>
+                                                    <property name="fill">True</property>
+                                                    <property name="pack_type">end</property>
+                                                    <property name="position">2</property>
+                                                  </packing>
+                                                </child>
+                                              </object>
+                                              <packing>
+                                                <property name="expand">False</property>
+                                                <property name="fill">True</property>
+                                                <property name="position">1</property>
+                                              </packing>
+                                            </child>
                                           </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">True</property>
-                                            <property name="pack_type">end</property>
-                                            <property name="position">2</property>
-                                          </packing>
                                         </child>
                                       </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">1</property>
-                                      </packing>
+                                    </child>
+                                    <child type="label">
+                                      <object class="GtkLabel" id="labelprinter">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes" context="printdialog|labelprinter">Printer</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">printersbox</property>
+                                        <attributes>
+                                          <attribute name="weight" value="bold"/>
+                                        </attributes>
+                                      </object>
                                     </child>
                                   </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">0</property>
+                                  </packing>
                                 </child>
-                              </object>
-                            </child>
-                            <child type="label">
-                              <object class="GtkLabel" id="labelprinter">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes" context="printdialog|labelprinter">Printer</property>
-                                <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">printersbox</property>
-                                <attributes>
-                                  <attribute name="weight" value="bold"/>
-                                </attributes>
-                              </object>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkFrame" id="frame2">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label_xalign">0</property>
-                            <property name="shadow_type">none</property>
-                            <child>
-                              <object class="GtkAlignment" id="alignment2">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="top_padding">6</property>
-                                <property name="left_padding">12</property>
                                 <child>
-                                  <object class="GtkBox" id="box7">
+                                  <object class="GtkFrame" id="frPrintRange">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="orientation">vertical</property>
-                                    <property name="spacing">6</property>
+                                    <property name="margin_left">6</property>
+                                    <property name="margin_right">6</property>
+                                    <property name="label_xalign">0</property>
+                                    <property name="shadow_type">none</property>
                                     <child>
-                                      <object class="GtkBox" id="box8">
+                                      <object class="GtkAlignment" id="alPrintRange">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                        <property name="spacing">6</property>
-                                        <child>
-                                          <object class="GtkLabel" id="labelcopies">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="halign">start</property>
-                                            <property name="margin_left">8</property>
-                                            <property name="label" translatable="yes" context="printdialog|labelcopies">Number of copies:</property>
-                                            <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">copycount</property>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkSpinButton" id="copycount">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="valign">center</property>
-                                            <property name="adjustment">adjustment2</property>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
+                                        <property name="top_padding">6</property>
+                                        <property name="left_padding">12</property>
                                         <child>
-                                          <object class="GtkBox" id="box9">
+                                          <object class="GtkGrid" id="grid1">
                                             <property name="visible">True</property>
                                             <property name="can_focus">False</property>
+                                            <property name="row_spacing">2</property>
+                                            <property name="column_spacing">6</property>
+                                            <child>
+                                              <object class="GtkRadioButton" id="rbAllPages">
+                                                <property name="label" translatable="yes" context="printdialog|rbAllPages">_All pages</property>
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">True</property>
+                                                <property name="receives_default">False</property>
+                                                <property name="halign">start</property>
+                                                <property name="margin_bottom">2</property>
+                                                <property name="active">True</property>
+                                                <property name="draw_indicator">True</property>
+                                              </object>
+                                              <packing>
+                                                <property name="left_attach">0</property>
+                                                <property name="top_attach">0</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkRadioButton" id="rbRangePages">
+                                                <property name="label" translatable="yes" context="printdialog|rbPageRange">_Pages:</property>
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">True</property>
+                                                <property name="receives_default">False</property>
+                                                <property name="halign">start</property>
+                                                <property name="margin_top">2</property>
+                                                <property name="margin_bottom">2</property>
+                                                <property name="active">True</property>
+                                                <property name="draw_indicator">True</property>
+                                                <property name="group">rbAllPages</property>
+                                              </object>
+                                              <packing>
+                                                <property name="left_attach">0</property>
+                                                <property name="top_attach">1</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkEntry" id="pagerange">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">False</property>
+                                                <property name="hexpand">True</property>
+                                                <property name="placeholder_text" translatable="yes" context="printdialog|pagerange">e.g.: 1, 3-5, 7, 9</property>
+                                              </object>
+                                              <packing>
+                                                <property name="left_attach">1</property>
+                                                <property name="top_attach">1</property>
+                                                <property name="width">2</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkRadioButton" id="rbEvenPages">
+                                                <property name="label" translatable="yes" context="printdialog|rmEvenPages">_Even pages</property>
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">True</property>
+                                                <property name="receives_default">False</property>
+                                                <property name="halign">start</property>
+                                                <property name="margin_top">2</property>
+                                                <property name="margin_bottom">2</property>
+                                                <property name="active">True</property>
+                                                <property name="draw_indicator">True</property>
+                                                <property name="group">rbAllPages</property>
+                                              </object>
+                                              <packing>
+                                                <property name="left_attach">0</property>
+                                                <property name="top_attach">2</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkRadioButton" id="rbOddPages">
+                                                <property name="label" translatable="yes" context="printdialog|rbOddPages">_Odd pages</property>
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">True</property>
+                                                <property name="receives_default">False</property>
+                                                <property name="halign">start</property>
+                                                <property name="margin_top">2</property>
+                                                <property name="margin_bottom">2</property>
+                                                <property name="active">True</property>
+                                                <property name="draw_indicator">True</property>
+                                                <property name="group">rbAllPages</property>
+                                              </object>
+                                              <packing>
+                                                <property name="left_attach">0</property>
+                                                <property name="top_attach">3</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkLabel" id="fromwhich">
+                                                <property name="can_focus">False</property>
+                                                <property name="halign">start</property>
+                                                <property name="label" translatable="yes" context="printdialog|fromwhich">_From which print:</property>
+                                                <property name="use_underline">True</property>
+                                                <property name="mnemonic_widget">printextrabox</property>
+                                              </object>
+                                              <packing>
+                                                <property name="left_attach">0</property>
+                                                <property name="top_attach">6</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkComboBox" id="printextrabox">
+                                                <property name="can_focus">False</property>
+                                                <property name="hexpand">True</property>
+                                              </object>
+                                              <packing>
+                                                <property name="left_attach">1</property>
+                                                <property name="top_attach">6</property>
+                                                <property name="width">2</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkLabel" id="labelpapersides">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">False</property>
+                                                <property name="halign">start</property>
+                                                <property name="label" translatable="yes" context="printdialog|labelpapersides">Paper _sides:</property>
+                                                <property name="use_underline">True</property>
+                                                <property name="mnemonic_widget">sidesbox</property>
+                                              </object>
+                                              <packing>
+                                                <property name="left_attach">0</property>
+                                                <property name="top_attach">7</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkComboBox" id="sidesbox">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">False</property>
+                                                <property name="hexpand">True</property>
+                                                <property name="model">liststore4</property>
+                                              </object>
+                                              <packing>
+                                                <property name="left_attach">1</property>
+                                                <property name="top_attach">7</property>
+                                                <property name="width">2</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkLabel" id="labelcopies">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">False</property>
+                                                <property name="halign">start</property>
+                                                <property name="label" translatable="yes" context="printdialog|labelcopies">_Number of copies:</property>
+                                                <property name="use_underline">True</property>
+                                                <property name="mnemonic_widget">copycount</property>
+                                              </object>
+                                              <packing>
+                                                <property name="left_attach">0</property>
+                                                <property name="top_attach">8</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkSpinButton" id="copycount">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">True</property>
+                                                <property name="valign">center</property>
+                                                <property name="hexpand">True</property>
+                                                <property name="adjustment">adjustment2</property>
+                                              </object>
+                                              <packing>
+                                                <property name="left_attach">1</property>
+                                                <property name="top_attach">8</property>
+                                              </packing>
+                                            </child>
                                             <child>
-                                              <object class="GtkCheckButton" id="collate">
-                                                <property name="label" translatable="yes" context="printdialog|collate">Collate</property>
+                                              <object class="GtkCheckButton" id="reverseorder">
+                                                <property name="label" translatable="yes" context="printdialog|reverseorder">Print in _reverse order</property>
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">True</property>
                                                 <property name="receives_default">False</property>
+                                                <property name="halign">start</property>
                                                 <property name="use_underline">True</property>
                                                 <property name="draw_indicator">True</property>
                                               </object>
                                               <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">0</property>
+                                                <property name="left_attach">1</property>
+                                                <property name="top_attach">9</property>
                                               </packing>
                                             </child>
                                             <child>
-                                              <object class="GtkImage" id="collateimage">
+                                              <object class="GtkBox" id="box9">
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">False</property>
-                                                <property name="stock">gtk-missing-image</property>
+                                                <property name="halign">end</property>
+                                                <property name="spacing">4</property>
+                                                <child>
+                                                  <object class="GtkCheckButton" id="collate">
+                                                    <property name="label" translatable="yes" context="printdialog|collate">_Collate</property>
+                                                    <property name="visible">True</property>
+                                                    <property name="can_focus">True</property>
+                                                    <property name="receives_default">False</property>
+                                                    <property name="use_underline">True</property>
+                                                    <property name="draw_indicator">True</property>
+                                                  </object>
+                                                  <packing>
+                                                    <property name="expand">False</property>
+                                                    <property name="fill">True</property>
+                                                    <property name="position">0</property>
+                                                  </packing>
+                                                </child>
+                                                <child>
+                                                  <object class="GtkImage" id="collateimage">
+                                                    <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="stock">gtk-missing-image</property>
+                                                  </object>
+                                                  <packing>
+                                                    <property name="expand">False</property>
+                                                    <property name="fill">True</property>
+                                                    <property name="position">1</property>
+                                                  </packing>
+                                                </child>
                                               </object>
                                               <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">1</property>
+                                                <property name="left_attach">2</property>
+                                                <property name="top_attach">8</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkLabel" id="cbPrintOrder">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">False</property>
+                                                <property name="halign">start</property>
+                                                <property name="label" translatable="yes" context="printdialog|cbPrintOrder">_Order:</property>
+                                                <property name="use_underline">True</property>
+                                                <property name="mnemonic_widget">reverseorder</property>
+                                              </object>
+                                              <packing>
+                                                <property name="left_attach">0</property>
+                                                <property name="top_attach">9</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkSeparator">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">False</property>
+                                              </object>
+                                              <packing>
+                                                <property name="left_attach">0</property>
+                                                <property name="top_attach">5</property>
+                                                <property name="width">3</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkRadioButton" id="rbRangeSelection">
+                                                <property name="label" translatable="yes" context="printdialog|rbRangeSelection">_Selection</property>
+                                                <property name="can_focus">True</property>
+                                                <property name="receives_default">False</property>
+                                                <property name="halign">start</property>
+                                                <property name="margin_top">2</property>
+                                                <property name="draw_indicator">True</property>
+                                                <property name="group">rbAllPages</property>
+                                              </object>
+                                              <packing>
+                                                <property name="left_attach">0</property>
+                                                <property name="top_attach">4</property>
                                               </packing>
                                             </child>
+                                            <child>
+                                              <placeholder/>
+                                            </child>
+                                            <child>
+                                              <placeholder/>
+                                            </child>
+                                            <child>
+                                              <placeholder/>
+                                            </child>
+                                            <child>
+                                              <placeholder/>
+                                            </child>
+                                            <child>
+                                              <placeholder/>
+                                            </child>
+                                            <child>
+                                              <placeholder/>
+                                            </child>
+                                            <child>
+                                              <placeholder/>
+                                            </child>
+                                            <child>
+                                              <placeholder/>
+                                            </child>
+                                            <child>
+                                              <placeholder/>
+                                            </child>
                                           </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">True</property>
-                                            <property name="pack_type">end</property>
-                                            <property name="position">2</property>
-                                          </packing>
                                         </child>
                                       </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkComboBox" id="printpagesbox">
-                                        <property name="can_focus">False</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">1</property>
-                                      </packing>
                                     </child>
-                                    <child>
-                                      <object class="GtkGrid" id="grid1">
+                                    <child type="label">
+                                      <object class="GtkLabel" id="label2">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                        <property name="halign">start</property>
-                                        <property name="orientation">vertical</property>
-                                        <property name="row_spacing">6</property>
-                                        <property name="column_spacing">6</property>
-                                        <child>
-                                          <object class="GtkLabel" id="printrange">
-                                            <property name="can_focus">False</property>
-                                            <property name="halign">start</property>
-                                            <property name="margin_left">6</property>
-                                            <property name="label" translatable="yes" context="printdialog|labelpages">Pages:</property>
-                                            <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">pagerange</property>
-                                            <accessibility>
-                                              <relation type="label-for" target="pagerange"/>
-                                            </accessibility>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">0</property>
-                                            <property name="top_attach">1</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkEntry" id="pagerange">
-                                            <property name="can_focus">True</property>
-                                            <property name="placeholder_text" translatable="yes" context="printdialog|pagerange">e.g.: 1, 3-5, 7, 9</property>
-                                            <accessibility>
-                                              <relation type="labelled-by" target="printrange"/>
-                                            </accessibility>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">1</property>
-                                            <property name="top_attach">1</property>
-                                            <property name="width">2</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkLabel" id="labelpapersides">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="halign">start</property>
-                                            <property name="margin_left">6</property>
-                                            <property name="label" translatable="yes" context="printdialog|labelpapersides">Paper sides:</property>
-                                            <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">sidesbox</property>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">0</property>
-                                            <property name="top_attach">2</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkComboBox" id="sidesbox">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="model">liststore4</property>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">1</property>
-                                            <property name="top_attach">2</property>
-                                            <property name="width">2</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkLabel" id="fromwhich">
-                                            <property name="can_focus">False</property>
-                                            <property name="halign">start</property>
-                                            <property name="margin_left">6</property>
-                                            <property name="label" translatable="yes" context="printdialog|fromwhich">From which print:</property>
-                                            <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">printextrabox</property>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">0</property>
-                                            <property name="top_attach">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkComboBox" id="printextrabox">
-                                            <property name="can_focus">False</property>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">1</property>
-                                            <property name="top_attach">0</property>
-                                            <property name="width">2</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkCheckButton" id="reverseorder">
-                                            <property name="label" translatable="yes" context="printdialog|reverseorder">Print in reverse order</property>
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="receives_default">False</property>
-                                            <property name="halign">start</property>
-                                            <property name="use_underline">True</property>
-                                            <property name="draw_indicator">True</property>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">0</property>
-                                            <property name="top_attach">3</property>
-                                            <property name="width">3</property>
-                                          </packing>
-                                        </child>
+                                        <property name="label" translatable="yes" context="printdialog|label2">Range and Copies</property>
+                                        <property name="mnemonic_widget">grid1</property>
+                                        <attributes>
+                                          <attribute name="weight" value="bold"/>
+                                        </attributes>
                                       </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">2</property>
-                                      </packing>
                                     </child>
                                   </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">1</property>
+                                  </packing>
                                 </child>
-                              </object>
-                            </child>
-                            <child type="label">
-                              <object class="GtkLabel" id="label2">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes" context="printdialog|label2">Range and Copies</property>
-                                <property name="mnemonic_widget">printpagesbox</property>
-                                <attributes>
-                                  <attribute name="weight" value="bold"/>
-                                </attributes>
-                              </object>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkFrame" id="layoutframe">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label_xalign">0</property>
-                            <property name="shadow_type">none</property>
-                            <child>
-                              <object class="GtkAlignment" id="alignment3">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="top_padding">6</property>
-                                <property name="left_padding">12</property>
                                 <child>
-                                  <object class="GtkGrid" id="grid3">
-                                    <property name="width_request">530</property>
+                                  <object class="GtkFrame" id="layoutframe">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="row_spacing">6</property>
-                                    <property name="column_spacing">6</property>
+                                    <property name="margin_left">6</property>
+                                    <property name="margin_right">6</property>
+                                    <property name="label_xalign">0</property>
+                                    <property name="shadow_type">none</property>
                                     <child>
-                                      <object class="GtkLabel" id="labelorientation">
+                                      <object class="GtkAlignment" id="alignment3">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                        <property name="halign">start</property>
-                                        <property name="label" translatable="yes" context="printdialog|labelorientation">Orientation:</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="mnemonic_widget">pageorientationbox</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">0</property>
-                                        <property name="top_attach">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="labelsize">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="halign">start</property>
-                                        <property name="label" translatable="yes" context="printdialog|labelsize">Paper size:</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="mnemonic_widget">papersizebox</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">0</property>
-                                        <property name="top_attach">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="labelorder">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="halign">start</property>
-                                        <property name="label" translatable="yes" context="printdialog|labelorder">Order:</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="mnemonic_widget">orderbox</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">0</property>
-                                        <property name="top_attach">6</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkComboBox" id="orderbox">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="hexpand">True</property>
-                                        <property name="model">liststore2</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">1</property>
-                                        <property name="top_attach">6</property>
-                                        <property name="width">3</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="vcllo-ShowNupOrderWindow" id="orderpreview">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="halign">center</property>
-                                        <property name="valign">start</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">4</property>
-                                        <property name="top_attach">2</property>
-                                        <property name="height">7</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkComboBox" id="pageorientationbox">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="model">liststore3</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">1</property>
-                                        <property name="top_attach">1</property>
-                                        <property name="width">4</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkComboBox" id="papersizebox">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">1</property>
-                                        <property name="top_attach">0</property>
-                                        <property name="width">4</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="pagemargintxt1">
-                                        <property name="can_focus">False</property>
-                                        <property name="halign">start</property>
-                                        <property name="margin_left">12</property>
-                                        <property name="label" translatable="yes" context="printdialog|pagemargintxt1">Margin:</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="mnemonic_widget">pagemarginsb:0mm</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">0</property>
-                                        <property name="top_attach">4</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="sheetmargintxt1">
-                                        <property name="can_focus">False</property>
-                                        <property name="halign">start</property>
-                                        <property name="margin_left">12</property>
-                                        <property name="label" translatable="yes" context="printdialog|sheetmargintxt1">Distance:</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="mnemonic_widget">sheetmarginsb:0mm</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">0</property>
-                                        <property name="top_attach">5</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkSpinButton" id="sheetmarginsb:0mm">
-                                        <property name="can_focus">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">1</property>
-                                        <property name="top_attach">4</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkSpinButton" id="pagemarginsb:0mm">
-                                        <property name="can_focus">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">1</property>
-                                        <property name="top_attach">5</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="pagemargintxt2">
-                                        <property name="can_focus">False</property>
-                                        <property name="halign">start</property>
-                                        <property name="margin_left">6</property>
-                                        <property name="label" translatable="yes" context="printdialog|pagemargintxt2">between pages</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">2</property>
-                                        <property name="top_attach">4</property>
-                                        <property name="width">2</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="sheetmargintxt2">

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list