Merge pull request #2957 from thedax/disableLoggingOption

Add New Feature: Ability to turn logging on and off.
This commit is contained in:
Henrik Rydgård 2013-07-28 07:46:40 -07:00
commit ccb76a58c3
7 changed files with 33 additions and 6 deletions

View file

@ -22,6 +22,7 @@
#include "Timer.h"
#include "Thread.h"
#include "FileUtil.h"
#include "../Core/Config.h"
#ifdef __SYMBIAN32__
#include <e32debug.h>
#endif
@ -36,6 +37,8 @@ const char *hleCurrentThreadName = NULL;
void GenericLog(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type,
const char *file, int line, const char* fmt, ...)
{
if(!g_Config.bEnableLogging) return;
va_list args;
va_start(args, fmt);
if (LogManager::GetInstance())

View file

@ -50,6 +50,7 @@ void Config::Load(const char *iniFileName)
bSpeedLimit = false;
general->Get("FirstRun", &bFirstRun, true);
general->Get("NewUI", &bNewUI, false);
general->Get("Enable Logging", &bEnableLogging, true);
general->Get("AutoLoadLast", &bAutoLoadLast, false);
general->Get("AutoRun", &bAutoRun, true);
general->Get("Browse", &bBrowse, false);
@ -195,7 +196,7 @@ void Config::Save()
bFirstRun = false;
general->Set("FirstRun", bFirstRun);
general->Set("NewUI", bNewUI);
general->Set("Enable Logging", bEnableLogging);
general->Set("AutoLoadLast", bAutoLoadLast);
general->Set("AutoRun", bAutoRun);
general->Set("Browse", bBrowse);

View file

@ -50,6 +50,7 @@ public:
bool bNewUI; // "Hidden" setting, does not get saved to ini file.
int iNumWorkerThreads;
bool bScreenshotsAsPNG;
bool bEnableLogging;
// Core
bool bIgnoreBadMemAccess;

View file

@ -339,7 +339,6 @@ void DeveloperToolsScreen::CreateViews() {
LinearLayout *list = root_->Add(new LinearLayout(ORIENT_VERTICAL, new LinearLayoutParams(1.0f)));
list->Add(new ItemHeader(g->T("General")));
list->Add(new Choice(d->T("Run CPU Tests")))->OnClick.Handle(this, &DeveloperToolsScreen::OnRunCPUTests);
list->Add(new Choice(g->T("Back")))->OnClick.Handle(this, &DeveloperToolsScreen::OnBack);
}

View file

@ -65,6 +65,7 @@
#include "GameInfoCache.h"
#include "android/jni/TestRunner.h"
#ifdef USING_QT_UI
#include <QFileDialog>
#include <QFile>
@ -73,6 +74,9 @@
#ifdef _WIN32
namespace MainWindow {
enum {
WM_USER_LOG_STATUS_CHANGED = WM_USER + 200
};
extern HWND hwndMain;
void BrowseAndBoot(std::string defaultPath, bool browseDirectory = false);
}
@ -769,9 +773,17 @@ void DeveloperScreen::render() {
bool reportingEnabled = Reporting::IsEnabled();
const static std::string reportHostOfficial = "report.ppsspp.org";
UICheckBox(GEN_ID, x, y += stride, d->T("Enable Logging"), ALIGN_TOPLEFT, &g_Config.bEnableLogging);
#ifdef _WIN32
// Update the main menu bar.
PostMessage(MainWindow::hwndMain, MainWindow::WM_USER_LOG_STATUS_CHANGED, 0, 0);
#endif
if (UICheckBox(GEN_ID, x, y += stride, d->T("Report","Enable Compatibility Server Reports"), ALIGN_TOPLEFT, &reportingEnabled)) {
g_Config.sReportHost = reportingEnabled ? reportHostOfficial : "";
}
UICheckBox(GEN_ID, x, y += stride, d->T("New UI"), ALIGN_TOPLEFT, &g_Config.bNewUI);
VLinear vlinear(x, y + stride + 12, 16);

View file

@ -88,8 +88,6 @@ namespace MainWindow
LRESULT CALLBACK DisplayProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM);
const UINT WM_USER_SAVESTATE_FINISH = WM_USER + 100;
HWND GetHWND() {
return hwndMain;
}
@ -1149,6 +1147,15 @@ namespace MainWindow
SetCursor(LoadCursor(0, IDC_ARROW));
break;
case WM_USER_LOG_STATUS_CHANGED:
if(!g_Config.bEnableLogging) {
LogManager::GetInstance()->GetConsoleListener()->Show(false);
EnableMenuItem(menu, ID_DEBUG_LOG, MF_GRAYED);
}
else
EnableMenuItem(menu, ID_DEBUG_LOG, MF_ENABLED);
break;
case WM_MENUSELECT:
// Unfortunately, accelerate keys (hotkeys) shares the same enabled/disabled states
// with corresponding menu items.
@ -1180,7 +1187,6 @@ namespace MainWindow
{
HMENU menu = GetMenu(GetHWND());
#define CHECKITEM(item,value) CheckMenuItem(menu,item,MF_BYCOMMAND | ((value) ? MF_CHECKED : MF_UNCHECKED));
CHECKITEM(ID_EMULATION_SPEEDLIMIT,g_Config.bSpeedLimit);
// CHECK(ID_OPTIONS_ENABLEFRAMEBUFFER,g_Config.bEnableFrameBuffer);
// CHECK(ID_OPTIONS_EMULATESYSCALL,g_bEmulateSyscall);
@ -1304,6 +1310,7 @@ namespace MainWindow
EnableMenuItem(menu,ID_TOGGLE_PAUSE, !menuEnable);
EnableMenuItem(menu,ID_EMULATION_STOP, !menuEnable);
EnableMenuItem(menu,ID_EMULATION_RESET, !menuEnable);
EnableMenuItem(menu,ID_DEBUG_LOG, !g_Config.bEnableLogging);
}
// Message handler for about box.

View file

@ -7,6 +7,10 @@
namespace MainWindow
{
enum {
WM_USER_SAVESTATE_FINISH = WM_USER + 100,
WM_USER_LOG_STATUS_CHANGED = WM_USER + 200,
};
void Init(HINSTANCE hInstance);
BOOL Show(HINSTANCE hInstance, int nCmdShow);
void Close();