committing some stuff for shake to test

This commit is contained in:
AJ Kelly
2011-08-23 20:58:22 -05:00
parent 1f748a747a
commit dd0896d3eb
4 changed files with 91 additions and 4 deletions
+12 -4
View File
@@ -9,9 +9,16 @@
#include "OptionRowHandler.h"
#include "LocalizedString.h"
#include "SpecialFiles.h"
#include "SpecialFiles.h"
#include "ScreenPrompt.h"
#include "SongManager.h"
// there should probably be a better way to handle this: -aj
#if defined(_WINDOWS)
#include "archutils/Win32/SpecialDirs.h"
#elif defined(MACOSX)
// XXX!
#elif defined(UNIX)
#include "archutils/Unix/SpecialDirs.h"
#endif
// main page (type list)
REGISTER_SCREEN_CLASS( ScreenOptionsExportPackage );
@@ -186,10 +193,11 @@ static RString ReplaceInvalidFileNameChars( RString sOldFileName )
static bool ExportPackage( RString sPackageName, RString sDirToExport, RString &sErrorOut )
{
/*
RageFile f;
//RageFile f;
// TODO: Mount Desktop/ for each OS
// SpecialDirs::GetDesktopDir() [windows only right now -aj]
RString sDesktopDir = SpecialDirs::GetDesktopDir();
LOG->Trace( "Desktop dir: %s", sDesktopDir.c_str() );
/*
if( !f.Open("Desktop/"+sPackageName, RageFile::WRITE) )
{
sErrorOut = ssprintf( "Couldn't open %s for writing: %s", fn.c_str(), f.GetError().c_str() );
+4
View File
@@ -425,6 +425,10 @@ void ArchHooks::MountInitialFilesystems( const RString &sDirOfExecutable )
// /Logs -> ~/Library/Logs/PRODUCT_ID
PathForFolderType( dir, kDomainLibraryFolderType );
FILEMAN->Mount( "dir", ssprintf("%s/Logs/" PRODUCT_ID, dir), "/Logs" );
// /Desktop -> /Users/<user>/Desktop/PRODUCT_ID
PathForFolderType( dir, kDesktopFolderType );
FILEMAN->Mount( "dir", ssprintf("%s/" PRODUCT_ID, dir), "/Desktop" );
}
void ArchHooks::MountUserFilesystems( const RString &sDirOfExecutable )
+45
View File
@@ -0,0 +1,45 @@
#include "global.h"
#include "SpecialDirs.h"
#include "ProductInfo.h"
static void PathForFolderType( char dir[PATH_MAX], OSType folderType )
{
FSRef fs;
if( FSFindFolder(kUserDomain, folderType, kDontCreateFolder, &fs) )
FAIL_M( ssprintf("FSFindFolder(%lu) failed.", folderType) );
if( FSRefMakePath(&fs, (UInt8 *)dir, PATH_MAX) )
FAIL_M( "FSRefMakePath() failed." );
}
RString SpecialDirs::GetDesktopDir()
{
char dir[PATH_MAX];
PathForFolderType( dir, kDesktopFolderType );
return RString( ssprintf("%s/" PRODUCT_ID, dir) );
}
/*
* (c) 2011 AJ Kelly
* 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.
*/
+30
View File
@@ -0,0 +1,30 @@
#ifndef SPECIAL_DIRS_H
#define SPECIAL_DIRS_H
RString SpecialDirs::GetDesktopDir();
#endif
/*
* (c) 2011 AJ Kelly
* 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.
*/