X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9a2256da180bfcc5f216239646cede7c11d0bdc4..6493aacaeb7b22b9fa35c559f7753e9fec0da71f:/src/generic/progdlgg.cpp diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp index 72a85e1210..c261d63be4 100644 --- a/src/generic/progdlgg.cpp +++ b/src/generic/progdlgg.cpp @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "progdlgg.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -39,12 +35,12 @@ #include "wx/event.h" #include "wx/gauge.h" #include "wx/intl.h" - #include "wx/settings.h" #include "wx/dcclient.h" #include "wx/timer.h" #endif #include "wx/generic/progdlgg.h" +#include "wx/settings.h" // --------------------------------------------------------------------------- // macros @@ -114,6 +110,8 @@ wxProgressDialog::wxProgressDialog(wxString const &title, m_hasAbortButton = (style & wxPD_CAN_ABORT) != 0; m_hasSkipButton = (style & wxPD_CAN_SKIP) != 0; + bool isPda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA); + #if defined(__WXMSW__) && !defined(__WXUNIVERSAL__) // we have to remove the "Close" button from the title bar then as it is // confusing to have it - it doesn't work anyhow @@ -143,7 +141,7 @@ wxProgressDialog::wxProgressDialog(wxString const &title, wxClientDC dc(this); dc.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); - long widthText; + long widthText = 0; dc.GetTextExtent(message, &widthText, NULL, NULL, NULL, NULL); wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL); @@ -258,13 +256,16 @@ wxProgressDialog::wxProgressDialog(wxString const &title, SetSizerAndFit(sizer); - sizeDlg.y += 2*LAYOUT_MARGIN; + if (!isPda) + { + sizeDlg.y += 2*LAYOUT_MARGIN; - // try to make the dialog not square but rectangular of reasonabel width - sizeDlg.x = (wxCoord)wxMax(widthText, 4*sizeDlg.y/3); - sizeDlg.x *= 3; - sizeDlg.x /= 2; - SetClientSize(sizeDlg); + // 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; + SetClientSize(sizeDlg); + } Centre(wxCENTER_FRAME | wxBOTH); @@ -422,7 +423,7 @@ wxProgressDialog::Update(int value, const wxString& newmsg, bool *skip) EnableCloseButton(); #endif // __WXMSW__ - if ( !newmsg.empty() ) + if ( newmsg.empty() ) { // also provide the finishing message if the application didn't m_msg->SetLabel(_("Done."));