summaryrefslogtreecommitdiff
path: root/vcl/source/window/printdlg.cxx
diff options
context:
space:
mode:
authorMichael Weghorn <m.weghorn@posteo.de>2019-11-08 14:52:55 +0100
committerMichael Weghorn <m.weghorn@posteo.de>2019-11-09 00:18:39 +0100
commitd456ca6efb98d707427228e8131dfe8a5f27e2f6 (patch)
treeea4d2f71272b10425e4f1313a3c467a865680415 /vcl/source/window/printdlg.cxx
parentdfb2a1a96f6243373419a3ffbecc15aa04fed3ec (diff)
tdf#41205 Auto-focus range edit in print dialog
Auto-select the page range edit when the "Pages" radio button is selected in the print dialog, to allow for easy insertion of the pages to print. S.a. commit 6087dc9cddde7052258996389d561f415ebee13c ("filter: PDF Export UI "page range" autofocus") which did basically the same for the PDF export dialog. Change-Id: Iff7a9292c4874952e67218d83aafc4bc76b1e5b7 Reviewed-on: https://gerrit.libreoffice.org/82310 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Diffstat (limited to 'vcl/source/window/printdlg.cxx')
-rw-r--r--vcl/source/window/printdlg.cxx10
1 files changed, 7 insertions, 3 deletions
diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx
index 87d578c6f894..079ce29ebb6f 100644
--- a/vcl/source/window/printdlg.cxx
+++ b/vcl/source/window/printdlg.cxx
@@ -521,6 +521,8 @@ PrintDialog::PrintDialog(weld::Window* i_pWindow, const std::shared_ptr<PrinterC
, mxCopyCountField(m_xBuilder->weld_spin_button("copycount"))
, mxCollateBox(m_xBuilder->weld_check_button("collate"))
, mxCollateImage(m_xBuilder->weld_image("collateimage"))
+ , mxPageRangeEdit(m_xBuilder->weld_entry("pagerange"))
+ , mxPageRangesRadioButton(m_xBuilder->weld_radio_button("rbRangePages"))
, mxPaperSidesBox(m_xBuilder->weld_combo_box("sidesbox"))
, mxReverseOrderBox(m_xBuilder->weld_check_button("reverseorder"))
, mxOKButton(m_xBuilder->weld_button("ok"))
@@ -1647,10 +1649,8 @@ void PrintDialog::setupOptionalUI()
// update enable states
checkOptionalControlDependencies();
- std::unique_ptr<weld::Widget> xPageRange = m_xBuilder->weld_widget("pagerange");
-
// print range not shown (currently math only) -> hide spacer line and reverse order
- if (!xPageRange || !xPageRange->get_visible())
+ if (!mxPageRangeEdit->get_visible())
{
mxReverseOrderBox->hide();
}
@@ -2048,6 +2048,10 @@ IMPL_LINK( PrintDialog, UIOption_RadioHdl, weld::ToggleButton&, i_rBtn, void )
checkOptionalControlDependencies();
+ // tdf#41205 give focus to the page range edit if the corresponding radio button was selected
+ if (pVal->Name == "PrintContent" && mxPageRangesRadioButton->get_active())
+ mxPageRangeEdit->grab_focus();
+
// update preview and page settings
preparePreview(false);
}