X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f4aa7ec32b0e9181888f1bc9b291bb21d0e16561..9b3b7f55560a6e43bde4fe0692d08ab7d90c6cf8:/src/generic/progdlgg.cpp diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp index 7541a816bb..6af7fdfc65 100644 --- a/src/generic/progdlgg.cpp +++ b/src/generic/progdlgg.cpp @@ -1,11 +1,11 @@ ///////////////////////////////////////////////////////////////////////////// // Name: src/generic/progdlgg.cpp // Purpose: wxProgressDialog class -// Author: Karsten Ballüder +// Author: Karsten Ballueder // Modified by: // Created: 09.05.1999 // RCS-ID: $Id$ -// Copyright: (c) Karsten Ballüder +// Copyright: (c) Karsten Ballueder // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -97,7 +97,7 @@ wxProgressDialog::wxProgressDialog(wxString const &title, int maximum, wxWindow *parent, int style) - : wxDialog(parent, wxID_ANY, title), + : wxDialog(GetParentForModalDialog(parent), wxID_ANY, title), m_skip(false), m_delay(3), m_hasAbortButton(false), @@ -141,7 +141,7 @@ wxProgressDialog::wxProgressDialog(wxString const &title, wxClientDC dc(this); dc.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); - long widthText = 0; + wxCoord widthText = 0; dc.GetTextExtent(message, &widthText, NULL, NULL, NULL, NULL); wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL); @@ -176,7 +176,7 @@ wxProgressDialog::wxProgressDialog(wxString const &title, m_display_estimated = m_last_timeupdate = m_break = 0; m_ctdelay = 0; - // if we are going to have at least one label, remmeber it in this var + // if we are going to have at least one label, remember it in this var wxStaticText *label = NULL; // also count how many labels we really have @@ -261,9 +261,7 @@ wxProgressDialog::wxProgressDialog(wxString const &title, sizeDlg.y += 2*LAYOUT_MARGIN; // try to make the dialog not square but rectangular of reasonable width - sizeDlg.x = (wxCoord)wxMax(widthText, 4*sizeDlg.y/3); - sizeDlg.x *= 3; - sizeDlg.x /= 2; + sizeDlg.x = (wxCoord)wxMax(3*widthText/2, 4*sizeDlg.y/3); SetClientSize(sizeDlg); } @@ -338,12 +336,8 @@ wxProgressDialog::Update(int value, const wxString& newmsg, bool *skip) wxASSERT_MSG( value <= m_maximum, wxT("invalid progress value") ); - // fill up the gauge if value == maximum because this means that the dialog - // is going to close and the gauge shouldn't be partly empty in this case - if ( m_gauge && value <= m_maximum ) - { - m_gauge->SetValue(value == m_maximum ? value : value + 1); - } + if ( m_gauge ) + m_gauge->SetValue(value); UpdateMessage(newmsg);