diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-03-26 13:05:17 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-03-26 16:03:38 +0100 |
commit | 8a109230486166b36c1a097b838c9d0a1d2af1c3 (patch) | |
tree | 02da7a049d23a2e3e0abf9c35271a895dba62a4f /vcl/source/window/printdlg.cxx | |
parent | 830345be2d96d8f699e8cbf33646721fa8c65baf (diff) |
weld PrintProgressDialog
Change-Id: Icb37642bf3ef0ddd1b31d25b80564cdcbb86e653
Reviewed-on: https://gerrit.libreoffice.org/69743
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/source/window/printdlg.cxx')
-rw-r--r-- | vcl/source/window/printdlg.cxx | 42 |
1 files changed, 14 insertions, 28 deletions
diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx index 36a84c8bc2d0..2ab9b47a1106 100644 --- a/vcl/source/window/printdlg.cxx +++ b/vcl/source/window/printdlg.cxx @@ -2129,55 +2129,41 @@ void PrintDialog::previewBackward() mpPageEdit->Down(); } - // PrintProgressDialog - -PrintProgressDialog::PrintProgressDialog(vcl::Window* i_pParent, int i_nMax) - : ModelessDialog(i_pParent, "PrintProgressDialog", "vcl/ui/printprogressdialog.ui") +PrintProgressDialog::PrintProgressDialog(weld::Window* i_pParent, int i_nMax) + : GenericDialogController(i_pParent, "vcl/ui/printprogressdialog.ui", "PrintProgressDialog") , mbCanceled(false) , mnCur(0) , mnMax(i_nMax) + , mxText(m_xBuilder->weld_label("label")) + , mxProgress(m_xBuilder->weld_progress_bar("progressbar")) + , mxButton(m_xBuilder->weld_button("cancel")) { - get(mpButton, "cancel"); - get(mpProgress, "progressbar"); - get(mpText, "label"); - if( mnMax < 1 ) mnMax = 1; - maStr = mpText->GetText(); + maStr = mxText->get_label(); //just multiply largest value by 10 and take the width of that string as //the max size we will want OUString aNewText( maStr.replaceFirst( "%p", OUString::number( mnMax * 10 ) ) ); aNewText = aNewText.replaceFirst( "%n", OUString::number( mnMax * 10 ) ); - mpText->SetText( aNewText ); - mpText->set_width_request(mpText->get_preferred_size().Width()); + mxText->set_label( aNewText ); + mxText->set_size_request(mxText->get_preferred_size().Width(), -1); //Pick a useful max width - mpProgress->set_width_request(mpProgress->LogicToPixel(Size(100, 0), MapMode(MapUnit::MapAppFont)).Width()); - - mpButton->SetClickHdl( LINK( this, PrintProgressDialog, ClickHdl ) ); + mxProgress->set_size_request(mxProgress->get_approximate_digit_width() * 25, -1); + mxButton->connect_clicked( LINK( this, PrintProgressDialog, ClickHdl ) ); } PrintProgressDialog::~PrintProgressDialog() { - disposeOnce(); -} - -void PrintProgressDialog::dispose() -{ - mpText.clear(); - mpProgress.clear(); - mpButton.clear(); - ModelessDialog::dispose(); } -IMPL_LINK( PrintProgressDialog, ClickHdl, Button*, pButton, void ) +IMPL_LINK_NOARG(PrintProgressDialog, ClickHdl, weld::Button&, void) { - if( pButton == mpButton ) - mbCanceled = true; + mbCanceled = true; } void PrintProgressDialog::setProgress( int i_nCurrent ) @@ -2187,11 +2173,11 @@ void PrintProgressDialog::setProgress( int i_nCurrent ) if( mnMax < 1 ) mnMax = 1; - mpProgress->SetValue(mnCur*100/mnMax); + mxProgress->set_percentage(mnCur*100/mnMax); OUString aNewText( maStr.replaceFirst( "%p", OUString::number( mnCur ) ) ); aNewText = aNewText.replaceFirst( "%n", OUString::number( mnMax ) ); - mpText->SetText( aNewText ); + mxText->set_label( aNewText ); } void PrintProgressDialog::tick() |