// do it right now to block any new calls to Flush() while we're here
m_bHasMessages = false;
- unsigned repeatCount = 0;
- if ( wxLog::GetRepetitionCounting() )
- {
- repeatCount = wxLog::DoLogNumberOfRepeats();
- }
+ const unsigned repeatCount = LogLastRepeatIfNeeded();
wxString appName = wxTheApp->GetAppDisplayName();
#if wxUSE_LOG_DIALOG
if ( repeatCount > 0 )
- m_aMessages[nMsgCount-1] += wxString::Format(wxT(" (%s)"), m_aMessages[nMsgCount-2].c_str());
+ {
+ m_aMessages[nMsgCount - 1]
+ << " (" << m_aMessages[nMsgCount - 2] << ")";
+ }
+
wxLogDialog dlg(NULL,
m_aMessages, m_aSeverity, m_aTimes,
title, style);
wxBoxSizer *sizerTop = new wxBoxSizer(wxVERTICAL);
wxBoxSizer *sizerAll = new wxBoxSizer(isPda ? wxVERTICAL : wxHORIZONTAL);
- wxBitmap bitmap;
- switch ( style & wxICON_MASK )
+ if (!isPda)
{
- case wxICON_ERROR:
- bitmap = wxArtProvider::GetBitmap(wxART_ERROR, wxART_MESSAGE_BOX);
-#ifdef __WXPM__
- bitmap.SetId(wxICON_SMALL_ERROR);
-#endif
- break;
-
- case wxICON_INFORMATION:
- bitmap = wxArtProvider::GetBitmap(wxART_INFORMATION, wxART_MESSAGE_BOX);
-#ifdef __WXPM__
- bitmap.SetId(wxICON_SMALL_INFO);
-#endif
- break;
-
- case wxICON_WARNING:
- bitmap = wxArtProvider::GetBitmap(wxART_WARNING, wxART_MESSAGE_BOX);
-#ifdef __WXPM__
- bitmap.SetId(wxICON_SMALL_WARNING);
-#endif
- break;
-
- default:
- wxFAIL_MSG(_T("incorrect log style"));
+ wxStaticBitmap *icon = new wxStaticBitmap
+ (
+ this,
+ wxID_ANY,
+ wxArtProvider::GetMessageBoxIcon(style)
+ );
+ sizerAll->Add(icon, 0, wxALIGN_CENTRE_VERTICAL);
}
- if (!isPda)
- sizerAll->Add(new wxStaticBitmap(this, wxID_ANY, bitmap), 0,
- wxALIGN_CENTRE_VERTICAL);
-
// create the text sizer with a minimal size so that we are sure it won't be too small
wxString message = EllipsizeString(messages.Last());
wxSizer *szText = CreateTextSizer(message);