From: <pst...@us...> - 2008-11-15 19:47:28
|
Revision: 627 http://jazzplusplus.svn.sourceforge.net/jazzplusplus/?rev=627&view=rev Author: pstieber Date: 2008-11-15 19:47:25 +0000 (Sat, 15 Nov 2008) Log Message: ----------- Added code to copy the configuration files from the shared location to the uses Jazz++ configuration directory. Modified Paths: -------------- trunk/jazz/src/JazzPlusPlusApplication.cpp trunk/jazz/src/JazzPlusPlusApplication.h Modified: trunk/jazz/src/JazzPlusPlusApplication.cpp =================================================================== --- trunk/jazz/src/JazzPlusPlusApplication.cpp 2008-11-15 15:49:27 UTC (rev 626) +++ trunk/jazz/src/JazzPlusPlusApplication.cpp 2008-11-15 19:47:25 UTC (rev 627) @@ -51,6 +51,7 @@ #endif #include <fstream> +#include <vector> using namespace std; @@ -135,18 +136,7 @@ SetVendorName("Jazz"); SetAppName("Jazz"); - wxString ConfigDir = wxStandardPaths::Get().GetUserDataDir(); - if (!wxDirExists(ConfigDir)) - { - if (!wxMkdir(ConfigDir)) - { - wxString String; - String - << "Unable to create directory \"" - << ConfigDir << '"'; - ::wxMessageBox(String, "Directory Creation Error"); - } - } + InsureConfigurationFileExistence(); // Create the one and only top-level Jazz++ project. mpProject = new JZProject; @@ -237,6 +227,81 @@ //----------------------------------------------------------------------------- // Description: +// This function checks to see if the user's Jazz++ configuration directory +// files exist and creates the directory and copies default versions if they +// do not. +//----------------------------------------------------------------------------- +void JZJazzPlusPlusApplication::InsureConfigurationFileExistence() const +{ + vector<wxString> ConfigurationFileNames; + ConfigurationFileNames.push_back("README"); + ConfigurationFileNames.push_back("jazz.cfg"); + ConfigurationFileNames.push_back("jazz.mid"); + ConfigurationFileNames.push_back("ctrlnam.jzi"); + ConfigurationFileNames.push_back("e26voice.jzi"); + ConfigurationFileNames.push_back("e26.jzi"); + ConfigurationFileNames.push_back("gm.jzi"); + ConfigurationFileNames.push_back("gmdrmnam.jzi"); + ConfigurationFileNames.push_back("gmdrmset.jzi"); + ConfigurationFileNames.push_back("gmvoices.jzi"); + ConfigurationFileNames.push_back("gs.jzi"); + ConfigurationFileNames.push_back("gsdrmset.jzi"); + ConfigurationFileNames.push_back("gsvoices.jzi"); + ConfigurationFileNames.push_back("jv1000.jzi"); + ConfigurationFileNames.push_back("sc88pdrm.jzi"); + ConfigurationFileNames.push_back("sc88pro.jzi"); + ConfigurationFileNames.push_back("sc88pvoi.jzi"); + ConfigurationFileNames.push_back("xg.jzi"); + ConfigurationFileNames.push_back("xgdrmnam.jzi"); + ConfigurationFileNames.push_back("xgdrmset.jzi"); + ConfigurationFileNames.push_back("xgvoices.jzi"); + + wxString UserConfigDir = wxStandardPaths::Get().GetUserDataDir(); + + if (!wxDirExists(UserConfigDir)) + { + if (!wxMkdir(UserConfigDir)) + { + wxString String; + String + << "Unable to create directory \"" + << UserConfigDir << '"'; + ::wxMessageBox(String, "Directory Creation Error"); + } + } + + for ( + vector<wxString>::const_iterator iConfigurationFileName = + ConfigurationFileNames.begin(); + iConfigurationFileName != ConfigurationFileNames.end(); + ++iConfigurationFileName) + { + // Check to see if the user already has a jazz.cfg file in the + // user configuration directory. + wxString JazzCfgFile = + UserConfigDir + + wxFileName::GetPathSeparator() + + *iConfigurationFileName; + + if (!::wxFileExists(JazzCfgFile)) + { + // Attempt to copy the default Jazz++ configuration file to this + // directory. + wxString DefaultJazzCfgFile = + wxStandardPaths::Get().GetDataDir() + + wxFileName::GetPathSeparator() + + *iConfigurationFileName; + + if (::wxFileExists(DefaultJazzCfgFile)) + { + ::wxCopyFile(DefaultJazzCfgFile, JazzCfgFile); + } + } + } +} + +//----------------------------------------------------------------------------- +// Description: // The help file was not found so let the user search for it. If it is // found, create a configuration entry so the code can find the help file path // the next time it starts. Modified: trunk/jazz/src/JazzPlusPlusApplication.h =================================================================== --- trunk/jazz/src/JazzPlusPlusApplication.h 2008-11-15 15:49:27 UTC (rev 626) +++ trunk/jazz/src/JazzPlusPlusApplication.h 2008-11-15 19:47:25 UTC (rev 627) @@ -90,6 +90,8 @@ private: + void InsureConfigurationFileExistence() const; + void FindAndRegisterHelpFilePath(wxString& HelpFilePath); private: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |