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