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 = (wxCoord)wxMax(widthText*2, 4*sizeDlg.y/3);
sizeDlg.x *= 3;
sizeDlg.x /= 2;
SetClientSize(sizeDlg);
Hide();
}
}
- else
+ else // not at maximum yet
{
- // we have to yield because not only we want to update the display but
- // also to process the clicks on the cancel and skip buttons
- wxYieldIfNeeded() ;
-
- if ( (m_skip) && (skip != NULL) && (*skip == false) )
- {
- *skip = true;
- m_skip = false;
- EnableSkip();
- }
+ return DoAfterUpdate(skip);
}
// update the display in case yielding above didn't do it
return m_state != Canceled;
}
-bool
-wxProgressDialog::UpdatePulse(const wxString& newmsg, bool *skip)
+bool wxProgressDialog::Pulse(const wxString& newmsg, bool *skip)
{
wxASSERT_MSG( m_gauge, wxT("cannot update non existent dialog") );
SetTimeLabel((unsigned long)-1, m_remaining);
}
+ return DoAfterUpdate(skip);
+}
+
+bool wxProgressDialog::DoAfterUpdate(bool *skip)
+{
// we have to yield because not only we want to update the display but
// also to process the clicks on the cancel and skip buttons
- wxYieldIfNeeded() ;
+ wxYieldIfNeeded();
+
+ Update();
- if ( (m_skip) && (skip != NULL) && (*skip == false) )
+ if ( m_skip && skip && !*skip )
{
*skip = true;
m_skip = false;