]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/progdlgg.cpp
fixed typo in last commit
[wxWidgets.git] / src / generic / progdlgg.cpp
index cffe7fce243ffad824b18fd39e80dfca2bd687a4..ec7f57c95133ee0f03cdefd27483915cb3f98b70 100644 (file)
@@ -261,7 +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 = (wxCoord)wxMax(widthText*2, 4*sizeDlg.y/3);
         sizeDlg.x *= 3;
         sizeDlg.x /= 2;
         SetClientSize(sizeDlg);
@@ -438,18 +438,9 @@ wxProgressDialog::Update(int value, const wxString& newmsg, bool *skip)
             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
@@ -458,8 +449,7 @@ wxProgressDialog::Update(int value, const wxString& newmsg, bool *skip)
     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") );
 
@@ -477,11 +467,18 @@ wxProgressDialog::UpdatePulse(const wxString& newmsg, bool *skip)
         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;