From f6d11943abbd9a34b733f76a66295336b14f8b8f Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sun, 8 Jan 2006 05:42:09 +0000 Subject: [PATCH] make more strings localizable move dialog localization into archutil adjust dialog layout for pseudoloc strings --- stepmania/src/StepMania.dsp | 24 ++- .../LoadingWindow/LoadingWindow_Win32.cpp | 7 +- .../src/archutils/Win32/DialogErrorHeader.bmp | Bin 36242 -> 0 bytes stepmania/src/archutils/Win32/DialogUtil.cpp | 110 +++++++++++ stepmania/src/archutils/Win32/DialogUtil.h | 37 ++++ .../src/archutils/Win32/WindowsResources.h | 9 +- .../src/archutils/Win32/WindowsResources.rc | 64 +++---- .../{DialogCrashHeader.bmp => header.bmp} | Bin 31578 -> 31576 bytes stepmania/src/smpackage-net2003.vcproj | 15 +- .../src/smpackage/ChangeGameSettings.cpp | 20 +- stepmania/src/smpackage/ChangeGameSettings.h | 2 + stepmania/src/smpackage/CreateLanguageDlg.cpp | 3 +- stepmania/src/smpackage/EditInsallations.cpp | 40 ++-- stepmania/src/smpackage/EditInsallations.h | 2 + stepmania/src/smpackage/EnterComment.cpp | 4 +- stepmania/src/smpackage/EnterName.cpp | 4 +- stepmania/src/smpackage/LanguagesDlg.cpp | 37 ++-- stepmania/src/smpackage/MainMenuDlg.cpp | 64 +++++-- stepmania/src/smpackage/MainMenuDlg.h | 4 +- .../src/smpackage/SMPackageInstallDlg.cpp | 40 +++- stepmania/src/smpackage/SMPackageInstallDlg.h | 5 +- stepmania/src/smpackage/SMPackageUtil.cpp | 39 +--- stepmania/src/smpackage/ShowComment.cpp | 4 +- .../src/smpackage/SmpackageExportDlg.cpp | 36 ++-- stepmania/src/smpackage/SmpackageExportDlg.h | 4 +- stepmania/src/smpackage/TransparentStatic.cpp | 46 ----- stepmania/src/smpackage/TransparentStatic.h | 20 -- stepmania/src/smpackage/UninstallOld.cpp | 3 +- stepmania/src/smpackage/header.bmp | Bin 31578 -> 31576 bytes stepmania/src/smpackage/resource.h | 4 +- stepmania/src/smpackage/smpackage.cpp | 11 +- stepmania/src/smpackage/smpackage.rc | 174 +++++++++--------- stepmania/src/smpackage/smpackageUtil.h | 3 - 33 files changed, 509 insertions(+), 326 deletions(-) delete mode 100644 stepmania/src/archutils/Win32/DialogErrorHeader.bmp create mode 100644 stepmania/src/archutils/Win32/DialogUtil.cpp create mode 100644 stepmania/src/archutils/Win32/DialogUtil.h rename stepmania/src/archutils/Win32/{DialogCrashHeader.bmp => header.bmp} (68%) delete mode 100644 stepmania/src/smpackage/TransparentStatic.cpp delete mode 100644 stepmania/src/smpackage/TransparentStatic.h diff --git a/stepmania/src/StepMania.dsp b/stepmania/src/StepMania.dsp index ccfac4e842..1aea98285f 100644 --- a/stepmania/src/StepMania.dsp +++ b/stepmania/src/StepMania.dsp @@ -62,7 +62,7 @@ IntDir=.\../Debug6 TargetDir=\cvs\stepmania\Program TargetName=StepMania-debug SOURCE="$(InputPath)" -PreLink_Cmds=archutils\Win32\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ +PreLink_Cmds=archutils\Win32\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ PostBuild_Cmds=archutils\Win32\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi # End Special Build Tool @@ -99,7 +99,7 @@ IntDir=.\../Release6 TargetDir=\cvs\stepmania\Program TargetName=StepMania SOURCE="$(InputPath)" -PreLink_Cmds=archutils\Win32\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ +PreLink_Cmds=archutils\Win32\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ PostBuild_Cmds=archutils\Win32\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi # End Special Build Tool @@ -1699,6 +1699,14 @@ SOURCE=.\archutils\Win32\DebugInfoHunt.h # End Source File # Begin Source File +SOURCE=.\archutils\Win32\DialogUtil.cpp +# End Source File +# Begin Source File + +SOURCE=.\archutils\Win32\DialogUtil.h +# End Source File +# Begin Source File + SOURCE=.\archutils\Win32\GetFileInformation.cpp # End Source File # Begin Source File @@ -3697,6 +3705,14 @@ SOURCE=.\cursor1.cur # End Source File # Begin Source File +SOURCE=.\archutils\Win32\DialogCrashHeader.bmp +# End Source File +# Begin Source File + +SOURCE=.\archutils\Win32\DialogErrorHeader.bmp +# End Source File +# Begin Source File + SOURCE=.\error.bmp # End Source File # Begin Source File @@ -3705,6 +3721,10 @@ SOURCE=.\error2.bmp # End Source File # Begin Source File +SOURCE=.\archutils\Win32\header.bmp +# End Source File +# Begin Source File + SOURCE=.\loading.bmp # End Source File # Begin Source File diff --git a/stepmania/src/arch/LoadingWindow/LoadingWindow_Win32.cpp b/stepmania/src/arch/LoadingWindow/LoadingWindow_Win32.cpp index ef9df3cdb9..8a20f2f413 100644 --- a/stepmania/src/arch/LoadingWindow/LoadingWindow_Win32.cpp +++ b/stepmania/src/arch/LoadingWindow/LoadingWindow_Win32.cpp @@ -142,14 +142,17 @@ void LoadingWindow_Win32::SetText( CString sText ) while( asMessageLines.size() < 3 ) asMessageLines.push_back( "" ); - const int msgs[] = { IDC_STATIC_MESSAGE1, IDC_STATIC_MESSAGE2, IDC_STATIC_MESSAGE3 }; + const int msgid[] = { IDC_STATIC_MESSAGE1, IDC_STATIC_MESSAGE2, IDC_STATIC_MESSAGE3 }; for( unsigned i = 0; i < 3; ++i ) { if( text[i] == asMessageLines[i] ) continue; text[i] = asMessageLines[i]; - SendDlgItemMessage( hwnd, msgs[i], WM_SETTEXT, 0, (LPARAM)asMessageLines[i].c_str()); + HWND hwndItem = ::GetDlgItem( hwnd, msgid[i] ); + + wstring w = RStringToWstring( asMessageLines[i] ); + ::SetWindowTextW( hwndItem, w.c_str() ); } } diff --git a/stepmania/src/archutils/Win32/DialogErrorHeader.bmp b/stepmania/src/archutils/Win32/DialogErrorHeader.bmp deleted file mode 100644 index 341587260f7b80a8304eb349956b764a1b01dc13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36242 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 EKc&Es-2eap diff --git a/stepmania/src/archutils/Win32/DialogUtil.cpp b/stepmania/src/archutils/Win32/DialogUtil.cpp new file mode 100644 index 0000000000..26d83303cd --- /dev/null +++ b/stepmania/src/archutils/Win32/DialogUtil.cpp @@ -0,0 +1,110 @@ +#include "global.h" +#include "DialogUtil.h" +#include "RageUtil.h" +#include "ThemeManager.h" + +// Create*Font copied from MFC's CFont + +// pLogFont->nHeight is interpreted as PointSize * 10 +static HFONT CreatePointFontIndirect(const LOGFONT* lpLogFont) +{ + HDC hDC = ::GetDC(NULL); + + // convert nPointSize to logical units based on pDC + LOGFONT logFont = *lpLogFont; + POINT pt; + pt.y = ::GetDeviceCaps(hDC, LOGPIXELSY) * logFont.lfHeight; + pt.y /= 720; // 72 points/inch, 10 decipoints/point + pt.x = 0; + ::DPtoLP(hDC, &pt, 1); + POINT ptOrg = { 0, 0 }; + ::DPtoLP(hDC, &ptOrg, 1); + logFont.lfHeight = -abs(pt.y - ptOrg.y); + + ReleaseDC(NULL, hDC); + + return ::CreateFontIndirect(&logFont); +} + +// nPointSize is actually scaled 10x +static HFONT CreatePointFont(int nPointSize, LPCTSTR lpszFaceName) +{ + ASSERT(lpszFaceName); + + LOGFONT logFont; + memset(&logFont, 0, sizeof(LOGFONT)); + logFont.lfCharSet = DEFAULT_CHARSET; + logFont.lfHeight = nPointSize; + lstrcpyn(logFont.lfFaceName, lpszFaceName, strlen(logFont.lfFaceName)); + + return ::CreatePointFontIndirect(&logFont); +} + +void DialogUtil::SetHeaderFont( HWND hdlg, int nID ) +{ + ASSERT( hdlg ); + + HWND hControl = ::GetDlgItem( hdlg, nID ); + ASSERT( hControl ); + + // TODO: Fix font leak + const int FONT_POINTS = 16; + HFONT hfont = CreatePointFont( FONT_POINTS*10, "Arial Black" ); + ::SendMessage( hControl, WM_SETFONT, (WPARAM)hfont, TRUE ); +} + +void DialogUtil::LocalizeDialogAndContents( HWND hdlg ) +{ + // TODO: No SetWindowTextW on Win9x + + const int LARGE_STRING = 256; + char szTemp[LARGE_STRING] = ""; + RString sGroup; + + { + ::GetWindowText( hdlg, szTemp, ARRAYSIZE(szTemp) ); + RString s = szTemp; + sGroup = "Tools-"+s; + s = THEME->GetString( sGroup, s ); + wstring w = RStringToWstring( s ); + ::SetWindowTextW( hdlg, w.c_str() ); + } + + for( HWND hwndChild = ::GetTopWindow(hdlg); hwndChild != NULL; hwndChild = ::GetNextWindow(hwndChild,GW_HWNDNEXT) ) + { + ::GetWindowText( hwndChild, szTemp, ARRAYSIZE(szTemp) ); + RString s = szTemp; + if( s.empty() ) + continue; + s = THEME->GetString( sGroup, s ); + wstring w = RStringToWstring( s ); + ::SetWindowTextW( hwndChild, w.c_str() ); + } +} + + +/* + * (c) 2002-2004 Chris Danford + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, and/or sell copies of the Software, and to permit persons to + * whom the Software is furnished to do so, provided that the above + * copyright notice(s) and this permission notice appear in all copies of + * the Software and that both the above copyright notice(s) and this + * permission notice appear in supporting documentation. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF + * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS + * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT + * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + diff --git a/stepmania/src/archutils/Win32/DialogUtil.h b/stepmania/src/archutils/Win32/DialogUtil.h new file mode 100644 index 0000000000..be685d76d2 --- /dev/null +++ b/stepmania/src/archutils/Win32/DialogUtil.h @@ -0,0 +1,37 @@ +#ifndef DialogUtil_H +#define DialogUtil_H + +#include + +namespace DialogUtil +{ + void SetHeaderFont( HWND hdlg, int nID ); + void LocalizeDialogAndContents( HWND hdlg ); +}; + +#endif + +/* + * (c) 2002-2004 Glenn Maynard + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, and/or sell copies of the Software, and to permit persons to + * whom the Software is furnished to do so, provided that the above + * copyright notice(s) and this permission notice appear in all copies of + * the Software and that both the above copyright notice(s) and this + * permission notice appear in supporting documentation. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF + * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS + * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT + * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ diff --git a/stepmania/src/archutils/Win32/WindowsResources.h b/stepmania/src/archutils/Win32/WindowsResources.h index 20ac79a127..4eb874d2eb 100644 --- a/stepmania/src/archutils/Win32/WindowsResources.h +++ b/stepmania/src/archutils/Win32/WindowsResources.h @@ -1,16 +1,17 @@ //{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. +// Microsoft Developer Studio generated include file. // Used by WindowsResources.rc // #define IDC_CRASH_SAVE 16 #define IDD_ERROR_DIALOG 111 #define IDD_LOADING_DIALOG 116 #define BITMAP_LOADING 117 -#define BITMAP_CRASH 121 -#define BITMAP_ERROR 129 #define IDD_OK 118 #define IDD_DRIVER 119 #define IDD_DISASM_CRASH 120 +#define BITMAP_CRASH 121 +#define BITMAP_ERROR 129 +#define IDB_HEADER 131 #define IDC_SHOCKWAVEFLASH1 1000 #define IDC_BUTTON_RESTART 1001 #define IDM_TOGGLEFULLSCREEN 1002 @@ -44,7 +45,7 @@ // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 131 +#define _APS_NEXT_RESOURCE_VALUE 132 #define _APS_NEXT_COMMAND_VALUE 40009 #define _APS_NEXT_CONTROL_VALUE 1021 #define _APS_NEXT_SYMED_VALUE 101 diff --git a/stepmania/src/archutils/Win32/WindowsResources.rc b/stepmania/src/archutils/Win32/WindowsResources.rc index 694290f73c..b979d43a2e 100644 --- a/stepmania/src/archutils/Win32/WindowsResources.rc +++ b/stepmania/src/archutils/Win32/WindowsResources.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +//Microsoft Developer Studio generated resource script. // #include "WindowsResources.h" @@ -26,10 +26,10 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US // Dialog // -IDD_ERROR_DIALOG DIALOGEX 0, 0, 332, 234 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION +IDD_ERROR_DIALOG DIALOG DISCARDABLE 0, 0, 332, 234 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION CAPTION "Error" -FONT 8, "MS Sans Serif", 0, 0, 0x0 +FONT 8, "MS Sans Serif" BEGIN DEFPUSHBUTTON "Close",IDOK,265,215,60,15 EDITTEXT IDC_EDIT_ERROR,5,80,320,130,ES_MULTILINE | ES_READONLY | @@ -37,13 +37,13 @@ BEGIN PUSHBUTTON "View Log",IDC_BUTTON_VIEW_LOG,8,215,74,15 PUSHBUTTON "Report the Error",IDC_BUTTON_REPORT,90,215,76,15 PUSHBUTTON "Restart Game",IDC_BUTTON_RESTART,175,215,80,15 - CONTROL 129,IDC_STATIC,"Static",SS_BITMAP,0,0,332,38 + CONTROL 131,IDC_STATIC,"Static",SS_BITMAP,0,0,332,38 LTEXT "Sorry! A fatal error has occurred.\r\n\r\nSpecific details about the error may be shown in the box below:", IDC_STATIC,7,46,298,28 END -IDD_LOADING_DIALOG DIALOG 0, 0, 312, 82 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE +IDD_LOADING_DIALOG DIALOG DISCARDABLE 0, 0, 312, 82 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE FONT 8, "MS Sans Serif" BEGIN CTEXT "line1",IDC_STATIC_MESSAGE1,0,41,310,10,SS_NOPREFIX | @@ -55,11 +55,13 @@ BEGIN CONTROL "",IDC_SPLASH,"Static",SS_BITMAP,0,0,310,25 END -IDD_DISASM_CRASH DIALOGEX 0, 0, 399, 151 -STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION +IDD_DISASM_CRASH DIALOG DISCARDABLE 0, 0, 399, 151 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION CAPTION "Error" -FONT 8, "MS Sans Serif", 0, 0, 0x1 +FONT 8, "MS Sans Serif" BEGIN + CONTROL 131,IDC_STATIC,"Static",SS_BITMAP,1,0,332,38 + CONTROL 131,IDC_STATIC,"Static",SS_BITMAP,66,0,332,38 PUSHBUTTON "&View crash dump",IDC_CRASH_SAVE,1,135,70,15 PUSHBUTTON "View &Log",IDC_VIEW_LOG,75,135,70,15 PUSHBUTTON "Report the &Error",IDC_BUTTON_REPORT,210,135,76,15 @@ -69,15 +71,13 @@ BEGIN WS_VSCROLL | WS_TABSTOP LTEXT "crash reason: programmer needs good whack on head", IDC_STATIC_BOMBREASON,8,120,219,8 - CONTROL 121,IDC_STATIC,"Static",SS_BITMAP,1,2,396,36 LTEXT "A fatal error has occurred. Diagnostic information has been saved to a file called ""crashinfo.txt"" in the game program directory. Hit ""View crash dump"" to view it. Please include this file in all bug reports.", IDC_STATIC,8,41,382,19 LTEXT "Estimated call stack",IDC_STATIC,7,64,64,8 END -IDD_OK DIALOG 0, 0, 318, 87 -STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | - WS_CAPTION +IDD_OK DIALOG DISCARDABLE 0, 0, 318, 87 +STYLE DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION CAPTION "Prompt" FONT 8, "MS Shell Dlg" BEGIN @@ -90,8 +90,8 @@ BEGIN END IDD_DRIVER DIALOGEX 0, 0, 286, 125 -STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | - WS_CAPTION | WS_SYSMENU +STYLE DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | + WS_SYSMENU CAPTION "Outdated Drivers" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN @@ -109,7 +109,7 @@ END // #ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO +GUIDELINES DESIGNINFO MOVEABLE PURE BEGIN IDD_LOADING_DIALOG, DIALOG BEGIN @@ -152,18 +152,18 @@ END // TEXTINCLUDE // -1 TEXTINCLUDE +1 TEXTINCLUDE MOVEABLE PURE BEGIN "WindowsResources.h\0" END -2 TEXTINCLUDE +2 TEXTINCLUDE MOVEABLE PURE BEGIN "#include ""afxres.h""\r\n" "\0" END -3 TEXTINCLUDE +3 TEXTINCLUDE MOVEABLE PURE BEGIN "\r\n" "\0" @@ -179,8 +179,9 @@ END // Icon with lowest ID value placed first to ensure application icon // remains consistent on all systems. -IDI_ICON ICON "StepMania.ICO" +IDI_ICON ICON DISCARDABLE "StepMania.ICO" +#ifndef _MAC ///////////////////////////////////////////////////////////////////////////// // // Version @@ -203,14 +204,14 @@ BEGIN BEGIN BLOCK "040904b0" BEGIN - VALUE "CompanyName", "http://www.stepmania.com" - VALUE "FileDescription", "StepMania" - VALUE "FileVersion", "1, 0, 0, 1" - VALUE "InternalName", "StepMania" - VALUE "LegalCopyright", "Copyright © 2001-2002" - VALUE "OriginalFilename", "StepMania.exe" - VALUE "ProductName", " StepMania" - VALUE "ProductVersion", "1, 0, 0, 1" + VALUE "CompanyName", "http://www.stepmania.com\0" + VALUE "FileDescription", "StepMania\0" + VALUE "FileVersion", "1, 0, 0, 1\0" + VALUE "InternalName", "StepMania\0" + VALUE "LegalCopyright", "Copyright © 2001-2002\0" + VALUE "OriginalFilename", "StepMania.exe\0" + VALUE "ProductName", " StepMania\0" + VALUE "ProductVersion", "1, 0, 0, 1\0" END END BLOCK "VarFileInfo" @@ -219,14 +220,15 @@ BEGIN END END +#endif // !_MAC + ///////////////////////////////////////////////////////////////////////////// // // Bitmap // -BITMAP_ERROR BITMAP "DialogCrashHeader.bmp" -BITMAP_CRASH BITMAP "DialogErrorHeader.bmp" +IDB_HEADER BITMAP DISCARDABLE "header.bmp" #endif // English (U.S.) resources ///////////////////////////////////////////////////////////////////////////// diff --git a/stepmania/src/archutils/Win32/DialogCrashHeader.bmp b/stepmania/src/archutils/Win32/header.bmp similarity index 68% rename from stepmania/src/archutils/Win32/DialogCrashHeader.bmp rename to stepmania/src/archutils/Win32/header.bmp index a5340e81570ac5d13dd1166eb63002a76b411beb..9a2c6a71f0a5ee1a9d3cf00acd8e7ab4dd6c3cb1 100644 GIT binary patch literal 31576 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 diff --git a/stepmania/src/smpackage-net2003.vcproj b/stepmania/src/smpackage-net2003.vcproj index fe6e44056f..b7785b621b 100644 --- a/stepmania/src/smpackage-net2003.vcproj +++ b/stepmania/src/smpackage-net2003.vcproj @@ -227,12 +227,6 @@ - - - - @@ -300,6 +294,12 @@ + + + + @@ -568,6 +568,9 @@ + + GetDlgCtrlID() == IDC_STATIC_HEADER_TEXT ) + { + hbr = (HBRUSH)::GetStockObject(HOLLOW_BRUSH); + pDC->SetBkMode(TRANSPARENT); + } + + // TODO: Return a different brush if the default is not desired + return hbr; +} + /* * (c) 2002-2005 Chris Danford * All rights reserved. diff --git a/stepmania/src/smpackage/ChangeGameSettings.h b/stepmania/src/smpackage/ChangeGameSettings.h index 5955755ea5..f4aabd04e9 100644 --- a/stepmania/src/smpackage/ChangeGameSettings.h +++ b/stepmania/src/smpackage/ChangeGameSettings.h @@ -39,6 +39,8 @@ protected: virtual void OnOK(); //}}AFX_MSG DECLARE_MESSAGE_MAP() +public: + afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); }; //{{AFX_INSERT_LOCATION}} diff --git a/stepmania/src/smpackage/CreateLanguageDlg.cpp b/stepmania/src/smpackage/CreateLanguageDlg.cpp index 2f4818586e..7647926df3 100644 --- a/stepmania/src/smpackage/CreateLanguageDlg.cpp +++ b/stepmania/src/smpackage/CreateLanguageDlg.cpp @@ -9,6 +9,7 @@ #include "RageUtil.h" #include "SMPackageUtil.h" #include ".\createlanguagedlg.h" +#include "archutils/Win32/DialogUtil.h" // CreateLanguageDlg dialog @@ -33,7 +34,7 @@ BOOL CreateLanguageDlg::OnInitDialog() CDialog::OnInitDialog(); // TODO: Add extra initialization here - SMPackageUtil::LocalizeDialogAndContents( *this ); + DialogUtil::LocalizeDialogAndContents( *this ); vector v; GetLanguageInfos( v ); diff --git a/stepmania/src/smpackage/EditInsallations.cpp b/stepmania/src/smpackage/EditInsallations.cpp index a55614c50f..d51053c1a2 100644 --- a/stepmania/src/smpackage/EditInsallations.cpp +++ b/stepmania/src/smpackage/EditInsallations.cpp @@ -6,7 +6,10 @@ #include "stdafx.h" #include "smpackage.h" #include "EditInsallations.h" -#include "smpackageUtil.h" +#include "SMPackageUtil.h" +#include "archutils/Win32/DialogUtil.h" +#include ".\editinsallations.h" +#include "LocalizedString.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -43,6 +46,7 @@ BEGIN_MESSAGE_MAP(EditInsallations, CDialog) ON_BN_CLICKED(IDC_BUTTON_MAKE_DEFAULT, OnButtonMakeDefault) ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd) //}}AFX_MSG_MAP + ON_LBN_SELCHANGE(IDC_LIST, OnLbnSelchangeList) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// @@ -53,7 +57,7 @@ BOOL EditInsallations::OnInitDialog() CDialog::OnInitDialog(); // TODO: Add extra initialization here - SMPackageUtil::LocalizeDialogAndContents( *this ); + DialogUtil::LocalizeDialogAndContents( *this ); vector vs; SMPackageUtil::GetStepManiaInstallDirs( vs ); @@ -69,17 +73,8 @@ BOOL EditInsallations::OnInitDialog() void EditInsallations::OnButtonRemove() { // TODO: Add your control notification handler code here - if( m_list.GetCount() == 1 ) - { - AfxMessageBox( "You cannot remove the list item in the list." ); - return; - } - - if( m_list.GetCurSel() == LB_ERR ) - { - AfxMessageBox( "You must select an item from the list first." ); - return; - } + ASSERT( m_list.GetCount() > 1 ); // cannot remove the list item in the list + ASSERT( m_list.GetCurSel() != LB_ERR ); m_list.DeleteString( m_list.GetCurSel() ); } @@ -87,11 +82,7 @@ void EditInsallations::OnButtonRemove() void EditInsallations::OnButtonMakeDefault() { // TODO: Add your control notification handler code here - if( m_list.GetCurSel() == LB_ERR ) - { - AfxMessageBox( "You must select an item from the list first." ); - return; - } + ASSERT( m_list.GetCurSel() != LB_ERR ); CString sText; m_list.GetText( m_list.GetCurSel(), sText ); @@ -99,6 +90,7 @@ void EditInsallations::OnButtonMakeDefault() m_list.InsertString( 0, sText ); } +static LocalizedString YOU_MUST_TYPE_IN ("EditInstallations","You must type a program directory before clicking Add."); void EditInsallations::OnButtonAdd() { // TODO: Add your control notification handler code here @@ -107,7 +99,7 @@ void EditInsallations::OnButtonAdd() if( sText == "" ) { - AfxMessageBox( "You must type a SM or DWI program directory before clicking add." ); + AfxMessageBox( YOU_MUST_TYPE_IN.GetValue() ); return; } @@ -129,6 +121,16 @@ void EditInsallations::OnOK() CDialog::OnOK(); } +void EditInsallations::OnLbnSelchangeList() +{ + // TODO: Add your control notification handler code here + bool bSomethingSelected = m_list.GetCurSel() != LB_ERR; + bool bMoreThanOne = m_list.GetCurSel() != LB_ERR; + + this->GetDlgItem(IDC_BUTTON_MAKE_DEFAULT)->EnableWindow( bSomethingSelected ); + this->GetDlgItem(IDC_BUTTON_REMOVE)->EnableWindow( bMoreThanOne ); +} + /* * (c) 2002-2005 Chris Danford * All rights reserved. diff --git a/stepmania/src/smpackage/EditInsallations.h b/stepmania/src/smpackage/EditInsallations.h index 149f7b4ae4..c5549fb51d 100644 --- a/stepmania/src/smpackage/EditInsallations.h +++ b/stepmania/src/smpackage/EditInsallations.h @@ -45,6 +45,8 @@ protected: virtual void OnOK(); //}}AFX_MSG DECLARE_MESSAGE_MAP() +public: + afx_msg void OnLbnSelchangeList(); }; //{{AFX_INSERT_LOCATION}} diff --git a/stepmania/src/smpackage/EnterComment.cpp b/stepmania/src/smpackage/EnterComment.cpp index 39de37137e..70b80cacab 100644 --- a/stepmania/src/smpackage/EnterComment.cpp +++ b/stepmania/src/smpackage/EnterComment.cpp @@ -6,7 +6,7 @@ #include "stdafx.h" #include "smpackage.h" #include "EnterComment.h" -#include "SMPackageUtil.h" +#include "archutils/Win32/DialogUtil.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -42,7 +42,7 @@ BOOL EnterComment::OnInitDialog() CDialog::OnInitDialog(); // TODO: Add extra initialization here - SMPackageUtil::LocalizeDialogAndContents( *this ); + DialogUtil::LocalizeDialogAndContents( *this ); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE diff --git a/stepmania/src/smpackage/EnterName.cpp b/stepmania/src/smpackage/EnterName.cpp index 776f927f07..39db91f43b 100644 --- a/stepmania/src/smpackage/EnterName.cpp +++ b/stepmania/src/smpackage/EnterName.cpp @@ -6,7 +6,7 @@ #include "stdafx.h" #include "smpackage.h" #include "EnterName.h" -#include "SMPackageUtil.h" +#include "archutils/Win32/DialogUtil.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -39,7 +39,7 @@ BOOL EnterName::OnInitDialog() CDialog::OnInitDialog(); // TODO: Add extra initialization here - SMPackageUtil::LocalizeDialogAndContents( *this ); + DialogUtil::LocalizeDialogAndContents( *this ); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE diff --git a/stepmania/src/smpackage/LanguagesDlg.cpp b/stepmania/src/smpackage/LanguagesDlg.cpp index d46f7c42f6..a750a010ac 100644 --- a/stepmania/src/smpackage/LanguagesDlg.cpp +++ b/stepmania/src/smpackage/LanguagesDlg.cpp @@ -17,6 +17,8 @@ #include "RageFileManager.h" #include ".\languagesdlg.h" #include "CsvFile.h" +#include "archutils/Win32/DialogUtil.h" +#include "LocalizedString.h" // LanguagesDlg dialog @@ -42,7 +44,7 @@ BOOL LanguagesDlg::OnInitDialog() { CDialog::OnInitDialog(); - SMPackageUtil::LocalizeDialogAndContents( *this ); + DialogUtil::LocalizeDialogAndContents( *this ); vector vs; GetDirListing( SpecialFiles::THEMES_DIR+"*", vs, true ); @@ -217,6 +219,7 @@ void LanguagesDlg::OnBnClickedButtonCreate() OnSelchangeListLanguages(); } +static LocalizedString THIS_WILL_PERMANENTLY_DELETE( "LanguagesDlg", "This will permanently delete '%s'. Continue?" ); void LanguagesDlg::OnBnClickedButtonDelete() { // TODO: Add your control notification handler code here @@ -228,7 +231,7 @@ void LanguagesDlg::OnBnClickedButtonDelete() RString sLanguageFile = GetLanguageFile( sTheme, sLanguage ); - int iRet = MessageBox( ssprintf("This will permanently delete '%s'. Continue?",sLanguageFile.c_str()), NULL, MB_OKCANCEL ); + int iRet = MessageBox( ssprintf(THIS_WILL_PERMANENTLY_DELETE.GetValue(),sLanguageFile.c_str()), NULL, MB_OKCANCEL ); if( iRet != IDOK ) return; @@ -243,6 +246,9 @@ struct TranslationLine RString sSection, sID, sBaseLanguage, sCurrentLanguage; }; +static LocalizedString FAILED_TO_SAVE ( "LanguagesDlg", "Failed to save '%s'." ); +static LocalizedString THERE_ARE_NO_STRINGS_TO_EXPORT ( "LanguagesDlg", "There are no strings to export for this language." ); +static LocalizedString EXPORTED_TO_YOUR_DESKTOP ( "LanguagesDlg", "Exported to your Desktop as '%s'." ); void LanguagesDlg::OnBnClickedButtonExport() { // TODO: Add your control notification handler code here @@ -289,15 +295,22 @@ void LanguagesDlg::OnBnClickedButtonExport() RString sFullFile = "Desktop/"+sFile; if( iNumExpored == 0 ) { - MessageBox( "There are no strings to export for this language." ); + MessageBox( THERE_ARE_NO_STRINGS_TO_EXPORT.GetValue() ); return; } + if( csv.WriteFile(sFullFile) ) - MessageBox( ssprintf("Exported to your Desktop as '%s'.",sFile.c_str()) ); + MessageBox( ssprintf(EXPORTED_TO_YOUR_DESKTOP.GetValue(),sFile.c_str()) ); else - MessageBox( ssprintf("Failed to save '%s'.",sFullFile.c_str()) ); + MessageBox( ssprintf(FAILED_TO_SAVE.GetValue(),sFullFile.c_str()) ); } +static LocalizedString ERROR_READING_FILE ( "LanguagesDlg", "Error reading file '%s'." ); +static LocalizedString ERROR_PARSING_FILE ( "LanguagesDlg", "Error parsing file '%s'." ); +static LocalizedString IMPORTING_THESE_STRINGS_WILL_OVERRIDE( "LanguagesDlg", "Importing these strings will override all data in '%s'. Continue?" ); +static LocalizedString ERROR_READING ( "LanguagesDlg", "Error reading '%s'." ); +static LocalizedString ERROR_READING_EACH_LINE_MUST_HAVE ( "LanguagesDlg", "Error reading '%s': Each line must have either 3 or 4 values. This row has %d values." ); +static LocalizedString IMPORTED_STRINGS_INTO ( "LanguagesDlg", "Imported %d strings into '%s'. %d empty strings were ignored." ); void LanguagesDlg::OnBnClickedButtonImport() { // TODO: Add your control notification handler code here @@ -322,20 +335,20 @@ void LanguagesDlg::OnBnClickedButtonImport() RageFileOsAbsolute cvsFile; if( !cvsFile.Open(sCsvFile) ) { - MessageBox( ssprintf("Error reading file '%s'.",sCsvFile.c_str()) ); + MessageBox( ssprintf(ERROR_READING_FILE.GetValue(),sCsvFile.c_str()) ); return; } CsvFile csv; if( !csv.ReadFile(cvsFile) ) { - MessageBox( ssprintf("Error parsing file '%s'.",sCsvFile.c_str()) ); + MessageBox( ssprintf(ERROR_PARSING_FILE.GetValue(),sCsvFile.c_str()) ); return; } RString sLanguageFile = GetLanguageFile( sTheme, sLanguage ); { - int iRet = MessageBox( ssprintf("Importing these strings will override all data in '%s'. Continue?",sLanguageFile.c_str()), NULL, MB_OKCANCEL ); + int iRet = MessageBox( ssprintf(IMPORTING_THESE_STRINGS_WILL_OVERRIDE.GetValue(),sLanguageFile.c_str()), NULL, MB_OKCANCEL ); if( iRet != IDOK ) return; } @@ -343,7 +356,7 @@ void LanguagesDlg::OnBnClickedButtonImport() IniFile ini; if( !ini.ReadFile(sLanguageFile) ) { - MessageBox( ssprintf("Error reading '%s'.",sLanguageFile.c_str()) ); + MessageBox( ssprintf(ERROR_READING.GetValue(),sLanguageFile.c_str()) ); return; } @@ -355,7 +368,7 @@ void LanguagesDlg::OnBnClickedButtonImport() int iNumValues = line->size(); if( iNumValues != 3 && iNumValues != 4 ) { - MessageBox( ssprintf("Error reading '%s': Each line must have either 3 or 4 values. This row has %d values",sCsvFile.c_str(),iNumValues) ); + MessageBox( ssprintf(ERROR_READING_EACH_LINE_MUST_HAVE.GetValue(),sCsvFile.c_str(),iNumValues) ); return; } tl.sSection = (*line)[0]; @@ -375,9 +388,9 @@ void LanguagesDlg::OnBnClickedButtonImport() } if( ini.WriteFile(sLanguageFile) ) - MessageBox( ssprintf("Imported %d strings into '%s'. %d empty strings were ignored.",iNumImported,sLanguageFile.c_str(),iNumIgnored) ); + MessageBox( ssprintf(IMPORTED_STRINGS_INTO.GetValue(),iNumImported,sLanguageFile.c_str(),iNumIgnored) ); else - MessageBox( ssprintf("Failed to save '%s'.",sLanguageFile.c_str()) ); + MessageBox( ssprintf(FAILED_TO_SAVE.GetValue(),sLanguageFile.c_str()) ); OnSelchangeListThemes(); } diff --git a/stepmania/src/smpackage/MainMenuDlg.cpp b/stepmania/src/smpackage/MainMenuDlg.cpp index 5c3e5a2bb1..d65693633f 100644 --- a/stepmania/src/smpackage/MainMenuDlg.cpp +++ b/stepmania/src/smpackage/MainMenuDlg.cpp @@ -17,6 +17,9 @@ #include "ProductInfo.h" #include "mainmenudlg.h" #include "LanguagesDlg.h" +#include ".\mainmenudlg.h" +#include "archutils/Win32/DialogUtil.h" +#include "LocalizedString.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -43,7 +46,6 @@ void MainMenuDlg::DoDataExchange(CDataExchange* pDX) //{{AFX_DATA_MAP(MainMenuDlg) // NOTE: the ClassWizard will add DDX and DDV calls here //}}AFX_DATA_MAP - DDX_Control(pDX, IDC_STATIC_HEADER_TEXT, m_staticHeaderText); } @@ -59,6 +61,8 @@ BEGIN_MESSAGE_MAP(MainMenuDlg, CDialog) //}}AFX_MSG_MAP ON_BN_CLICKED(IDC_BUTTON_LAUNCH_GAME, OnBnClickedButtonLaunchGame) ON_BN_CLICKED(IDC_LANGUAGES, OnBnClickedLanguages) + ON_WM_CTLCOLOR() + ON_WM_ERASEBKGND() END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// @@ -103,15 +107,23 @@ RString GetLastErrorString() return s; } +static LocalizedString MUSIC_FILE ( "MainMenuDlg", "Music file" ); +static LocalizedString FAILED_TO_CREATE_DIRECTORY ( "MainMenuDlg", "Failed to create directory '%s': %s" ); +static LocalizedString FAILED_TO_CREATE_SONG_DIRECTORY ( "MainMenuDlg", "Failed to create song directory '%s': %s" ); +static LocalizedString FAILED_TO_COPY_MUSIC_FILE ( "MainMenuDlg", "Failed to copy music file '%s' to '%s': %s" ); +static LocalizedString FAILED_TO_CREATE_THE_SONG_FILE ( "MainMenuDlg", "Failed to create the song file '%s'" ); +static LocalizedString SUCCESS_CREATED_THE_SONG ( "MainMenuDlg", "Success. Created the song '%s'" ); void MainMenuDlg::OnCreateSong() { // TODO: Add your control notification handler code here + ASSERT(0); + // fix compile CFileDialog dialog ( TRUE, // file open? NULL, // default file extension NULL, // default file name OFN_HIDEREADONLY | OFN_NOCHANGEDIR, // flags - "Music file (*.mp3;*.ogg)|*.mp3;*.ogg|||" + ""//MUSIC_FILE.GetValue()+" (*.mp3;*.ogg)|*.mp3;*.ogg|||" ); int iRet = dialog.DoModal(); RString sMusicFile = dialog.GetPathName(); @@ -131,7 +143,7 @@ void MainMenuDlg::OnCreateSong() // This failure is ok. We probably created this directory already while importing another song. break; default: - MessageBox( "Failed to create directory '" + sSongDirectory + "': " + GetLastErrorString() ); + MessageBox( ssprintf(FAILED_TO_CREATE_DIRECTORY.GetValue(),sSongDirectory.c_str(),GetLastErrorString().c_str()) ); return; } } @@ -140,7 +152,7 @@ void MainMenuDlg::OnCreateSong() bSuccess = CreateDirectory( sSongDirectory, NULL ); // CreateDirectory doesn't like a trailing slash if( !bSuccess ) { - MessageBox( "Failed to create song directory '" + sSongDirectory + "': " + GetLastErrorString() ); + MessageBox( ssprintf(FAILED_TO_CREATE_SONG_DIRECTORY.GetValue(),sSongDirectory.c_str(),GetLastErrorString().c_str()) ); return; } sSongDirectory += "\\"; @@ -149,7 +161,7 @@ void MainMenuDlg::OnCreateSong() bSuccess = CopyFile( sMusicFile, sNewMusicFile, TRUE ); if( !bSuccess ) { - MessageBox( "Failed to copy music file to '" + sNewMusicFile + "': " + GetLastErrorString() ); + MessageBox( ssprintf(FAILED_TO_COPY_MUSIC_FILE.GetValue(),sMusicFile.c_str(),sNewMusicFile.c_str(),GetLastErrorString().c_str()) ); return; } @@ -159,12 +171,12 @@ void MainMenuDlg::OnCreateSong() FILE *fp = fopen( sNewSongFile, "w" ); if( fp == NULL ) { - MessageBox( "Failed to create the song file '" + sNewSongFile + "'" ); + MessageBox( ssprintf(FAILED_TO_CREATE_THE_SONG_FILE.GetValue(),sNewSongFile.c_str()) ); return; } fclose( fp ); - MessageBox( "Success. Created the song '" + sSongDirectory + "'" ); + MessageBox( ssprintf(SUCCESS_CREATED_THE_SONG.GetValue(),sSongDirectory.c_str()) ); } BOOL MainMenuDlg::OnInitDialog() @@ -172,8 +184,8 @@ BOOL MainMenuDlg::OnInitDialog() CDialog::OnInitDialog(); // TODO: Add extra initialization here - SMPackageUtil::LocalizeDialogAndContents( *this ); - SMPackageUtil::SetHeaderFont( *this ); + DialogUtil::LocalizeDialogAndContents( *this ); + DialogUtil::SetHeaderFont( *this, IDC_STATIC_HEADER_TEXT ); TCHAR szCurDir[MAX_PATH]; GetCurrentDirectory( ARRAYSIZE(szCurDir), szCurDir ); @@ -185,18 +197,20 @@ BOOL MainMenuDlg::OnInitDialog() // EXCEPTION: OCX Property Pages should return FALSE } +static LocalizedString FAILED_TO_DELETE_FILE ( "MainMenuDlg", "Failed to delete file '%s'." ); +static LocalizedString IS_ALREADY_CLEARED ( "MainMenuDlg", "'%s' is already cleared." ); void MainMenuDlg::OnBnClickedClearKeymaps() { // TODO: Add your control notification handler code here if( !DoesFileExist( SpecialFiles::KEYMAPS_PATH ) ) { - MessageBox( SpecialFiles::KEYMAPS_PATH + " is already cleared." ); + MessageBox( ssprintf(IS_ALREADY_CLEARED.GetValue(),SpecialFiles::KEYMAPS_PATH.c_str()) ); } else { if( !DeleteFile( SpecialFiles::KEYMAPS_PATH ) ) - MessageBox( "Failed to delete file " + SpecialFiles::KEYMAPS_PATH + "." ); + MessageBox( ssprintf(FAILED_TO_DELETE_FILE.GetValue(), SpecialFiles::KEYMAPS_PATH.c_str()) ); } } @@ -207,36 +221,39 @@ void MainMenuDlg::OnBnClickedChangePreferences() dlg.DoModal(); } +static LocalizedString DOESNT_EXIST_IT_WILL_BE_CREATED ( "MainMenuDlg", "'%s' doesn't exist. It will be created next time you start the game." ); +static LocalizedString FAILED_TO_OPEN ( "MainMenuDlg", "Failed to open '%s': %s" ); void MainMenuDlg::OnBnClickedOpenPreferences() { // TODO: Add your control notification handler code here if( !DoesFileExist( SpecialFiles::PREFERENCES_INI_PATH ) ) { - MessageBox( SpecialFiles::PREFERENCES_INI_PATH + " doesn't exist. It will be created next time you start the game." ); + MessageBox( ssprintf(DOESNT_EXIST_IT_WILL_BE_CREATED.GetValue(),SpecialFiles::PREFERENCES_INI_PATH.c_str()) ); } else { if( NULL == ::ShellExecute( this->m_hWnd, "open", SpecialFiles::PREFERENCES_INI_PATH, "", "", SW_SHOWNORMAL ) ) - MessageBox( "Failed to open " + SpecialFiles::PREFERENCES_INI_PATH + ": " + GetLastErrorString() ); + MessageBox( ssprintf(FAILED_TO_OPEN.GetValue(),SpecialFiles::PREFERENCES_INI_PATH.c_str(),GetLastErrorString().c_str()) ); } } +static LocalizedString CLEARED( "MainMenuDlg", "'%s' cleared" ); void MainMenuDlg::OnBnClickedClearPreferences() { // TODO: Add your control notification handler code here if( !DoesFileExist( SpecialFiles::PREFERENCES_INI_PATH ) ) { - MessageBox( SpecialFiles::PREFERENCES_INI_PATH + " is already cleared." ); + MessageBox( ssprintf(IS_ALREADY_CLEARED.GetValue(),SpecialFiles::PREFERENCES_INI_PATH.c_str()) ); return; } if( !DeleteFile( SpecialFiles::PREFERENCES_INI_PATH ) ) { - MessageBox( "Failed to delete file " + SpecialFiles::PREFERENCES_INI_PATH + "." ); + MessageBox( ssprintf(FAILED_TO_DELETE_FILE.GetValue(),SpecialFiles::PREFERENCES_INI_PATH.c_str()) ); return; } - MessageBox( SpecialFiles::PREFERENCES_INI_PATH + " cleared." ); + MessageBox( ssprintf(CLEARED.GetValue(),SpecialFiles::PREFERENCES_INI_PATH.c_str()) ); } void MainMenuDlg::OnBnClickedButtonLaunchGame() @@ -253,6 +270,21 @@ void MainMenuDlg::OnBnClickedLanguages() dlg.DoModal(); } +HBRUSH MainMenuDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) +{ + HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); + + // TODO: Change any attributes of the DC here + if( pWnd->GetDlgCtrlID() == IDC_STATIC_HEADER_TEXT ) + { + hbr = (HBRUSH)::GetStockObject(HOLLOW_BRUSH); + pDC->SetBkMode(TRANSPARENT); + } + + // TODO: Return a different brush if the default is not desired + return hbr; +} + /* * (c) 2002-2005 Chris Danford * All rights reserved. diff --git a/stepmania/src/smpackage/MainMenuDlg.h b/stepmania/src/smpackage/MainMenuDlg.h index 4817490926..9e240a8ced 100644 --- a/stepmania/src/smpackage/MainMenuDlg.h +++ b/stepmania/src/smpackage/MainMenuDlg.h @@ -7,8 +7,6 @@ // MainMenuDlg.h : header file // -#include "TransparentStatic.h" - ///////////////////////////////////////////////////////////////////////////// // MainMenuDlg dialog @@ -34,7 +32,6 @@ public: // Implementation protected: - CTransparentStatic m_staticHeaderText; // Generated message map functions //{{AFX_MSG(MainMenuDlg) @@ -53,6 +50,7 @@ protected: public: afx_msg void OnBnClickedButtonLaunchGame(); afx_msg void OnBnClickedLanguages(); + afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); }; //{{AFX_INSERT_LOCATION}} diff --git a/stepmania/src/smpackage/SMPackageInstallDlg.cpp b/stepmania/src/smpackage/SMPackageInstallDlg.cpp index 1600a65788..ea004dbbfe 100644 --- a/stepmania/src/smpackage/SMPackageInstallDlg.cpp +++ b/stepmania/src/smpackage/SMPackageInstallDlg.cpp @@ -15,6 +15,8 @@ #include #include "RageFileManager.h" #include "RageFileDriverZip.h" +#include "archutils/Win32/DialogUtil.h" +#include "LocalizedString.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -48,7 +50,6 @@ void CSMPackageInstallDlg::DoDataExchange(CDataExchange* pDX) DDX_Control(pDX, IDC_BUTTON_EDIT, m_buttonEdit); DDX_Control(pDX, IDC_COMBO_DIR, m_comboDir); //}}AFX_DATA_MAP - DDX_Control(pDX, IDC_STATIC_HEADER_TEXT, m_staticHeaderText); } @@ -57,6 +58,7 @@ BEGIN_MESSAGE_MAP(CSMPackageInstallDlg, CDialog) ON_WM_PAINT() ON_BN_CLICKED(IDC_BUTTON_EDIT, OnButtonEdit) //}}AFX_MSG_MAP + ON_WM_CTLCOLOR() END_MESSAGE_MAP() @@ -68,6 +70,7 @@ static bool CompareStringNoCase( const RString &s1, const RString &s2 ) return s1.CompareNoCase( s2 ) < 0; } +static LocalizedString IS_NOT_A_VALID_ZIP( "CSMPackageInstallDlg", "'%s' is not a valid zip archive." ); BOOL CSMPackageInstallDlg::OnInitDialog() { CDialog::OnInitDialog(); @@ -78,13 +81,13 @@ BOOL CSMPackageInstallDlg::OnInitDialog() SetIcon(m_hIcon, FALSE); // Set small icon // TODO: Add extra initialization here - SMPackageUtil::LocalizeDialogAndContents( *this ); - SMPackageUtil::SetHeaderFont( *this ); + DialogUtil::LocalizeDialogAndContents( *this ); + DialogUtil::SetHeaderFont( *this, IDC_STATIC_HEADER_TEXT ); // mount the zip if( !FILEMAN->Mount( "zip", m_sPackagePath, TEMP_MOUNT_POINT ) ) { - AfxMessageBox( ssprintf("'%s' is not a valid zip archive.", m_sPackagePath), MB_ICONSTOP ); + AfxMessageBox( ssprintf(IS_NOT_A_VALID_ZIP.GetValue(), m_sPackagePath), MB_ICONSTOP ); exit( 1 ); } @@ -161,6 +164,7 @@ void CSMPackageInstallDlg::OnPaint() } } #include +#include ".\smpackageinstalldlg.h" bool CSMPackageInstallDlg::CheckPackages() { @@ -236,6 +240,9 @@ bool CSMPackageInstallDlg::CheckPackages() return true; } +static LocalizedString NO_INSTALLATIONS ("CSMPackageInstallDlg", "No Installations found. Exiting."); +static LocalizedString ERROR_COPYING_FILE ("CSMPackageInstallDlg", "Error copying file '%s'"); +static LocalizedString PACKAGE_INSTALLED_SUCCESSFULLY ("CSMPackageInstallDlg","Package installed successfully!"); void CSMPackageInstallDlg::OnOK() { // TODO: Add extra validation here @@ -255,7 +262,7 @@ void CSMPackageInstallDlg::OnOK() int iSelectedInstallDirIndex = m_comboDir.GetCurSel(); if( iSelectedInstallDirIndex == -1 ) { - MessageBox( "No Installations", "Error", MB_OK|MB_ICONEXCLAMATION ); + MessageBox( NO_INSTALLATIONS.GetValue(), NULL, MB_OK|MB_ICONEXCLAMATION ); return; } @@ -326,8 +333,8 @@ retry_unzip: RString sTo = sInstallDir + sTo; if( !FileCopy( sFile, sTo ) ) { - RString sError = ssprintf( "Error copying file '%s'", sBareFile.c_str() ); - switch( MessageBox( sError, "Error Extracting File", MB_ABORTRETRYIGNORE|MB_ICONEXCLAMATION ) ) + RString sError = ssprintf( ERROR_COPYING_FILE.GetValue(), sBareFile.c_str() ); + switch( MessageBox( sError, NULL, MB_ABORTRETRYIGNORE|MB_ICONEXCLAMATION ) ) { case IDABORT: exit(1); @@ -344,7 +351,7 @@ retry_unzip: pProgress1->StepIt(); //increase the progress bar of 1 step } - AfxMessageBox( "Package installed successfully!" ); + AfxMessageBox( PACKAGE_INSTALLED_SUCCESSFULLY.GetValue() ); // close the dialog CDialog::OnOK(); @@ -375,6 +382,21 @@ void CSMPackageInstallDlg::RefreshInstallationList() m_comboDir.SetCurSel( 0 ); // guaranteed to be at least one item } +HBRUSH CSMPackageInstallDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) +{ + HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); + + // TODO: Change any attributes of the DC here + if( pWnd->GetDlgCtrlID() == IDC_STATIC_HEADER_TEXT ) + { + hbr = (HBRUSH)::GetStockObject(HOLLOW_BRUSH); + pDC->SetBkMode(TRANSPARENT); + } + + // TODO: Return a different brush if the default is not desired + return hbr; +} + /* * (c) 2002-2005 Chris Danford * All rights reserved. @@ -398,4 +420,4 @@ void CSMPackageInstallDlg::RefreshInstallationList() * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. - */ + */ \ No newline at end of file diff --git a/stepmania/src/smpackage/SMPackageInstallDlg.h b/stepmania/src/smpackage/SMPackageInstallDlg.h index 1ea05d71d0..2ce331f154 100644 --- a/stepmania/src/smpackage/SMPackageInstallDlg.h +++ b/stepmania/src/smpackage/SMPackageInstallDlg.h @@ -7,8 +7,6 @@ // SMPackageInstallDlg.h : header file // -#include "TransparentStatic.h" - ///////////////////////////////////////////////////////////////////////////// // CSMPackageInstallDlg dialog @@ -40,7 +38,6 @@ protected: HICON m_hIcon; RString m_sPackagePath; - CTransparentStatic m_staticHeaderText; // Generated message map functions //{{AFX_MSG(CSMPackageInstallDlg) @@ -50,6 +47,8 @@ protected: afx_msg void OnButtonEdit(); //}}AFX_MSG DECLARE_MESSAGE_MAP() +public: + afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); }; //{{AFX_INSERT_LOCATION}} diff --git a/stepmania/src/smpackage/SMPackageUtil.cpp b/stepmania/src/smpackage/SMPackageUtil.cpp index 1b6cb1ff8b..cf9c20f487 100644 --- a/stepmania/src/smpackage/SMPackageUtil.cpp +++ b/stepmania/src/smpackage/SMPackageUtil.cpp @@ -6,8 +6,8 @@ #include "ProductInfo.h" #include "RageUtil.h" #include "RageFileManager.h" -#include "ThemeManager.h" #include "resource.h" +#include "LocalizedString.h" void SMPackageUtil::WriteStepManiaInstallDirs( const vector& asInstallDirsToWrite ) { @@ -164,19 +164,22 @@ bool SMPackageUtil::IsValidPackageDirectory( RString path ) return true; } +static LocalizedString COULD_NOT_FIND( "SMPackageUtil", "Could not find '%s'." ); bool SMPackageUtil::LaunchGame() { PROCESS_INFORMATION pi; STARTUPINFO si; ZeroMemory( &si, sizeof(si) ); - RString sFile = PRODUCT_NAME ".exe"; + RString sExe = PRODUCT_NAME ".exe"; + RString sFile = sExe; if( !DoesFileExist(sFile) ) { sFile = "Program\\" + sFile; if( !DoesFileExist(sFile) ) { - MessageBox( NULL, "Could not find " PRODUCT_NAME ".exe", "Error", MB_ICONEXCLAMATION ); + RString sError = ssprintf( COULD_NOT_FIND.GetValue(), sExe.c_str() ); + ::MessageBox( NULL, sError, NULL, MB_OK|MB_ICONEXCLAMATION ); return false; } } @@ -212,36 +215,6 @@ RString SMPackageUtil::GetLanguageCodeFromDisplayString( const RString &sDisplay return s; } -void SMPackageUtil::SetHeaderFont( CDialog &dlg ) -{ - CWnd *pWnd = dlg.GetDlgItem( IDC_STATIC_HEADER_TEXT ); - ASSERT( pWnd ); - CFont *pFont = new CFont; - const int FONT_POINTS = 16; - pFont->CreatePointFont( FONT_POINTS*10, "Arial Black" ); - pWnd->SetFont( pFont ); -} - -void SMPackageUtil::LocalizeDialogAndContents( CDialog &dlg ) -{ - CString sTemp; - dlg.GetWindowText( sTemp ); - RString sGroup = "Tools-"+sTemp; - dlg.GetWindowText( sTemp ); - RString s = sTemp; - dlg.SetWindowText( THEME->GetString(sGroup,s) ); - - for( CWnd *pChild = dlg.GetTopWindow(); pChild != NULL; pChild = pChild->GetNextWindow() ) - { - pChild->GetWindowText( sTemp ); - RString s = sTemp; - if( s.empty() ) - continue; - s = THEME->GetString( sGroup, s ); - pChild->SetWindowText( s ); - } -} - static const RString TEMP_MOUNT_POINT = "/@package/"; RageFileOsAbsolute::~RageFileOsAbsolute() diff --git a/stepmania/src/smpackage/ShowComment.cpp b/stepmania/src/smpackage/ShowComment.cpp index af74ca8130..9dd7bc4416 100644 --- a/stepmania/src/smpackage/ShowComment.cpp +++ b/stepmania/src/smpackage/ShowComment.cpp @@ -6,7 +6,7 @@ #include "stdafx.h" #include "smpackage.h" #include "ShowComment.h" -#include "SMPackageUtil.h" +#include "archutils/Win32/DialogUtil.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -50,7 +50,7 @@ BOOL ShowComment::OnInitDialog() CDialog::OnInitDialog(); // TODO: Add extra initialization here - SMPackageUtil::LocalizeDialogAndContents( *this ); + DialogUtil::LocalizeDialogAndContents( *this ); m_edit.SetWindowText( m_sComment ); diff --git a/stepmania/src/smpackage/SmpackageExportDlg.cpp b/stepmania/src/smpackage/SmpackageExportDlg.cpp index 1071e3d64a..b40b04005a 100644 --- a/stepmania/src/smpackage/SmpackageExportDlg.cpp +++ b/stepmania/src/smpackage/SmpackageExportDlg.cpp @@ -15,10 +15,13 @@ #include "IniFile.h" #include "RageFileDriverMemory.h" #include "archutils/Win32/SpecialDirs.h" +#include "archutils/Win32/DialogUtil.h" +#include "LocalizedString.h" #include #include #include +#include ".\smpackageexportdlg.h" using namespace std; #ifdef _DEBUG @@ -49,7 +52,6 @@ void CSmpackageExportDlg::DoDataExchange(CDataExchange* pDX) DDX_Control(pDX, IDC_BUTTON_EXPORT_AS_ONE, m_buttonExportAsOne); DDX_Control(pDX, IDC_TREE, m_tree); //}}AFX_DATA_MAP - DDX_Control(pDX, IDC_STATIC_HEADER_TEXT, m_staticHeaderText); } @@ -62,6 +64,7 @@ BEGIN_MESSAGE_MAP(CSmpackageExportDlg, CDialog) ON_CBN_SELCHANGE(IDC_COMBO_DIR, OnSelchangeComboDir) ON_BN_CLICKED(IDC_BUTTON_OPEN, OnButtonOpen) //}}AFX_MSG_MAP + ON_WM_CTLCOLOR() END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// @@ -72,8 +75,7 @@ BOOL CSmpackageExportDlg::OnInitDialog() CDialog::OnInitDialog(); // TODO: Add extra initialization here - SMPackageUtil::LocalizeDialogAndContents( *this ); - SMPackageUtil::SetHeaderFont( *this ); + DialogUtil::LocalizeDialogAndContents( *this ); RefreshInstallationList(); @@ -95,6 +97,7 @@ RString ReplaceInvalidFileNameChars( RString sOldFileName ) return sNewFileName; } +static LocalizedString ERROR_ADDING_FILE ( "SmpackageExportDlg", "Error adding file '%s'." ); static bool ExportPackage( RString sPackageName, const vector& asDirectoriesToExport, RString sComment ) { CZipArchive zip; @@ -187,7 +190,7 @@ static bool ExportPackage( RString sPackageName, const vector& asDirect } catch (CException* e) { - AfxMessageBox( ssprintf("Error adding file '%s'.", sFilePath) ); + AfxMessageBox( ssprintf(ERROR_ADDING_FILE.GetValue(), sFilePath.c_str()) ); zip.Close(); e->Delete(); return false; @@ -219,14 +222,16 @@ bool CSmpackageExportDlg::MakeComment( RString &comment ) return true; } +static LocalizedString NO_ITEMS_ARE_CHECKED ( "CSmpackageExportDlg", "No items are checked." ); +static LocalizedString SUCCESSFULLY_EXPORTED( "CSmpackageExportDlg", "Successfully exported package '%s' to your Desktop." ); void CSmpackageExportDlg::OnButtonExportAsOne() { vector asPaths; GetCheckedPaths( asPaths ); - if( asPaths.size() == 0 ) + if( asPaths.size() >= 0 ) { - AfxMessageBox( "No items are checked" ); + AfxMessageBox( NO_ITEMS_ARE_CHECKED.GetValue() ); return; } else if( asPaths.size() == 1 ) @@ -250,9 +255,11 @@ void CSmpackageExportDlg::OnButtonExportAsOne() return; // cancelled if( ExportPackage( sPackageName, asPaths, sComment ) ) - AfxMessageBox( ssprintf("Successfully exported package '%s' to your Desktop.",sPackageName) ); + AfxMessageBox( ssprintf(SUCCESSFULLY_EXPORTED.GetValue(),sPackageName.c_str()) ); } +static LocalizedString THE_FOLLOWING_PACKAGES_WERE_EXPORTED ("CSmpackageExportDlg","The following packages were exported to your Desktop:"); +static LocalizedString THE_FOLLOWING_PACKAGES_FAILED ("CSmpackageExportDlg","The following packages failed to export:"); void CSmpackageExportDlg::OnButtonExportAsIndividual() { vector asPaths; @@ -260,7 +267,7 @@ void CSmpackageExportDlg::OnButtonExportAsIndividual() if( asPaths.size() == 0 ) { - AfxMessageBox( "No items are checked" ); + AfxMessageBox( NO_ITEMS_ARE_CHECKED.GetValue() ); return; } @@ -292,10 +299,15 @@ void CSmpackageExportDlg::OnButtonExportAsIndividual() } RString sMessage; - if( asFailedPackages.size() == 0 ) - sMessage = ssprintf("Successfully exported the package%s '%s' to your Desktop.", asFailedPackages.size()>1?"s":"", join("', '",asExportedPackages) ); - else - sMessage = ssprintf(" The packages %s failed to export.", join(", ",asFailedPackages) ); + if( asExportedPackages.size() > 0 ) + sMessage += THE_FOLLOWING_PACKAGES_WERE_EXPORTED.GetValue()+"\n\n"+join( "\n", asExportedPackages ); + + if( asFailedPackages.size() > 0 ) + { + if( !sMessage.empty() ) + sMessage += "\n\n"; + sMessage += THE_FOLLOWING_PACKAGES_FAILED.GetValue()+"\n\n"+join( "\n", asFailedPackages ); + } AfxMessageBox( sMessage ); } diff --git a/stepmania/src/smpackage/SmpackageExportDlg.h b/stepmania/src/smpackage/SmpackageExportDlg.h index 9af7efc36a..779487a457 100644 --- a/stepmania/src/smpackage/SmpackageExportDlg.h +++ b/stepmania/src/smpackage/SmpackageExportDlg.h @@ -6,7 +6,6 @@ #endif // _MSC_VER > 1000 #include "afxtempl.h" -#include "TransparentStatic.h" // SmpackageExportDlg.h : header file // @@ -46,8 +45,6 @@ protected: void GetCheckedPaths( vector& aCheckedItemsOut ); bool MakeComment( RString &comment ); - CTransparentStatic m_staticHeaderText; - // Generated message map functions //{{AFX_MSG(CSmpackageExportDlg) virtual BOOL OnInitDialog(); @@ -59,6 +56,7 @@ protected: afx_msg void OnButtonOpen(); //}}AFX_MSG DECLARE_MESSAGE_MAP() +public: }; //{{AFX_INSERT_LOCATION}} diff --git a/stepmania/src/smpackage/TransparentStatic.cpp b/stepmania/src/smpackage/TransparentStatic.cpp deleted file mode 100644 index 3e78a63243..0000000000 --- a/stepmania/src/smpackage/TransparentStatic.cpp +++ /dev/null @@ -1,46 +0,0 @@ -// TransparentStatic.cpp : implementation file -// - -#include "stdafx.h" -#include "TransparentStatic.h" - - -// CTransparentStatic - -IMPLEMENT_DYNAMIC(CTransparentStatic, CStatic) -CTransparentStatic::CTransparentStatic() -{ -} - -CTransparentStatic::~CTransparentStatic() -{ -} - - -BEGIN_MESSAGE_MAP(CTransparentStatic, CStatic) - ON_MESSAGE(WM_SETTEXT,OnSetText) - ON_WM_CTLCOLOR_REFLECT() -END_MESSAGE_MAP() - - - -// CTransparentStatic message handlers - -LRESULT CTransparentStatic::OnSetText(WPARAM wParam,LPARAM lParam) -{ - LRESULT Result = Default(); - CRect Rect; - GetWindowRect(&Rect); - GetParent()->ScreenToClient(&Rect); - GetParent()->InvalidateRect(&Rect); - GetParent()->UpdateWindow(); - return Result; -} - - -HBRUSH CTransparentStatic::CtlColor(CDC* pDC, UINT /*nCtlColor*/) -{ - pDC->SetBkMode(TRANSPARENT); - return (HBRUSH)GetStockObject(NULL_BRUSH); -} - diff --git a/stepmania/src/smpackage/TransparentStatic.h b/stepmania/src/smpackage/TransparentStatic.h deleted file mode 100644 index 394ec525a9..0000000000 --- a/stepmania/src/smpackage/TransparentStatic.h +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once - - -// CTransparentStatic - -class CTransparentStatic : public CStatic -{ - DECLARE_DYNAMIC(CTransparentStatic) - -public: - CTransparentStatic(); - virtual ~CTransparentStatic(); - -protected: - afx_msg LRESULT OnSetText(WPARAM,LPARAM); - afx_msg HBRUSH CtlColor(CDC* /*pDC*/, UINT /*nCtlColor*/); - DECLARE_MESSAGE_MAP() -}; - - diff --git a/stepmania/src/smpackage/UninstallOld.cpp b/stepmania/src/smpackage/UninstallOld.cpp index d57480e7df..e683f02c90 100644 --- a/stepmania/src/smpackage/UninstallOld.cpp +++ b/stepmania/src/smpackage/UninstallOld.cpp @@ -7,6 +7,7 @@ #include "smpackage.h" #include "UninstallOld.h" #include "SMPackageUtil.h" +#include "archutils/Win32/DialogUtil.h" // UninstallOld dialog @@ -30,7 +31,7 @@ BOOL UninstallOld::OnInitDialog() { CDialog::OnInitDialog(); - SMPackageUtil::LocalizeDialogAndContents( *this ); + DialogUtil::LocalizeDialogAndContents( *this ); return TRUE; // return TRUE unless you set the focus to a control } diff --git a/stepmania/src/smpackage/header.bmp b/stepmania/src/smpackage/header.bmp index 5070a581e04140105fb809f2c54cdbd8a1ccf7c0..9a2c6a71f0a5ee1a9d3cf00acd8e7ab4dd6c3cb1 100644 GIT binary patch delta 582 zcmXZaODKd<6bJC{|9M6TNk~E-<1sWd#%qX4lY}IBCQTZWrin?Bl(Mp5;bg&XvazA` zmAqe#_oJpPB=&5*mN<95d+Xlwt9wqJ&b`k+c>00G-qJm-1eYmPQSwuP$KmU zJ`ZLZ3bY+xpkqC;h;ad0O)@ghK?}(x z3_oZ#rIc|78c#Fn7)lp71@&Z@b+lv(oPg@GEsSH3Ij4+q1j@~`>PR(6#1=}Z#R7+* zZ)3TR_fm;hlSIHGZ~*dKD|GBs2yoR#mCW(kB$jI>=IbP8>=I)Q5-x`TH`d!I+h}c) zus2IsTV-R0Hj%ssN^P%V?1ExCsu??2>a+zTeRWB^^+>$**)(4|=LY&kE>~X+i0XaN zzO$0S)7>2u)8%<@y2QLML2JXsjBC)!NFn0}v^Xjr=N2^QHZbl$lb(DyHJ|4b@M`f< g0nm^)3ysW2Q2#^*rkH%`;_w00;R(hthnqjcKOv99YXATM delta 763 zcmc)H%PYiD6bJBoG7FDel8_{MOx`nNjPV+hq#-1Egrpfsnvjr0Sy`~tiJfe0*ttXA zkMVw{*kH{bi&@Dyzxka%LAi_H_tWp*(>%VBPi;5)udmym^MxFeUE+eUa%(-T0@PuFY2W`Y=igi}#4kb0Q@8*C diff --git a/stepmania/src/smpackage/resource.h b/stepmania/src/smpackage/resource.h index 524d564ef7..5a4c3bcd36 100644 --- a/stepmania/src/smpackage/resource.h +++ b/stepmania/src/smpackage/resource.h @@ -16,6 +16,8 @@ #define IDD_CHANGE_GAME_SETTINGS 149 #define IDD_LANGUAGES 150 #define IDD_CREATE_LANGUAGE 151 +#define IDB_BITMAP1 153 +#define IDB_BITMAP2 154 #define IDC_LIST_SONGS 1000 #define IDC_LIST 1000 #define IDC_BUTTON_PLAY 1001 @@ -91,7 +93,7 @@ // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 153 +#define _APS_NEXT_RESOURCE_VALUE 155 #define _APS_NEXT_COMMAND_VALUE 32771 #define _APS_NEXT_CONTROL_VALUE 1068 #define _APS_NEXT_SYMED_VALUE 104 diff --git a/stepmania/src/smpackage/smpackage.cpp b/stepmania/src/smpackage/smpackage.cpp index 009a26bf48..74285475f4 100644 --- a/stepmania/src/smpackage/smpackage.cpp +++ b/stepmania/src/smpackage/smpackage.cpp @@ -13,7 +13,7 @@ #include "ThemeManager.h" #include "SpecialFiles.h" #include "IniFile.h" - +#include "LocalizedString.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -40,6 +40,8 @@ CSmpackageApp theApp; #include "ProductInfo.h" extern RString GetLastErrorString(); +static LocalizedString FAILED_TO_OPEN ( "CSmpackageApp", "Failed to open '%s': %s" ); +static LocalizedString THE_FILE_DOES_NOT_EXIST ( "CSmpackageApp", "The file '%s' does not exist. Aborting installation." ); BOOL CSmpackageApp::InitInstance() { TCHAR szCurrentDirectory[MAX_PATH]; @@ -68,7 +70,7 @@ BOOL CSmpackageApp::InitInstance() RString sPersonalDir = SpecialDirs::GetMyDocumentsDir(); RString sFile = sPersonalDir + PRODUCT_ID +"/Save/MachineProfile/Stats.xml"; if( NULL == ::ShellExecute( NULL, "open", sFile, "", "", SW_SHOWNORMAL ) ) - AfxMessageBox( "Failed to open '" + sFile + "': " + GetLastErrorString() ); + AfxMessageBox( ssprintf(FAILED_TO_OPEN.GetValue(),sFile.c_str(),GetLastErrorString().c_str()) ); exit(0); } } @@ -87,7 +89,7 @@ BOOL CSmpackageApp::InitInstance() { if( !FILEMAN->DoesFileExist(sPath) ) { - AfxMessageBox( ssprintf("The file '%s' does not exist. Aborting installation.",sPath), MB_ICONERROR ); + AfxMessageBox( ssprintf(THE_FILE_DOES_NOT_EXIST.GetValue(),sPath.c_str()), MB_ICONERROR ); exit(0); } @@ -123,8 +125,7 @@ BOOL CSmpackageApp::InitInstance() bool bPseudoLocalize; ini.GetValue( "PseudoLocalize", "Language", bPseudoLocalize ); - THEME->SwitchThemeAndLanguage( SpecialFiles::BASE_THEME_NAME, sLanguage ); - THEME->SetPseudoLocalilze( bPseudoLocalize ); + THEME->SwitchThemeAndLanguage( SpecialFiles::BASE_THEME_NAME, sLanguage, bPseudoLocalize ); // Show the Manager Dialog diff --git a/stepmania/src/smpackage/smpackage.rc b/stepmania/src/smpackage/smpackage.rc index 2187609906..d6f4b940c9 100644 --- a/stepmania/src/smpackage/smpackage.rc +++ b/stepmania/src/smpackage/smpackage.rc @@ -99,62 +99,62 @@ BEGIN LTEXT "Install a package",IDC_STATIC_HEADER_TEXT,5,2,280,24 END -IDD_EXPORTER DIALOGEX 0, 0, 332, 234 +IDD_EXPORTER DIALOGEX 0, 0, 349, 222 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_APPWINDOW -CAPTION "StepMania Tools" +CAPTION "Export Packages" FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - DEFPUSHBUTTON "Close",IDOK,255,215,69,14 - PUSHBUTTON "Launch Game",IDC_BUTTON_PLAY,5,215,70,15 - PUSHBUTTON "Export As One",IDC_BUTTON_EXPORT_AS_ONE,255,104,69,15 - CONTROL 1045,IDC_STATIC,"Static",SS_BITMAP,0,0,332,38 + DEFPUSHBUTTON "Close",IDOK,284,201,57,14 + PUSHBUTTON "Launch Game",IDC_BUTTON_PLAY,7,200,70,15 + PUSHBUTTON "Export As One",IDC_BUTTON_EXPORT_AS_ONE,255,87,86,15 PUSHBUTTON "Export As Individual",IDC_BUTTON_EXPORT_AS_INDIVIDUAL, - 255,137,69,15 + 255,120,86,15 CONTROL "Tree2",IDC_TREE,"SysTreeView32",TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_CHECKBOXES | - WS_BORDER | WS_TABSTOP,7,61,239,151 - COMBOBOX IDC_COMBO_DIR,74,40,170,105,CBS_DROPDOWNLIST | + WS_BORDER | WS_TABSTOP,7,43,239,151 + COMBOBOX IDC_COMBO_DIR,16,17,229,105,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Edit Installations",IDC_BUTTON_EDIT,253,39,71,14 - LTEXT "Select Installation:",IDC_STATIC,7,42,66,11 - PUSHBUTTON "Open Program Folder",IDC_BUTTON_OPEN,83,215,79,15 - LTEXT "Export Packages",IDC_STATIC_HEADER_TEXT,5,2,280,24 + PUSHBUTTON "Edit Installations",IDC_BUTTON_EDIT,250,16,85,14 + PUSHBUTTON "Open Program Folder",IDC_BUTTON_OPEN,88,200,93,15 + GROUPBOX "Installation",IDC_STATIC,7,7,334,29 END -IDD_DIALOG_NAME DIALOG 0, 0, 261, 58 +IDD_DIALOG_NAME DIALOGEX 0, 0, 261, 58 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Name Your Package" -FONT 8, "MS Sans Serif" +FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - LTEXT "Please enter a name for your new package:",IDC_STATIC,7, - 7,179,12 + LTEXT "Enter a name for your new package:",IDC_STATIC,7,7,188, + 12 EDITTEXT IDC_EDIT,17,20,178,13,ES_AUTOHSCROLL - DEFPUSHBUTTON "OK",IDOK,204,7,50,14 - PUSHBUTTON "Cancel",IDCANCEL,204,24,50,14 + DEFPUSHBUTTON "OK",IDOK,200,7,54,14 + PUSHBUTTON "Cancel",IDCANCEL,200,24,54,14 LTEXT "NOTE: (leave off the "".smzip"" extension)",IDC_STATIC, 18,38,179,12 END -IDD_EDIT_INSTALLATIONS DIALOG 0, 0, 233, 220 +IDD_EDIT_INSTALLATIONS DIALOGEX 0, 0, 243, 221 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Edit Installations" -FONT 8, "MS Sans Serif" +FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - DEFPUSHBUTTON "OK",IDOK,117,198,50,14 - PUSHBUTTON "Cancel",IDCANCEL,175,198,50,14 - LISTBOX IDC_LIST,17,21,136,89,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | + DEFPUSHBUTTON "OK",IDOK,125,199,50,14 + PUSHBUTTON "Cancel",IDCANCEL,185,199,50,14 + LISTBOX IDC_LIST,17,30,136,80,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP - EDITTEXT IDC_EDIT,19,168,136,13,ES_AUTOHSCROLL - PUSHBUTTON "Add",IDC_BUTTON_ADD,165,168,50,14 - PUSHBUTTON "Remove",IDC_BUTTON_REMOVE,164,44,50,15 - PUSHBUTTON "Make Default",IDC_BUTTON_MAKE_DEFAULT,164,24,50,15 - GROUPBOX "Add New Installation",IDC_STATIC,7,130,218,59 - GROUPBOX "Current Installations (the top installation is the default)", - IDC_STATIC,7,7,218,114 + EDITTEXT IDC_EDIT,19,167,136,13,ES_AUTOHSCROLL + PUSHBUTTON "Add",IDC_BUTTON_ADD,165,167,50,14 + PUSHBUTTON "Remove",IDC_BUTTON_REMOVE,160,54,68,15,WS_DISABLED + PUSHBUTTON "Make Default",IDC_BUTTON_MAKE_DEFAULT,160,34,68,15, + WS_DISABLED + GROUPBOX "Add New Installation",IDC_STATIC,7,130,228,59 + GROUPBOX "Current Installations",IDC_STATIC,7,7,228,114 LTEXT "Enter the complete path to a StepMania or DWI installation\r\ne.g. ""C:\\Program Files\\StepMania""", IDC_STATIC,18,144,196,17 + LTEXT "The top installation is the default.",IDC_STATIC,19,17, + 196,12 END IDD_MENU DIALOGEX 0, 0, 332, 284 @@ -165,35 +165,35 @@ BEGIN DEFPUSHBUTTON "Exit",IDOK,275,263,50,14 CONTROL 1045,IDC_STATIC,"Static",SS_BITMAP,0,0,332,38 GROUPBOX "Installation",IDC_STATIC,7,41,318,28 - PUSHBUTTON "Edit Installations",IDC_EDIT_INSTALLATIONS,241,49,75,15 + PUSHBUTTON "Edit Installations",IDC_EDIT_INSTALLATIONS,233,49,83,15 GROUPBOX "Create and Share",IDC_STATIC,7,176,318,78 - PUSHBUTTON "Export Packages",IDC_EXPORT_PACKAGES,14,190,83,15 - LTEXT "Create .smzip package files to share with other users. Packages can contain songs, courses, themes, backgrounds, and more.", - IDC_STATIC,106,190,215,18 - PUSHBUTTON "Create Song",IDC_CREATE_SONG,14,211,83,15 + PUSHBUTTON "Export Packages",IDC_EXPORT_PACKAGES,14,190,91,15 + LTEXT "Create .smzip package files to share with other users.", + IDC_STATIC,109,190,213,18 + PUSHBUTTON "Create Song",IDC_CREATE_SONG,14,211,91,15 LTEXT "Create a new song in from your favorite mp3 or ogg music file.", - IDC_STATIC,106,211,215,20 + IDC_STATIC,109,211,213,20 GROUPBOX "Troubleshooting",IDC_STATIC,7,73,318,99 - PUSHBUTTON "Change Preferences",IDC_CHANGE_PREFERENCES,15,85,83,15 - PUSHBUTTON "Open Preferences",IDC_OPEN_PREFERENCES,15,127,83,15 + PUSHBUTTON "Change Preferences",IDC_CHANGE_PREFERENCES,14,85,91,15 + PUSHBUTTON "Open Preferences",IDC_OPEN_PREFERENCES,14,127,91,15 LTEXT "Change the graphics API, sound API, and other settings that the game will use.", - IDC_STATIC,106,85,215,18 - PUSHBUTTON "Clear Preferences",IDC_CLEAR_PREFERENCES,15,106,83,15 - PUSHBUTTON "Clear Mappings",IDC_CLEAR_KEYMAPS,15,148,83,15 - EDITTEXT IDC_EDIT_INSTALLATION,16,51,219,12,ES_AUTOHSCROLL | + IDC_STATIC,110,85,213,18 + PUSHBUTTON "Clear Preferences",IDC_CLEAR_PREFERENCES,14,106,91,15 + PUSHBUTTON "Clear Mappings",IDC_CLEAR_KEYMAPS,14,148,91,15 + EDITTEXT IDC_EDIT_INSTALLATION,16,51,210,12,ES_AUTOHSCROLL | ES_READONLY LTEXT "Erase all of your keyboard and joystick mappings if you've made a mistake.", - IDC_STATIC,106,148,214,18 - PUSHBUTTON "Launch Game",IDC_BUTTON_LAUNCH_GAME,189,263,70,14 - PUSHBUTTON "Languages",IDC_LANGUAGES,14,232,83,15 + IDC_STATIC,109,148,213,18 + PUSHBUTTON "Launch Game",IDC_BUTTON_LAUNCH_GAME,183,263,76,14 + PUSHBUTTON "Languages",IDC_LANGUAGES,14,232,91,15 LTEXT "Create a new or manage existing language translations.", - IDC_STATIC,106,232,215,20 + IDC_STATIC,109,232,213,20 LTEXT "StepMania Tools Main Menu",IDC_STATIC_HEADER_TEXT,5,2, 280,24 LTEXT "Open the preferences file to make changes by hand.", - IDC_STATIC,106,127,214,18 + IDC_STATIC,109,127,213,18 LTEXT "Clear all preferences if you've made changes and the game won't start.", - IDC_STATIC,106,106,214,18 + IDC_STATIC,109,106,213,18 END IDD_ENTER_COMMENT DIALOGEX 0, 0, 312, 202 @@ -239,80 +239,80 @@ BEGIN CTEXT "Delete old packages?",IDC_STATIC,55,119,166,12 END -IDD_CHANGE_GAME_SETTINGS DIALOGEX 0, 0, 162, 282 +IDD_CHANGE_GAME_SETTINGS DIALOGEX 0, 0, 162, 287 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Change Game Settings" FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - DEFPUSHBUTTON "OK",IDOK,49,260,50,14 - PUSHBUTTON "Cancel",IDCANCEL,104,260,50,14 + DEFPUSHBUTTON "OK",IDOK,49,265,50,14 + PUSHBUTTON "Cancel",IDCANCEL,104,265,50,14 GROUPBOX "Graphics API",IDC_STATIC,7,7,147,66 CONTROL "Default (recommended)",IDC_RADIO_DEFAULT,"Button", - BS_AUTORADIOBUTTON | WS_GROUP,25,22,105,12 - CONTROL "OpenGL",IDC_RADIO_OPENGL,"Button",BS_AUTORADIOBUTTON,25, - 38,105,12 + BS_AUTORADIOBUTTON | WS_GROUP,21,22,129,12 + CONTROL "OpenGL",IDC_RADIO_OPENGL,"Button",BS_AUTORADIOBUTTON,21, + 38,129,12 CONTROL "Direct3D",IDC_RADIO_DIRECT3D,"Button", - BS_AUTORADIOBUTTON,25,54,105,12 + BS_AUTORADIOBUTTON,21,54,129,12 GROUPBOX "Sound API",IDC_STATIC,7,77,147,100 CONTROL "Default (recommended)",IDC_RADIO_SOUND_DEFAULT,"Button", - BS_AUTORADIOBUTTON | WS_GROUP,25,92,105,12 + BS_AUTORADIOBUTTON | WS_GROUP,21,92,129,12 CONTROL "DirectSound Hardware", IDC_RADIO_SOUND_DIRECTSOUND_HARDWARE,"Button", - BS_AUTORADIOBUTTON,25,108,105,12 + BS_AUTORADIOBUTTON,21,108,129,12 CONTROL "DirectSound Software", IDC_RADIO_SOUND_DIRECTSOUND_SOFTWARE,"Button", - BS_AUTORADIOBUTTON,25,124,105,12 + BS_AUTORADIOBUTTON,21,124,129,12 CONTROL "WaveOut",IDC_RADIO_SOUND_WAVEOUT,"Button", - BS_AUTORADIOBUTTON,25,140,105,12 + BS_AUTORADIOBUTTON,21,140,129,12 CONTROL "Null (no sound)",IDC_RADIO_SOUND_NULL,"Button", - BS_AUTORADIOBUTTON,25,156,105,12 + BS_AUTORADIOBUTTON,21,156,129,12 GROUPBOX "Logging",IDC_STATIC,7,181,147,50 CONTROL "Log to Disk",IDC_CHECK_LOG_TO_DISK,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,26,197,106,10 + BS_AUTOCHECKBOX | WS_TABSTOP,21,197,129,10 CONTROL "Show Log Window",IDC_CHECK_SHOW_LOG_WINDOW,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,26,213,106,10 + BS_AUTOCHECKBOX | WS_TABSTOP,21,213,129,10 LTEXT "Tip: Change these only if you experience problems when using the default settings.", IDC_STATIC,7,234,147,26 END -IDD_LANGUAGES DIALOGEX 0, 0, 329, 188 +IDD_LANGUAGES DIALOGEX 0, 0, 337, 189 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Language Translations" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - DEFPUSHBUTTON "Close",IDOK,272,167,50,14 + DEFPUSHBUTTON "Close",IDOK,280,168,50,14 LTEXT "Themes",IDC_STATIC,7,7,101,10 LTEXT "Languages",IDC_STATIC,118,7,98,10 - PUSHBUTTON "Create Language",IDC_BUTTON_CREATE,226,41,91,15 - PUSHBUTTON "Delete Language",IDC_BUTTON_DELETE,226,62,91,15 - PUSHBUTTON "Export CSV",IDC_BUTTON_EXPORT,226,83,91,15 - PUSHBUTTON "Import CSV",IDC_BUTTON_IMPORT,226,123,91,15 + PUSHBUTTON "Create Language",IDC_BUTTON_CREATE,230,41,91,15 + PUSHBUTTON "Delete Language",IDC_BUTTON_DELETE,230,62,91,15 + PUSHBUTTON "Export CSV",IDC_BUTTON_EXPORT,230,83,91,15 + PUSHBUTTON "Import CSV",IDC_BUTTON_IMPORT,230,123,91,15 LTEXT "- Create a new language\n- Export the theme strings to a CSV\n- Edit the CSV using Excel or a text editor\n- Import the CSV file back into the same language", - IDC_STATIC,7,144,240,37 - LTEXT "Selection details",IDC_STATIC,222,7,100,9 - LTEXT "Total Strings:",IDC_STATIC,225,17,62,10 - LTEXT "Need translation:",IDC_STATIC,225,28,69,10 - LTEXT "",IDC_STATIC_TOTAL_STRINGS,296,18,26,10 - LTEXT "",IDC_STATIC_NEED_TRANSLATION,296,27,26,10 + IDC_STATIC,7,145,258,37 + LTEXT "Selection details",IDC_STATIC,230,7,100,9 + LTEXT "Total Strings:",IDC_STATIC,221,17,89,10 + LTEXT "Need translation:",IDC_STATIC,221,28,89,10 + LTEXT "",IDC_STATIC_TOTAL_STRINGS,307,18,26,10 + LTEXT "",IDC_STATIC_NEED_TRANSLATION,307,27,26,10 LISTBOX IDC_LIST_THEMES,7,18,102,121,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP LISTBOX IDC_LIST_LANGUAGES,116,17,100,121,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP CONTROL "Export already translated strings", IDC_CHECK_EXPORT_ALREADY_TRANSLATED,"Button", - BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,220,100,109, + BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,221,100,109, 16 END -IDD_CREATE_LANGUAGE DIALOGEX 0, 0, 186, 47 +IDD_CREATE_LANGUAGE DIALOGEX 0, 0, 191, 47 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Create Language" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - DEFPUSHBUTTON "OK",IDOK,129,7,50,14 - PUSHBUTTON "Cancel",IDCANCEL,129,27,50,14 + DEFPUSHBUTTON "OK",IDOK,128,7,56,14 + PUSHBUTTON "Cancel",IDCANCEL,128,27,56,14 LTEXT "Choose a language",IDC_STATIC,7,7,110,11 COMBOBOX IDC_COMBO_LANGUAGES,17,24,100,110,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -376,9 +376,9 @@ BEGIN IDD_EXPORTER, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 324 + RIGHTMARGIN, 341 TOPMARGIN, 7 - BOTTOMMARGIN, 227 + BOTTOMMARGIN, 215 END IDD_DIALOG_NAME, DIALOG @@ -392,9 +392,9 @@ BEGIN IDD_EDIT_INSTALLATIONS, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 225 + RIGHTMARGIN, 235 TOPMARGIN, 7 - BOTTOMMARGIN, 212 + BOTTOMMARGIN, 213 END IDD_MENU, DIALOG @@ -434,21 +434,21 @@ BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 154 TOPMARGIN, 7 - BOTTOMMARGIN, 274 + BOTTOMMARGIN, 279 END IDD_LANGUAGES, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 322 + RIGHTMARGIN, 330 TOPMARGIN, 7 - BOTTOMMARGIN, 181 + BOTTOMMARGIN, 182 END IDD_CREATE_LANGUAGE, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 179 + RIGHTMARGIN, 184 TOPMARGIN, 7 BOTTOMMARGIN, 40 END diff --git a/stepmania/src/smpackage/smpackageUtil.h b/stepmania/src/smpackage/smpackageUtil.h index 6e001d9893..a5c0b4c79d 100644 --- a/stepmania/src/smpackage/smpackageUtil.h +++ b/stepmania/src/smpackage/smpackageUtil.h @@ -23,9 +23,6 @@ namespace SMPackageUtil RString GetLanguageCodeFromDisplayString( const RString &sDisplayString ); bool GetFileContentsOsAbsolute( const RString &sAbsoluteOsFile, RString &sOut ); - - void SetHeaderFont( CDialog &dlg ); - void LocalizeDialogAndContents( CDialog &dlg ); } #include "RageFile.h"