Browse Source
Remove the useless msg_handler compilation unit that was left over from Dolphin
pull/15/merge
Remove the useless msg_handler compilation unit that was left over from Dolphin
pull/15/merge
8 changed files with 13 additions and 180 deletions
-
2src/common/CMakeLists.txt
-
2src/common/chunk_file.h
-
1src/common/common.h
-
7src/common/mem_arena.cpp
-
14src/common/memory_util.cpp
-
107src/common/msg_handler.cpp
-
56src/common/msg_handler.h
-
4src/core/core_timing.cpp
@ -1,107 +0,0 @@ |
|||||
// Copyright 2013 Dolphin Emulator Project / 2014 Citra Emulator Project
|
|
||||
// Licensed under GPLv2 or any later version
|
|
||||
// Refer to the license.txt file included.
|
|
||||
|
|
||||
#include <cstdio>
|
|
||||
|
|
||||
#include "common/common.h" // Local
|
|
||||
#include "common/string_util.h"
|
|
||||
|
|
||||
bool DefaultMsgHandler(const char* caption, const char* text, bool yes_no, int Style); |
|
||||
static MsgAlertHandler msg_handler = DefaultMsgHandler; |
|
||||
static bool AlertEnabled = true; |
|
||||
|
|
||||
std::string DefaultStringTranslator(const char* text); |
|
||||
static StringTranslator str_translator = DefaultStringTranslator; |
|
||||
|
|
||||
// Select which of these functions that are used for message boxes. If
|
|
||||
// wxWidgets is enabled we will use wxMsgAlert() that is defined in Main.cpp
|
|
||||
void RegisterMsgAlertHandler(MsgAlertHandler handler) |
|
||||
{ |
|
||||
msg_handler = handler; |
|
||||
} |
|
||||
|
|
||||
// Select translation function. For wxWidgets use wxStringTranslator in Main.cpp
|
|
||||
void RegisterStringTranslator(StringTranslator translator) |
|
||||
{ |
|
||||
str_translator = translator; |
|
||||
} |
|
||||
|
|
||||
// enable/disable the alert handler
|
|
||||
void SetEnableAlert(bool enable) |
|
||||
{ |
|
||||
AlertEnabled = enable; |
|
||||
} |
|
||||
|
|
||||
// This is the first stop for gui alerts where the log is updated and the
|
|
||||
// correct window is shown
|
|
||||
bool MsgAlert(bool yes_no, int Style, const char* format, ...) |
|
||||
{ |
|
||||
// Read message and write it to the log
|
|
||||
std::string caption; |
|
||||
char buffer[2048]; |
|
||||
|
|
||||
static std::string info_caption; |
|
||||
static std::string warn_caption; |
|
||||
static std::string ques_caption; |
|
||||
static std::string crit_caption; |
|
||||
|
|
||||
if (!info_caption.length()) |
|
||||
{ |
|
||||
info_caption = str_translator(_trans("Information")); |
|
||||
ques_caption = str_translator(_trans("Question")); |
|
||||
warn_caption = str_translator(_trans("Warning")); |
|
||||
crit_caption = str_translator(_trans("Critical")); |
|
||||
} |
|
||||
|
|
||||
switch(Style) |
|
||||
{ |
|
||||
case INFORMATION: |
|
||||
caption = info_caption; |
|
||||
break; |
|
||||
case QUESTION: |
|
||||
caption = ques_caption; |
|
||||
break; |
|
||||
case WARNING: |
|
||||
caption = warn_caption; |
|
||||
break; |
|
||||
case CRITICAL: |
|
||||
caption = crit_caption; |
|
||||
break; |
|
||||
} |
|
||||
|
|
||||
va_list args; |
|
||||
va_start(args, format); |
|
||||
Common::CharArrayFromFormatV(buffer, sizeof(buffer)-1, str_translator(format).c_str(), args); |
|
||||
va_end(args); |
|
||||
|
|
||||
LOG_INFO(Common, "%s: %s", caption.c_str(), buffer); |
|
||||
|
|
||||
// Don't ignore questions, especially AskYesNo, PanicYesNo could be ignored
|
|
||||
if (msg_handler && (AlertEnabled || Style == QUESTION || Style == CRITICAL)) |
|
||||
return msg_handler(caption.c_str(), buffer, yes_no, Style); |
|
||||
|
|
||||
return true; |
|
||||
} |
|
||||
|
|
||||
// Default non library dependent panic alert
|
|
||||
bool DefaultMsgHandler(const char* caption, const char* text, bool yes_no, int Style) |
|
||||
{ |
|
||||
//#ifdef _WIN32
|
|
||||
// int STYLE = MB_ICONINFORMATION;
|
|
||||
// if (Style == QUESTION) STYLE = MB_ICONQUESTION;
|
|
||||
// if (Style == WARNING) STYLE = MB_ICONWARNING;
|
|
||||
//
|
|
||||
// return IDYES == MessageBox(0, UTF8ToTStr(text).c_str(), UTF8ToTStr(caption).c_str(), STYLE | (yes_no ? MB_YESNO : MB_OK));
|
|
||||
//#else
|
|
||||
printf("%s\n", text); |
|
||||
return true; |
|
||||
//#endif
|
|
||||
} |
|
||||
|
|
||||
// Default (non) translator
|
|
||||
std::string DefaultStringTranslator(const char* text) |
|
||||
{ |
|
||||
return text; |
|
||||
} |
|
||||
|
|
||||
@ -1,56 +0,0 @@ |
|||||
// Copyright 2013 Dolphin Emulator Project / 2014 Citra Emulator Project |
|
||||
// Licensed under GPLv2 or any later version |
|
||||
// Refer to the license.txt file included. |
|
||||
|
|
||||
#pragma once |
|
||||
|
|
||||
#include <string> |
|
||||
|
|
||||
// Message alerts |
|
||||
enum MSG_TYPE |
|
||||
{ |
|
||||
INFORMATION, |
|
||||
QUESTION, |
|
||||
WARNING, |
|
||||
CRITICAL |
|
||||
}; |
|
||||
|
|
||||
typedef bool (*MsgAlertHandler)(const char* caption, const char* text, |
|
||||
bool yes_no, int Style); |
|
||||
typedef std::string (*StringTranslator)(const char* text); |
|
||||
|
|
||||
void RegisterMsgAlertHandler(MsgAlertHandler handler); |
|
||||
void RegisterStringTranslator(StringTranslator translator); |
|
||||
|
|
||||
extern bool MsgAlert(bool yes_no, int Style, const char* format, ...) |
|
||||
#ifdef __GNUC__ |
|
||||
__attribute__((format(printf, 3, 4))) |
|
||||
#endif |
|
||||
; |
|
||||
void SetEnableAlert(bool enable); |
|
||||
|
|
||||
#ifdef _MSC_VER |
|
||||
#define SuccessAlert(format, ...) MsgAlert(false, INFORMATION, format, __VA_ARGS__) |
|
||||
#define PanicAlert(format, ...) MsgAlert(false, WARNING, format, __VA_ARGS__) |
|
||||
#define PanicYesNo(format, ...) MsgAlert(true, WARNING, format, __VA_ARGS__) |
|
||||
#define AskYesNo(format, ...) MsgAlert(true, QUESTION, format, __VA_ARGS__) |
|
||||
#define CriticalAlert(format, ...) MsgAlert(false, CRITICAL, format, __VA_ARGS__) |
|
||||
// Use these macros (that do the same thing) if the message should be translated. |
|
||||
#define SuccessAlertT(format, ...) MsgAlert(false, INFORMATION, format, __VA_ARGS__) |
|
||||
#define PanicAlertT(format, ...) MsgAlert(false, WARNING, format, __VA_ARGS__) |
|
||||
#define PanicYesNoT(format, ...) MsgAlert(true, WARNING, format, __VA_ARGS__) |
|
||||
#define AskYesNoT(format, ...) MsgAlert(true, QUESTION, format, __VA_ARGS__) |
|
||||
#define CriticalAlertT(format, ...) MsgAlert(false, CRITICAL, format, __VA_ARGS__) |
|
||||
#else |
|
||||
#define SuccessAlert(format, ...) MsgAlert(false, INFORMATION, format, ##__VA_ARGS__) |
|
||||
#define PanicAlert(format, ...) MsgAlert(false, WARNING, format, ##__VA_ARGS__) |
|
||||
#define PanicYesNo(format, ...) MsgAlert(true, WARNING, format, ##__VA_ARGS__) |
|
||||
#define AskYesNo(format, ...) MsgAlert(true, QUESTION, format, ##__VA_ARGS__) |
|
||||
#define CriticalAlert(format, ...) MsgAlert(false, CRITICAL, format, ##__VA_ARGS__) |
|
||||
// Use these macros (that do the same thing) if the message should be translated. |
|
||||
#define SuccessAlertT(format, ...) MsgAlert(false, INFORMATION, format, ##__VA_ARGS__) |
|
||||
#define PanicAlertT(format, ...) MsgAlert(false, WARNING, format, ##__VA_ARGS__) |
|
||||
#define PanicYesNoT(format, ...) MsgAlert(true, WARNING, format, ##__VA_ARGS__) |
|
||||
#define AskYesNoT(format, ...) MsgAlert(true, QUESTION, format, ##__VA_ARGS__) |
|
||||
#define CriticalAlertT(format, ...) MsgAlert(false, CRITICAL, format, ##__VA_ARGS__) |
|
||||
#endif |
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue