X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8826f46f0d755eba7996920da2aee45946bc6144..34636400a0018eba4a1f63dda18cf32e944b959e:/src/common/prntbase.cpp?ds=sidebyside diff --git a/src/common/prntbase.cpp b/src/common/prntbase.cpp index 26a1a2f52a..71843dd88c 100644 --- a/src/common/prntbase.cpp +++ b/src/common/prntbase.cpp @@ -366,42 +366,26 @@ void wxPreviewControlBar::CreateButtons() x += gap + buttonWidth; } - // Yes, this look stupid, but this is because gcc gives up otherwise. - wxString *choices = new wxString[23]; - choices[0] = "10%"; - choices[1] = "15%"; - choices[2] = "20%"; - choices[3] = "25%"; - choices[4] = "30%"; - choices[5] = "35%"; - choices[6] = "40%"; - choices[7] = "45%"; - choices[8] = "50%"; - choices[9] = "55%"; - choices[10] = "60%"; - choices[11] = "65%"; - choices[12] = "70%"; - choices[13] = "75%"; - choices[14] = "80%"; - choices[15] = "85%"; - choices[16] = "90%"; - choices[17] = "95%"; - choices[18] = "100%"; - choices[19] = "110%"; - choices[20] = "120%"; - choices[21] = "150%"; - choices[22] = "200%"; - - int n = 23; if (m_buttonFlags & wxPREVIEW_ZOOM) { - m_zoomControl = new wxChoice(this, wxID_PREVIEW_ZOOM, wxPoint(x, y), - wxSize(100, -1), n, (wxString *)choices); + static const char *choices[] = + { + "10%", "15%", "20%", "25%", "30%", "35%", "40%", "45%", "50%", "55%", + "60%", "65%", "70%", "75%", "80%", "85%", "90%", "95%", "100%", "110%", + "120%", "150%", "200%" + }; + + m_zoomControl = new wxChoice(this, wxID_PREVIEW_ZOOM, + wxPoint(x, y), wxSize(100, -1)); + + // Yes, this look stupid, but this is because gcc gives up otherwise. + int n = WXSIZEOF(choices); + for ( int i = 0; i < n; i++ ) + m_zoomControl->Append(choices[i]); + SetZoomControl(m_printPreview->GetZoom()); } - delete[] choices; - // m_closeButton->SetDefault(); } @@ -415,12 +399,12 @@ void wxPreviewControlBar::SetZoomControl(int zoom) int wxPreviewControlBar::GetZoomControl() { - char buf[20]; - if (m_zoomControl && (m_zoomControl->GetStringSelection() != "")) + wxChar buf[20]; + if (m_zoomControl && (m_zoomControl->GetStringSelection() != _T(""))) { - strcpy(buf, m_zoomControl->GetStringSelection()); - buf[strlen(buf) - 1] = 0; - return (int)atoi(buf); + wxStrcpy(buf, m_zoomControl->GetStringSelection()); + buf[wxStrlen(buf) - 1] = 0; + return (int)wxAtoi(buf); } else return 0; } @@ -447,7 +431,7 @@ wxPreviewFrame::~wxPreviewFrame() { } -void wxPreviewFrame::OnCloseWindow(wxCloseEvent& event) +void wxPreviewFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event)) { MakeModal(FALSE); @@ -565,7 +549,7 @@ void wxPrintPreviewBase::Init(wxPrintout *printout, m_previewFrame = NULL; m_previewBitmap = NULL; m_currentPage = 1; - m_currentZoom = 30; + m_currentZoom = 70; m_topMargin = 40; m_leftMargin = 40; m_pageWidth = 0; @@ -705,11 +689,11 @@ bool wxPrintPreviewBase::RenderPage(int pageNum) memoryDC.SelectObject(wxNullBitmap); - char buf[200]; + wxChar buf[200]; if (m_maxPage != 0) - sprintf(buf, _("Page %d of %d"), pageNum, m_maxPage); + wxSprintf(buf, _("Page %d of %d"), pageNum, m_maxPage); else - sprintf(buf, _("Page %d"), pageNum); + wxSprintf(buf, _("Page %d"), pageNum); if (m_previewFrame) m_previewFrame->SetStatusText(buf); @@ -769,10 +753,11 @@ void wxPrintPreviewBase::SetZoom(int percent) delete m_previewBitmap; m_previewBitmap = NULL; } - RenderPage(m_currentPage); + if (m_previewCanvas) { + RenderPage(m_currentPage); m_previewCanvas->Clear(); m_previewCanvas->Refresh(); }