void ConsoleLogFrame::OnSetDefaultLogging(wxCommandEvent& evt) { uint srcnt = ArraySize(ConLogSources); for (uint i = 0; i<srcnt; ++i) { if (ConsoleLogSource* log = ConLogSources[i]) log->Enabled = ConLogDefaults[i]; } OnLoggingChanged(); evt.Skip(); }
void ConsoleLogFrame::OnSetDefaultLogging(wxCommandEvent& evt) { uint srcnt = ArraySize(ConLogSources); for (uint i = 0; i<srcnt; ++i) { if (ConsoleLogSource* log = ConLogSources[i]) log->Enabled = ConLogDefaults[i]; } DevConWriterEnabled = false; // Safe to change - it's read only in the core thread and only affects log output. const_cast<Pcsx2Config&>(EmuConfig).CdvdVerboseReads = g_Conf->EmuOptions.CdvdVerboseReads = false; OnLoggingChanged(); evt.Skip(); }
// -------------------------------------------------------------------------------------- // ConsoleLogFrame (implementations) // -------------------------------------------------------------------------------------- ConsoleLogFrame::ConsoleLogFrame( MainEmuFrame *parent, const wxString& title, AppConfig::ConsoleLogOptions& options ) : wxFrame(parent, wxID_ANY, title) , m_conf( options ) , m_TextCtrl( *new pxLogTextCtrl(this) ) , m_timer_FlushUnlocker( this ) , m_ColorTable( options.FontSize ) , m_QueueColorSection( L"ConsoleLog::QueueColorSection" ) , m_QueueBuffer( L"ConsoleLog::QueueBuffer" ) , m_threadlogger( EnableThreadedLoggingTest ? new ConsoleTestThread() : NULL ) { m_CurQueuePos = 0; m_WaitingThreadsForFlush = 0; m_pendingFlushMsg = false; m_FlushRefreshLocked = false; // create Log menu (contains most options) wxMenuBar *pMenuBar = new wxMenuBar(); SetMenuBar( pMenuBar ); SetIcons( wxGetApp().GetIconBundle() ); if (0==m_conf.Theme.CmpNoCase(L"Dark")) { m_ColorTable.SetColorScheme_Dark(); m_TextCtrl.SetBackgroundColour( wxColor( 0, 0, 0 ) ); } else //if ((0==m_conf.Theme.CmpNoCase("Default")) || (0==m_conf.Theme.CmpNoCase("Light"))) { m_ColorTable.SetColorScheme_Light(); m_TextCtrl.SetBackgroundColour( wxColor( 230, 235, 242 ) ); } m_TextCtrl.SetDefaultStyle( m_ColorTable[DefaultConsoleColor] ); // SetDefaultStyle only sets the style of text in the control. We need to // also set the font of the control, so that sizing logic knows what font we use: m_TextCtrl.SetFont( m_ColorTable[DefaultConsoleColor].GetFont() ); wxMenu& menuLog (*new wxMenu()); wxMenu& menuAppear (*new wxMenu()); wxMenu& menuSources (*new wxMenu()); wxMenu& menuFontSizes( menuAppear ); // create Appearance menu and submenus menuFontSizes.Append( MenuId_FontSize_Small, _("Small"), _t("Fits a lot of log in a microcosmically small area."), wxITEM_RADIO )->Check( options.FontSize == 7 ); menuFontSizes.Append( MenuId_FontSize_Normal, _("Normal font"),_t("It's what I use (the programmer guy)."), wxITEM_RADIO )->Check( options.FontSize == 8 ); menuFontSizes.Append( MenuId_FontSize_Large, _("Large"), _t("Its nice and readable."), wxITEM_RADIO )->Check( options.FontSize == 10 ); menuFontSizes.Append( MenuId_FontSize_Huge, _("Huge"), _t("In case you have a really high res display."), wxITEM_RADIO )->Check( options.FontSize == 12 ); menuFontSizes.AppendSeparator(); menuFontSizes.Append( MenuId_ColorScheme_Light, _("Light theme"), _t("Default soft-tone color scheme."), wxITEM_RADIO ); menuFontSizes.Append( MenuId_ColorScheme_Dark, _("Dark theme"), _t("Classic black color scheme for people who enjoy having text seared into their optic nerves."), wxITEM_RADIO ); menuAppear.AppendSeparator(); menuAppear.Append( wxID_ANY, _("Always on Top"), _t("When checked the log window will be visible over other foreground windows."), wxITEM_CHECK ); menuLog.Append(wxID_SAVE, _("&Save..."), _("Save log contents to file")); menuLog.Append(wxID_CLEAR, _("C&lear"), _("Clear the log window contents")); menuLog.AppendSeparator(); menuLog.AppendSubMenu( &menuAppear, _("Appearance") ); menuLog.AppendSeparator(); menuLog.Append(wxID_CLOSE, _("&Close"), _("Close this log window; contents are preserved")); // Source Selection/Toggle menu menuSources.Append( MenuId_LogSource_Devel, _("Dev/Verbose"), _("Shows PCSX2 developer logs"), wxITEM_CHECK ); menuSources.Append( MenuId_LogSource_CDVD_Info, _("CDVD reads"), _("Shows disk read activity"), wxITEM_CHECK ); menuSources.AppendSeparator(); uint srcnt = ArraySize(ConLogSources); for (uint i=0; i<srcnt; ++i) { if (const BaseTraceLogSource* log = ConLogSources[i]) { menuSources.Append( MenuId_LogSource_Start+i, log->GetName(), log->GetDescription(), wxITEM_CHECK ); Connect( MenuId_LogSource_Start+i, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(ConsoleLogFrame::OnToggleSource)); } else menuSources.AppendSeparator(); } menuSources.AppendSeparator(); menuSources.Append( MenuId_LogSource_EnableAll, _("Enable all"), _("Enables all log source filters.") ); menuSources.Append( MenuId_LogSource_DisableAll, _("Disable all"), _("Disables all log source filters.") ); menuSources.Append( MenuId_LogSource_SetDefault, _("Restore Default"), _("Restore default source filters.") ); pMenuBar->Append(&menuLog, _("&Log")); pMenuBar->Append(&menuSources, _("&Sources")); // status bar for menu prompts CreateStatusBar(); SetSize( wxRect( options.DisplayPosition, options.DisplaySize ) ); Show( options.Visible ); // Bind Events: Connect( wxID_OPEN, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(ConsoleLogFrame::OnOpen) ); Connect( wxID_CLOSE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(ConsoleLogFrame::OnClose) ); Connect( wxID_SAVE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(ConsoleLogFrame::OnSave) ); Connect( wxID_CLEAR, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(ConsoleLogFrame::OnClear) ); Connect( MenuId_FontSize_Small, MenuId_FontSize_Huge, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( ConsoleLogFrame::OnFontSize ) ); Connect( MenuId_ColorScheme_Light, MenuId_ColorScheme_Dark, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( ConsoleLogFrame::OnToggleTheme ) ); Connect( MenuId_LogSource_Devel, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( ConsoleLogFrame::OnToggleSource ) ); Connect( MenuId_LogSource_CDVD_Info, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( ConsoleLogFrame::OnToggleCDVDInfo ) ); Connect( MenuId_LogSource_EnableAll, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( ConsoleLogFrame::OnEnableAllLogging ) ); Connect( MenuId_LogSource_DisableAll, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( ConsoleLogFrame::OnDisableAllLogging ) ); Connect( MenuId_LogSource_SetDefault, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( ConsoleLogFrame::OnSetDefaultLogging ) ); Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler (ConsoleLogFrame::OnCloseWindow) ); Connect( wxEVT_MOVE, wxMoveEventHandler (ConsoleLogFrame::OnMoveAround) ); Connect( wxEVT_SIZE, wxSizeEventHandler (ConsoleLogFrame::OnResize) ); Connect( wxEVT_ACTIVATE, wxActivateEventHandler (ConsoleLogFrame::OnActivate) ); Connect( pxEvt_SetTitleText, wxCommandEventHandler (ConsoleLogFrame::OnSetTitle) ); Connect( pxEvt_DockConsole, wxCommandEventHandler (ConsoleLogFrame::OnDockedMove) ); Connect( pxEvt_FlushQueue, wxCommandEventHandler (ConsoleLogFrame::OnFlushEvent) ); Connect( m_timer_FlushUnlocker.GetId(), wxEVT_TIMER, wxTimerEventHandler (ConsoleLogFrame::OnFlushUnlockerTimer) ); if( m_threadlogger != NULL ) m_threadlogger->Start(); OnLoggingChanged(); if (0==m_conf.Theme.CmpNoCase(L"Dark")) { pMenuBar->Check(MenuId_ColorScheme_Dark, true); } else //if ((0==m_conf.Theme.CmpNoCase("Default")) || (0==m_conf.Theme.CmpNoCase("Light"))) { pMenuBar->Check(MenuId_ColorScheme_Light, true); } }
void ConsoleLogFrame::UpdateLogList() { OnLoggingChanged(); }