]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/logg.cpp
floating pane size now restores after perspective restore
[wxWidgets.git] / src / generic / logg.cpp
index 8c20b7af42cd042af06340658a8d19b244f6b138..d8cd14dc7a3da97276b63e9cd8add5e205ced2f9 100644 (file)
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "logg.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
-  #pragma hdrstop
+    #pragma hdrstop
 #endif
 
 #ifndef WX_PRECOMP
@@ -41,7 +37,6 @@
     #include "wx/textctrl.h"
     #include "wx/sizer.h"
     #include "wx/statbmp.h"
-    #include "wx/button.h"
     #include "wx/settings.h"
 #endif // WX_PRECOMP
 
 #include "wx/artprov.h"
 
 #ifdef  __WXMSW__
-  // for OutputDebugString()
-  #include  "wx/msw/private.h"
+    // for OutputDebugString()
+    #include  "wx/msw/private.h"
 #endif // Windows
 
 #ifdef  __WXPM__
-  #include <time.h>
+    #include <time.h>
 #endif
 
 #if wxUSE_LOG_DIALOG
     #include "wx/listctrl.h"
     #include "wx/imaglist.h"
     #include "wx/image.h"
-#else // !wxUSE_LOG_DIALOG
-    #include "wx/msgdlg.h"
 #endif // wxUSE_LOG_DIALOG/!wxUSE_LOG_DIALOG
 
 #if defined(__MWERKS__) && wxUSE_UNICODE
 // allows to exclude the usage of wxDateTime
 static wxString TimeStamp(const wxChar *format, time_t t)
 {
-#ifdef __WXWINCE__
-    // FIXME
-    return wxEmptyString;
-#else
+#if wxUSE_DATETIME
     wxChar buf[4096];
-    if ( !wxStrftime(buf, WXSIZEOF(buf), format, localtime(&t)) )
+    struct tm tm;
+    if ( !wxStrftime(buf, WXSIZEOF(buf), format, wxLocaltime_r(&t, &tm)) )
     {
         // buffer is too small?
         wxFAIL_MSG(_T("strftime() failed"));
     }
     return wxString(buf);
-#endif
+#else // !wxUSE_DATETIME
+    return wxEmptyString;
+#endif // wxUSE_DATETIME/!wxUSE_DATETIME
 }
 
 
@@ -256,6 +249,12 @@ void wxLogGui::Flush()
     // 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();
+    }
+
     wxString appName = wxTheApp->GetAppName();
     if ( !appName.empty() )
         appName[0u] = (wxChar)wxToupper(appName[0u]);
@@ -293,6 +292,8 @@ void wxLogGui::Flush()
     {
 #if wxUSE_LOG_DIALOG
 
+        if ( repeatCount > 0 )
+            m_aMessages[nMsgCount-1] += wxString::Format(wxT(" (%s)"), m_aMessages[nMsgCount-2].c_str());
         wxLogDialog dlg(NULL,
                         m_aMessages, m_aSeverity, m_aTimes,
                         title, style);
@@ -434,6 +435,8 @@ void wxLogGui::DoLog(wxLogLevel level, const wxChar *szString, time_t t)
 // wxLogWindow and wxLogFrame implementation
 // ----------------------------------------------------------------------------
 
+#if wxUSE_LOGWINDOW
+
 // log frame class
 // ---------------
 class wxLogFrame : public wxFrame
@@ -687,6 +690,8 @@ wxLogWindow::~wxLogWindow()
     delete m_pLogFrame;
 }
 
+#endif // wxUSE_LOGWINDOW
+
 // ----------------------------------------------------------------------------
 // wxLogDialog
 // ----------------------------------------------------------------------------
@@ -776,21 +781,21 @@ wxLogDialog::wxLogDialog(wxWindow *parent,
     switch ( style & wxICON_MASK )
     {
         case wxICON_ERROR:
-            bitmap = wxArtProvider::GetIcon(wxART_ERROR, wxART_MESSAGE_BOX);
+            bitmap = wxArtProvider::GetBitmap(wxART_ERROR, wxART_MESSAGE_BOX);
 #ifdef __WXPM__
             bitmap.SetId(wxICON_SMALL_ERROR);
 #endif
             break;
 
         case wxICON_INFORMATION:
-            bitmap = wxArtProvider::GetIcon(wxART_INFORMATION, wxART_MESSAGE_BOX);
+            bitmap = wxArtProvider::GetBitmap(wxART_INFORMATION, wxART_MESSAGE_BOX);
 #ifdef __WXPM__
             bitmap.SetId(wxICON_SMALL_INFO);
 #endif
             break;
 
         case wxICON_WARNING:
-            bitmap = wxArtProvider::GetIcon(wxART_WARNING, wxART_MESSAGE_BOX);
+            bitmap = wxArtProvider::GetBitmap(wxART_WARNING, wxART_MESSAGE_BOX);
 #ifdef __WXPM__
             bitmap.SetId(wxICON_SMALL_WARNING);
 #endif
@@ -913,7 +918,7 @@ void wxLogDialog::CreateDetailsControls()
     if ( !fmt )
     {
         // default format
-        fmt = wxDefaultDateTimeFormat;
+        fmt = _T("%c");
     }
 
     size_t count = m_messages.GetCount();
@@ -999,7 +1004,7 @@ void wxLogDialog::OnSave(wxCommandEvent& WXUNUSED(event))
     if ( !fmt )
     {
         // default format
-        fmt = wxDefaultDateTimeFormat;
+        fmt = _T("%c");
     }
 
     size_t count = m_messages.GetCount();
@@ -1122,7 +1127,7 @@ void wxLogDialog::OnDetails(wxCommandEvent& WXUNUSED(event))
     SetSize(wxDefaultCoord, size.y);
 
 #ifdef __WXGTK__
-    // VS: this is neccessary in order to force frame redraw under
+    // VS: this is necessary in order to force frame redraw under
     // WindowMaker or fvwm2 (and probably other broken WMs).
     // Otherwise, detailed list wouldn't be displayed.
     Show();
@@ -1157,7 +1162,7 @@ static int OpenLogFile(wxFile& file, wxString *pFilename, wxWindow *parent)
 
     // open file
     // ---------
-    bool bOk;
+    bool bOk wxDUMMY_INITIALIZE(false);
     if ( wxFile::Exists(filename) ) {
         bool bAppend = false;
         wxString strMsg;
@@ -1222,4 +1227,3 @@ void wxLogTextCtrl::DoLogString(const wxChar *szString, time_t WXUNUSED(t))
 }
 
 #endif // wxUSE_LOG && wxUSE_TEXTCTRL
-