vcl/inc/printdlg.hxx | 1 vcl/source/window/printdlg.cxx | 31 +++++- vcl/uiconfig/ui/printdialog.ui | 182 +++++++++++++++++++++++++++++------------ 3 files changed, 159 insertions(+), 55 deletions(-)
New commits: commit 18acebfc14fac1e2645218ee929b9c63c7320e35 Author: Daniel Silva <danielfaleirosi...@gmail.com> Date: Mon Jun 18 14:52:16 2018 -0300 Sets pages per sheet and brochure in print dialog Change-Id: Iee6fea72cee02d9ffd00b81511382992aad72e61 Reviewed-on: https://gerrit.libreoffice.org/56057 Tested-by: Jenkins Reviewed-by: Daniel Silva <danielfaleirosi...@gmail.com> diff --git a/vcl/inc/printdlg.hxx b/vcl/inc/printdlg.hxx index 2baa21dc53d3..5264fa506034 100644 --- a/vcl/inc/printdlg.hxx +++ b/vcl/inc/printdlg.hxx @@ -164,6 +164,7 @@ namespace vcl VclPtr<ListBox> mpNupOrientationBox; // page order ("left to right, then down") + VclPtr<FixedText> mpNupOrderTxt; VclPtr<ListBox> mpNupOrderBox; VclPtr<ShowNupOrderWindow> mpNupOrderWin; /// border around each page diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx index 967b88335b09..97c3bca84689 100644 --- a/vcl/source/window/printdlg.cxx +++ b/vcl/source/window/printdlg.cxx @@ -518,6 +518,7 @@ PrintDialog::PrintDialog(vcl::Window* i_pWindow, const std::shared_ptr<PrinterCo get(mpNupOrderWin, "orderpreview"); get(mpNupPagesBox, "pagespersheetbox"); get(mpNupOrientationBox, "pageorientationbox"); + get(mpNupOrderTxt, "labelorder"); get(mpNupOrderBox, "orderbox"); get(mpPagesBtn, "pagespersheetbtn"); get(mpBrochureBtn, "brochure"); @@ -639,6 +640,8 @@ PrintDialog::PrintDialog(vcl::Window* i_pWindow, const std::shared_ptr<PrinterCo mpCopyCountField->SetModifyHdl( LINK( this, PrintDialog, ModifyHdl ) ); mpNupColEdt->SetModifyHdl( LINK( this, PrintDialog, ModifyHdl ) ); mpNupRowsEdt->SetModifyHdl( LINK( this, PrintDialog, ModifyHdl ) ); + mpPageMarginEdt->SetModifyHdl( LINK( this, PrintDialog, ModifyHdl ) ); + mpSheetMarginEdt->SetModifyHdl( LINK( this, PrintDialog, ModifyHdl ) ); preparePreview( true, true ); } @@ -690,6 +693,7 @@ void PrintDialog::dispose() mpNupOrientationBox.clear(); mpNupOrderBox.clear(); mpNupOrderWin.clear(); + mpNupOrderTxt.clear(); mpBorderCB.clear(); ModalDialog::dispose(); } @@ -1024,10 +1028,28 @@ void PrintDialog::updateNupFromPages() mpSheetMarginEdt->SetValue( mpSheetMarginEdt->Normalize( nSheetMargin ), FUNIT_100TH_MM ); showAdvancedControls( bCustom ); - updateNup(); } +void PrintDialog::enableNupControls( bool bEnable ) +{ + mpNupPagesBox->Enable( bEnable ); + mpNupNumPagesTxt->Enable( bEnable ); + mpNupColEdt->Enable( bEnable ); + mpNupTimesTxt->Enable( bEnable ); + mpNupRowsEdt->Enable( bEnable ); + mpPageMarginTxt1->Enable( bEnable ); + mpPageMarginEdt->Enable( bEnable ); + mpPageMarginTxt2->Enable( bEnable ); + mpSheetMarginTxt1->Enable( bEnable ); + mpSheetMarginEdt->Enable( bEnable ); + mpSheetMarginTxt2->Enable( bEnable ); + mpNupOrderTxt->Enable( bEnable ); + mpNupOrderBox->Enable( bEnable ); + mpNupOrderWin->Enable( bEnable ); + mpBorderCB->Enable( bEnable ); +} + void PrintDialog::showAdvancedControls( bool i_bShow ) { mpNupNumPagesTxt->Show( i_bShow ); @@ -1232,8 +1254,7 @@ void PrintDialog::setupOptionalUI() else if( aCtrlType == "Bool" && aGroupingHint == "LayoutPage" && aPropertyName == "PrintProspect" ) { mpBrochureBtn->SetText( aText ); - // FIXME: Brochure button is still not working, so it is hidden for now - // mpBrochureBtn->Show(); + mpBrochureBtn->Show(); bool bVal = false; PropertyValue* pVal = maPController->getValue( aPropertyName ); @@ -1582,12 +1603,12 @@ IMPL_LINK ( PrintDialog, ClickHdl, Button*, pButton, void ) mpNupPagesBox->SelectEntryPos( 0 ); updateNupFromPages(); showAdvancedControls( false ); - //enableNupControls( false ); + enableNupControls( false ); } } else if( pButton == mpPagesBtn ) { - //enableNupControls( true ); + enableNupControls( true ); updateNupFromPages(); } else if( pButton == mpCollateBox ) diff --git a/vcl/uiconfig/ui/printdialog.ui b/vcl/uiconfig/ui/printdialog.ui index f7b7de2db876..4775d131fab5 100644 --- a/vcl/uiconfig/ui/printdialog.ui +++ b/vcl/uiconfig/ui/printdialog.ui @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.20.0 --> +<!-- Generated with glade 3.20.4 --> <interface domain="vcl"> <requires lib="gtk+" version="3.18"/> <requires lib="LibreOffice" version="1.0"/> @@ -29,6 +29,64 @@ <property name="stock">gtk-media-next</property> <property name="icon_size">1</property> </object> + <object class="GtkListStore" id="liststore1"> + <columns> + <!-- column-name gchararray --> + <column type="gchararray"/> + <!-- column-name gint --> + <column type="gint"/> + </columns> + <data> + <row> + <col id="0" context="printdialog|liststore1">1</col> + <col id="1">1</col> + </row> + <row> + <col id="0" context="printdialog|liststore1">2</col> + <col id="1">2</col> + </row> + <row> + <col id="0" context="printdialog|liststore1">4</col> + <col id="1">4</col> + </row> + <row> + <col id="0" context="printdialog|liststore1">6</col> + <col id="1">6</col> + </row> + <row> + <col id="0" context="printdialog|liststore1">9</col> + <col id="1">9</col> + </row> + <row> + <col id="0" context="printdialog|liststore1">16</col> + <col id="1">16</col> + </row> + <row> + <col id="0" translatable="yes" context="printdialog|liststore1">Custom</col> + <col id="1">65535</col> + </row> + </data> + </object> + <object class="GtkListStore" id="liststore2"> + <columns> + <!-- column-name gchararray --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes" context="printdialog|liststore2">left to right, then down</col> + </row> + <row> + <col id="0" translatable="yes" context="printdialog|liststore2">top to bottom, then right</col> + </row> + <row> + <col id="0" translatable="yes" context="printdialog|liststore2">top to bottom, then left</col> + </row> + <row> + <col id="0" translatable="yes" context="printdialog|liststore2">right to left, then down</col> + </row> + </data> + </object> <object class="GtkDialog" id="PrintDialog"> <property name="can_focus">False</property> <property name="type_hint">dialog</property> @@ -125,14 +183,14 @@ <property name="orientation">vertical</property> <property name="spacing">6</property> <child> - <object class="GtkBox"> + <object class="GtkBox" id="box13"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="orientation">vertical</property> <child> <object class="vcllo-PrintPreviewWindow" id="preview"> - <property name="width_request">427</property> - <property name="height_request">600</property> + <property name="width_request">463</property> + <property name="height_request">650</property> <property name="visible">True</property> <property name="can_focus">False</property> </object> @@ -144,7 +202,7 @@ </child> </object> <packing> - <property name="expand">False</property> + <property name="expand">True</property> <property name="fill">True</property> <property name="position">0</property> </packing> @@ -354,13 +412,12 @@ <object class="GtkNotebook" id="tabcontrol"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="vexpand">True</property> <child> <object class="GtkBox" id="box11"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="orientation">vertical</property> - <property name="spacing">10</property> + <property name="spacing">6</property> <child> <object class="GtkFrame" id="frame1"> <property name="visible">True</property> @@ -573,7 +630,6 @@ </child> <child> <object class="GtkComboBox" id="printpagesbox"> - <property name="visible">False</property> <property name="can_focus">False</property> </object> <packing> @@ -592,7 +648,6 @@ <property name="column_spacing">3</property> <child> <object class="GtkLabel" id="printrange"> - <property name="visible">False</property> <property name="can_focus">False</property> <property name="halign">center</property> <property name="label" translatable="yes" context="printdialog|labelpages">Pages:</property> @@ -604,7 +659,6 @@ </child> <child> <object class="GtkEntry" id="pagerange"> - <property name="visible">False</property> <property name="can_focus">True</property> <property name="placeholder_text" translatable="yes" context="printdialog|pagerange">e.g.: 1, 3-5, 7, 9</property> </object> @@ -774,6 +828,7 @@ <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> @@ -782,23 +837,11 @@ </packing> </child> <child> - <object class="GtkComboBox" id="pagespersheetbox"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="hexpand">True</property> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">2</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="hexpand">True</property> - <property name="stock">gtk-missing-image</property> + <property name="halign">center</property> + <property name="valign">start</property> </object> <packing> <property name="left_attach">4</property> @@ -891,32 +934,6 @@ </packing> </child> <child> - <object class="GtkRadioButton" id="pagespersheetbtn"> - <property name="label" translatable="yes" context="printdialog|pagespersheetbtn">Pages per sheet</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="active">True</property> - <property name="draw_indicator">True</property> - <property name="group">brochure</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">2</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="pagespersheettxt"> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="printdialog|pagespersheettxt">Pages</property> - <property name="mnemonic_widget">pagerows</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">3</property> - </packing> - </child> - <child> <object class="GtkRadioButton" id="brochure"> <property name="label" translatable="yes" context="printdialog|brochure">Brochure</property> <property name="visible">True</property> @@ -977,6 +994,68 @@ <property name="width">4</property> </packing> </child> + <child> + <object class="GtkBox" id="box12"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">3</property> + <child> + <object class="GtkRadioButton" id="pagespersheetbtn"> + <property name="label" translatable="yes" context="printdialog|pagespersheetbtn">Pages per sheet</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="active">True</property> + <property name="draw_indicator">True</property> + <property name="group">brochure</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="pagespersheettxt"> + <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">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="pagestxt"> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="printdialog|pagespersheettxt">Pages</property> + <property name="mnemonic_widget">pagerows</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="pagespersheetbox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="model">liststore1</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + <property name="width">3</property> + </packing> + </child> </object> </child> <child type="label"> @@ -1066,5 +1145,8 @@ </child> </object> </child> + <child> + <placeholder/> + </child> </object> </interface> _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits