#define hacks for smtools. Clean this up later.

This commit is contained in:
Chris Danford
2005-12-28 05:42:22 +00:00
parent f7952eaf63
commit 45082d0a74
2 changed files with 36 additions and 10 deletions
+7 -2
View File
@@ -1,7 +1,9 @@
#include "global.h" #include "global.h"
#include "Dialog.h" #include "Dialog.h"
#include "DialogDriver.h" #include "DialogDriver.h"
#if !defined(SMPACKAGE)
#include "PrefsManager.h" #include "PrefsManager.h"
#endif
#include "RageUtil.h" #include "RageUtil.h"
#include "RageLog.h" #include "RageLog.h"
#include "arch/arch.h" #include "arch/arch.h"
@@ -73,22 +75,24 @@ void Dialog::Shutdown()
static bool MessageIsIgnored( CString sID ) static bool MessageIsIgnored( CString sID )
{ {
#if !defined(SMPACKAGE)
vector<CString> asList; vector<CString> asList;
split( PREFSMAN->m_sIgnoredMessageWindows, ",", asList ); split( PREFSMAN->m_sIgnoredMessageWindows, ",", asList );
for( unsigned i = 0; i < asList.size(); ++i ) for( unsigned i = 0; i < asList.size(); ++i )
if( !sID.CompareNoCase(asList[i]) ) if( !sID.CompareNoCase(asList[i]) )
return true; return true;
#endif
return false; return false;
} }
void Dialog::IgnoreMessage( CString sID ) void Dialog::IgnoreMessage( CString sID )
{ {
/* We can't ignore messages before PREFSMAN is around. */ /* We can't ignore messages before PREFSMAN is around. */
#if !defined(SMPACKAGE)
if( PREFSMAN == NULL ) if( PREFSMAN == NULL )
{ {
if( sID != "" && LOG ) if( sID != "" && LOG )
LOG->Warn( "Dialog: message \"%s\" set ID too early for ignorable messages", sID.c_str() ); LOG->Warn( "Dialog: message \"%s\" set ID too early for ignorable messages", sID.c_str() );
return; return;
} }
@@ -103,6 +107,7 @@ void Dialog::IgnoreMessage( CString sID )
asList.push_back( sID ); asList.push_back( sID );
PREFSMAN->m_sIgnoredMessageWindows.Set( join(",",asList) ); PREFSMAN->m_sIgnoredMessageWindows.Set( join(",",asList) );
PREFSMAN->SavePrefsToDisk(); PREFSMAN->SavePrefsToDisk();
#endif
} }
void Dialog::Error( CString sMessage, CString sID ) void Dialog::Error( CString sMessage, CString sID )
@@ -1,7 +1,9 @@
#include "global.h" #include "global.h"
#include "DialogDriver_Win32.h" #include "DialogDriver_Win32.h"
#include "RageUtil.h" #include "RageUtil.h"
#include "CommonMetrics.h" // for WINDOW_TITLE #if !defined(SMPACKAGE)
#include "CommonMetrics.h"
#endif
#include "ThemeManager.h" #include "ThemeManager.h"
#include "ProductInfo.h" #include "ProductInfo.h"
@@ -9,7 +11,9 @@
#include "archutils/win32/GotoURL.h" #include "archutils/win32/GotoURL.h"
#include "archutils/win32/RestartProgram.h" #include "archutils/win32/RestartProgram.h"
#include "archutils/win32/WindowsResources.h" #include "archutils/win32/WindowsResources.h"
#if !defined(SMPACKAGE)
#include "archutils/win32/GraphicsWindow.h" #include "archutils/win32/GraphicsWindow.h"
#endif
static bool g_bHush; static bool g_bHush;
static CString g_sMessage; static CString g_sMessage;
@@ -65,17 +69,35 @@ static BOOL CALLBACK OKWndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lPara
return FALSE; return FALSE;
} }
static HWND GetHwnd()
{
#if !defined(SMPACKAGE)
return GraphicsWindow::GetHwnd();
#else
return NULL;
#endif
}
static CString GetWindowTitle()
{
#if !defined(SMPACKAGE)
return CommonMetrics::WINDOW_TITLE.IsLoaded() ? CommonMetrics::WINDOW_TITLE.GetValue() : PRODUCT_NAME;
#else
return PRODUCT_NAME;
#endif
}
void DialogDriver_Win32::OK( CString sMessage, CString sID ) void DialogDriver_Win32::OK( CString sMessage, CString sID )
{ {
g_bAllowHush = sID != ""; g_bAllowHush = sID != "";
g_sMessage = sMessage; g_sMessage = sMessage;
AppInstance handle; AppInstance handle;
DialogBox( handle.Get(), MAKEINTRESOURCE(IDD_OK), GraphicsWindow::GetHwnd(), OKWndProc ); DialogBox( handle.Get(), MAKEINTRESOURCE(IDD_OK), ::GetHwnd(), OKWndProc );
if( g_bAllowHush && g_bHush ) if( g_bAllowHush && g_bHush )
Dialog::IgnoreMessage( sID ); Dialog::IgnoreMessage( sID );
} }
#if !defined(SMPACKAGE)
static CString g_sErrorString; static CString g_sErrorString;
static BOOL CALLBACK ErrorWndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) static BOOL CALLBACK ErrorWndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
@@ -131,21 +153,22 @@ static BOOL CALLBACK ErrorWndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lP
} }
return FALSE; return FALSE;
} }
#endif
void DialogDriver_Win32::Error( CString sError, CString sID ) void DialogDriver_Win32::Error( CString sError, CString sID )
{ {
#if !defined(SMPACKAGE)
g_sErrorString = sError; g_sErrorString = sError;
// throw up a pretty error dialog // throw up a pretty error dialog
AppInstance handle; AppInstance handle;
DialogBox( handle.Get(), MAKEINTRESOURCE(IDD_ERROR_DIALOG), NULL, ErrorWndProc ); DialogBox( handle.Get(), MAKEINTRESOURCE(IDD_ERROR_DIALOG), NULL, ErrorWndProc );
#endif
} }
Dialog::Result DialogDriver_Win32::AbortRetryIgnore( CString sMessage, CString ID ) Dialog::Result DialogDriver_Win32::AbortRetryIgnore( CString sMessage, CString ID )
{ {
CString sWindowTitle = CommonMetrics::WINDOW_TITLE.IsLoaded() ? CommonMetrics::WINDOW_TITLE.GetValue() : ""; switch( MessageBox(::GetHwnd(), sMessage, ::GetWindowTitle(), MB_ABORTRETRYIGNORE|MB_DEFBUTTON3 ) )
switch( MessageBox(GraphicsWindow::GetHwnd(), sMessage, sWindowTitle, MB_ABORTRETRYIGNORE|MB_DEFBUTTON3 ) )
{ {
case IDABORT: return Dialog::abort; case IDABORT: return Dialog::abort;
case IDRETRY: return Dialog::retry; case IDRETRY: return Dialog::retry;
@@ -156,9 +179,7 @@ Dialog::Result DialogDriver_Win32::AbortRetryIgnore( CString sMessage, CString I
Dialog::Result DialogDriver_Win32::AbortRetry( CString sMessage, CString sID ) Dialog::Result DialogDriver_Win32::AbortRetry( CString sMessage, CString sID )
{ {
CString sWindowTitle = CommonMetrics::WINDOW_TITLE.IsLoaded() ? CommonMetrics::WINDOW_TITLE.GetValue() : ""; switch( MessageBox(::GetHwnd(), sMessage, ::GetWindowTitle(), MB_RETRYCANCEL) )
switch( MessageBox(GraphicsWindow::GetHwnd(), sMessage, sWindowTitle, MB_RETRYCANCEL) )
{ {
case IDRETRY: return Dialog::retry; case IDRETRY: return Dialog::retry;
default: ASSERT(0); default: ASSERT(0);