X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ef8698d677c97b2d662ee1c5adbdaadf58103e0e..4b7b750dd1ffd0d26b78728adb613b282a37c058:/src/generic/progdlgg.cpp?ds=sidebyside diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp index e9c031ab2a..da963d14fd 100644 --- a/src/generic/progdlgg.cpp +++ b/src/generic/progdlgg.cpp @@ -92,6 +92,18 @@ wxProgressDialog::wxProgressDialog(wxString const &title, m_windowStyle |= style; bool hasAbortButton = (style & wxPD_CAN_ABORT) != 0; + +#ifdef __WXMSW__ + // we have to remove the "Close" button from the title bar then as it is + // confusing to have it - it doesn't work anyhow + // + // FIXME: should probably have a (extended?) window style for this + if ( !hasAbortButton ) + { + EnableCloseButton(FALSE); + } +#endif // wxMSW + m_state = hasAbortButton ? Continue : Uncancelable; m_maximum = maximum; @@ -123,13 +135,13 @@ wxProgressDialog::wxProgressDialog(wxString const &title, if ( maximum > 0 ) { + // note that we can't use wxGA_SMOOTH because it happens to also mean + // wxDIALOG_MODAL and will cause the dialog to be modal. Have an extra + // style argument to wxProgressDialog, perhaps. m_gauge = new wxGauge(this, -1, maximum, - wxDefaultPosition, wxDefaultSize, - wxGA_HORIZONTAL | wxRAISED_BORDER); -// Sorry, but wxGA_SMOOTH happens to also mean wxDIALOG_MODAL and will -// cause the dialog to be modal. Have an extra style argument to wxProgressDialog, -// perhaps. -// wxGA_HORIZONTAL | wxRAISED_BORDER | (style & wxGA_SMOOTH)); + wxDefaultPosition, wxDefaultSize, + wxGA_HORIZONTAL); + c = new wxLayoutConstraints; c->left.SameAs(this, wxLeft, 2*LAYOUT_X_MARGIN); c->top.Below(m_msg, 2*LAYOUT_Y_MARGIN); @@ -154,6 +166,7 @@ wxProgressDialog::wxProgressDialog(wxString const &title, nTimeLabels++; m_elapsed = CreateLabel(_("Elapsed time : "), &lastWindow); + SetTimeLabel(0, m_elapsed); } if ( style & wxPD_ESTIMATED_TIME ) @@ -309,6 +322,12 @@ wxProgressDialog::Update(int value, const wxString& newmsg) // tell the user what he should do... m_btnAbort->SetLabel(_("Close")); } +#ifdef __WXMSW__ + else // enable the close button to give the user a way to close the dlg + { + EnableCloseButton(TRUE); + } +#endif // __WXMSW__ if ( !newmsg ) {