diff options
author | Daniel Silva <danielfaleirosilva@gmail.com> | 2018-06-18 14:52:16 -0300 |
---|---|---|
committer | Daniel Silva <danielfaleirosilva@gmail.com> | 2018-11-29 13:02:16 -0200 |
commit | 226ede405ed4549b7652c9a8421af37511e0046a (patch) | |
tree | 3b124c4b813a5413a2d9d24e2f1e6e53675d63aa /vcl | |
parent | 76e22667625ce8d16dfaa8617a199b774e987a70 (diff) |
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 <danielfaleirosilva@gmail.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/inc/printdlg.hxx | 1 | ||||
-rw-r--r-- | vcl/source/window/printdlg.cxx | 31 | ||||
-rw-r--r-- | vcl/uiconfig/ui/printdialog.ui | 182 |
3 files changed, 159 insertions, 55 deletions
diff --git a/vcl/inc/printdlg.hxx b/vcl/inc/printdlg.hxx index b09a0922a13b..468ea03a11ac 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 61f63293b4fd..9ace0dd8ef7a 100644 --- a/vcl/source/window/printdlg.cxx +++ b/vcl/source/window/printdlg.cxx @@ -520,6 +520,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"); @@ -640,6 +641,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 ); } @@ -691,6 +694,7 @@ void PrintDialog::dispose() mpNupOrientationBox.clear(); mpNupOrderBox.clear(); mpNupOrderWin.clear(); + mpNupOrderTxt.clear(); mpBorderCB.clear(); ModalDialog::dispose(); } @@ -1025,10 +1029,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 ); @@ -1233,8 +1255,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 ); @@ -1583,12 +1604,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> |