add first cut at firstrun support

This commit is contained in:
ZappoMan 2014-03-25 00:45:31 -07:00
parent c34b64e296
commit 571ecf0964
2 changed files with 21 additions and 4 deletions

View file

@ -251,7 +251,7 @@ Application::Application(int& argc, char** argv, timeval &startup_time) :
QMetaObject::invokeMethod(&accountManager, "checkAndSignalForAccessToken", Qt::QueuedConnection);
_settings = new QSettings(this);
// Check to see if the user passed in a command line option for loading a local
// Voxel File.
_voxelsFilename = getCmdOption(argc, constArgv, "-i");
@ -330,9 +330,18 @@ Application::Application(int& argc, char** argv, timeval &startup_time) :
LocalVoxelsList::getInstance()->addPersistantTree(DOMAIN_TREE_NAME, _voxels.getTree());
LocalVoxelsList::getInstance()->addPersistantTree(CLIPBOARD_TREE_NAME, &_clipboard);
// do this as late as possible so that all required subsystems are inialized
loadScripts();
// check first run...
QVariant firstRunValue = _settings->value("firstRun",QVariant(true));
if (firstRunValue.isValid() && firstRunValue.toBool()) {
qDebug() << "This is a first run...";
// clear the scripts, and set out script to our default scripts
clearScriptsBeforeRunning();
loadScript("http://public.highfidelity.io/scripts/defaultScripts.js");
} else {
// do this as late as possible so that all required subsystems are inialized
loadScripts();
}
}
Application::~Application() {
@ -3454,6 +3463,13 @@ void Application::loadScripts() {
settings->endArray();
}
void Application::clearScriptsBeforeRunning() {
// clears all scripts from the settings
QSettings* settings = new QSettings(this);
settings->beginWriteArray("Settings");
settings->endArray();
}
void Application::saveScripts() {
// saves all current running scripts
QSettings* settings = new QSettings(this);

View file

@ -115,6 +115,7 @@ public:
void loadScript(const QString& fileNameString);
void loadScripts();
void storeSizeAndPosition();
void clearScriptsBeforeRunning();
void saveScripts();
void initializeGL();
void paintGL();