|
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.
|