X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4c6720f41d4c3809645bc0f92cce73a700238b6b..d33e45f134004bdb8199de60d60a251569bbed96:/src/generic/logg.cpp diff --git a/src/generic/logg.cpp b/src/generic/logg.cpp index dfe188e3bb..6d5ea29f61 100644 --- a/src/generic/logg.cpp +++ b/src/generic/logg.cpp @@ -51,6 +51,7 @@ #include "wx/artprov.h" #include "wx/collpane.h" #include "wx/arrstr.h" +#include "wx/msgout.h" #if wxUSE_THREADS #include "wx/thread.h" @@ -434,32 +435,6 @@ void wxLogGui::DoLog(wxLogLevel level, const wxString& szString, time_t t) #endif // wxUSE_STATUSBAR break; - case wxLOG_Trace: - case wxLOG_Debug: - #ifdef __WXDEBUG__ - { - wxString str; - TimeStamp(&str); - str += szString; - - #if defined(__WXMSW__) && !defined(__WXMICROWIN__) - // don't prepend debug/trace here: it goes to the - // debug window anyhow - str += wxT("\r\n"); - OutputDebugString(str.wx_str()); - #else - // send them to stderr - wxFprintf(stderr, wxT("[%s] %s\n"), - level == wxLOG_Trace ? wxT("Trace") - : wxT("Debug"), - str.c_str()); - fflush(stderr); - #endif - } - #endif // __WXDEBUG__ - - break; - case wxLOG_FatalError: // show this one immediately wxMessageBox(szString, _("Fatal error"), wxICON_HAND); @@ -491,6 +466,11 @@ void wxLogGui::DoLog(wxLogLevel level, const wxString& szString, time_t t) m_aTimes.Add((long)t); m_bHasMessages = true; break; + + default: + // let the base class deal with debug/trace messages as well as any + // custom levels + wxLog::DoLog(level, szString, t); } } @@ -937,6 +917,9 @@ wxLogDialog::wxLogDialog(wxWindow *parent, void wxLogDialog::CreateDetailsControls(wxWindow *parent) { + wxString fmt = wxLog::GetTimestamp(); + bool hasTimeStamp = !fmt.IsEmpty(); + // create the list ctrl now m_listctrl = new wxListCtrl(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, @@ -953,7 +936,9 @@ void wxLogDialog::CreateDetailsControls(wxWindow *parent) // no need to translate these strings as they're not shown to the // user anyhow (we use wxLC_NO_HEADER style) m_listctrl->InsertColumn(0, _T("Message")); - m_listctrl->InsertColumn(1, _T("Time")); + + if (hasTimeStamp) + m_listctrl->InsertColumn(1, _T("Time")); // prepare the imagelist static const int ICON_SIZE = 16; @@ -988,14 +973,7 @@ void wxLogDialog::CreateDetailsControls(wxWindow *parent) m_listctrl->SetImageList(imageList, wxIMAGE_LIST_SMALL); - // and fill it - wxString fmt = wxLog::GetTimestamp(); - if ( !fmt ) - { - // default format - fmt = _T("%c"); - } - + // fill the listctrl size_t count = m_messages.GetCount(); for ( size_t n = 0; n < count; n++ ) { @@ -1027,12 +1005,15 @@ void wxLogDialog::CreateDetailsControls(wxWindow *parent) msg = EllipsizeString(msg); m_listctrl->InsertItem(n, msg, image); - m_listctrl->SetItem(n, 1, TimeStamp(fmt, (time_t)m_times[n])); + + if (hasTimeStamp) + m_listctrl->SetItem(n, 1, TimeStamp(fmt, (time_t)m_times[n])); } // let the columns size themselves m_listctrl->SetColumnWidth(0, wxLIST_AUTOSIZE); - m_listctrl->SetColumnWidth(1, wxLIST_AUTOSIZE); + if (hasTimeStamp) + m_listctrl->SetColumnWidth(1, wxLIST_AUTOSIZE); // calculate an approximately nice height for the listctrl int height = GetCharHeight()*(count + 4);