Index: Vago/trunk/Vago/mainwindow.cpp
===================================================================
--- Vago/trunk/Vago/mainwindow.cpp	(revision 800)
+++ Vago/trunk/Vago/mainwindow.cpp	(revision 801)
@@ -10,17 +10,19 @@
     ui->setupUi(this);
 
+    this->AppDir=getOSIndependentAppPath();
+
     this->setWindowTitle("Vago v"+GlobalVars::AppVersion);
 
-    if(!QFile::exists(QDir::currentPath()+"/"+GlobalVars::OniSplitString)){
+    if(!QFile::exists(this->AppDir+"/"+GlobalVars::OniSplitString)){
         Util::showErrorPopUp("OniSplit not found. Please download it at "+GlobalVars::ModsDomain+" and put it in the same folder of Vago. \n\nProgram will now exit.");
         exit(1);
     }
 
-    if(!QFile::exists(QDir::currentPath()+"/"+GlobalVars::XmlToolsString)){
+    if(!QFile::exists(this->AppDir+"/"+GlobalVars::XmlToolsString)){
         Util::showErrorPopUp("xmlTools not found. Please download it at "+GlobalVars::ModsDomain+" and put it in the same folder of Vago. \n\nProgram will now exit.");
         exit(1);
     }
 
-    this->vagoSettings = new QSettings(QDir::currentPath() + "/" + this->VagoSettingsName, QSettings::IniFormat);
+    this->vagoSettings = new QSettings(this->AppDir + "/" + this->VagoSettingsName, QSettings::IniFormat);
 
     //First Execution? Old configuration? Settings missed?
@@ -31,5 +33,5 @@
     }
     if(!this->vagoSettings->contains("Workspace")){
-        this->vagoSettings->setValue("Workspace", QDir::currentPath()+"/VagoWorkspace");
+        this->vagoSettings->setValue("Workspace", this->AppDir+"/VagoWorkspace");
         iniChanged=true;
     }
@@ -161,5 +163,5 @@
 void MainWindow::on_actionSound_Wizard_triggered()
 {
-    SoundWizard myWizard (this->workspaceWizardsLocation, this->myLogger, &this->commandMap);
+    SoundWizard myWizard (this->AppDir, this->workspaceWizardsLocation, this->myLogger, &this->commandMap);
     myWizard.exec();
 }
@@ -1500,4 +1502,20 @@
 }
 
+/**
+  Gets application directory. In mac os gets the .app directory
+  **/
+QString MainWindow::getOSIndependentAppPath(){
+#ifdef Q_WS_MAC
+    QDir dir = QDir::current();
+    if(dir.absolutePath().contains(".app")){ // include bundle, but we don't want it
+        dir.cdUp();
+        dir.cdUp();
+    }
+    return dir.absolutePath();
+#else
+    return  QDir::currentPath();
+#endif
+}
+
 void MainWindow::connectSlots(){
 
Index: Vago/trunk/Vago/mainwindow.h
===================================================================
--- Vago/trunk/Vago/mainwindow.h	(revision 800)
+++ Vago/trunk/Vago/mainwindow.h	(revision 801)
@@ -46,5 +46,5 @@
 
 protected:
-     void closeEvent(QCloseEvent *event);
+    void closeEvent(QCloseEvent *event);
     
 private slots:
@@ -186,4 +186,5 @@
     Ui::MainWindow *ui;
     Logger *myLogger;
+    QString AppDir;
     QString workspaceLocation; //Workspace location
     QString workspaceWizardsLocation; //Workspace wizard location
@@ -220,4 +221,5 @@
     QString getCommand(DropTableWidget* myTable, QString myOutputFolder, QString from, QString to , QString file);
     QString getTypeConversion(DropTableWidget *myTable); //get the current type for a table
+    QString getOSIndependentAppPath();
 };
 
Index: Vago/trunk/Vago/soundWizard/soundpage2.cpp
===================================================================
--- Vago/trunk/Vago/soundWizard/soundpage2.cpp	(revision 800)
+++ Vago/trunk/Vago/soundWizard/soundpage2.cpp	(revision 801)
@@ -3,7 +3,6 @@
 
 const QStringList SoundPage2::allowedFiles = QStringList() << "*.wav" <<  "*.aif" <<  "*.aifc" << "*.afc";
-const QString SoundPage2::codecLocalHelpFile=GlobalVars::HelpLocation + "/XMLSNDD.html#Source_file_creation";
 
-SoundPage2::SoundPage2(QWidget *parent) :
+SoundPage2::SoundPage2(QString appLocation, QWidget *parent) :
     QWizardPage(parent),
     ui(new Ui::soundpage2)
@@ -11,4 +10,5 @@
     ui->setupUi(this);
     this->soundTable=ui->twSoundFiles;
+    this->codecLocalHelpFile=appLocation+"/"+GlobalVars::HelpDir + "/XMLSNDD.html#Source_file_creation";
     ui->twSoundFiles->removeColumn(2); // Only two columns
 
Index: Vago/trunk/Vago/soundWizard/soundpage2.h
===================================================================
--- Vago/trunk/Vago/soundWizard/soundpage2.h	(revision 800)
+++ Vago/trunk/Vago/soundWizard/soundpage2.h	(revision 801)
@@ -18,5 +18,5 @@
     DropTableWidget *soundTable;
 
-    explicit SoundPage2(QWidget *parent = 0);
+    explicit SoundPage2(QString appLocation, QWidget *parent = 0);
     ~SoundPage2();
     
@@ -37,5 +37,5 @@
     Ui::soundpage2 *ui;
     static const QStringList allowedFiles;
-    static const QString codecLocalHelpFile;
+    QString codecLocalHelpFile;
 
     bool validatePage();
Index: Vago/trunk/Vago/soundWizard/soundwizard.cpp
===================================================================
--- Vago/trunk/Vago/soundWizard/soundwizard.cpp	(revision 800)
+++ Vago/trunk/Vago/soundWizard/soundwizard.cpp	(revision 801)
@@ -1,6 +1,7 @@
 #include "soundwizard.h"
 
-SoundWizard::SoundWizard(QString workspaceWizardLocation, Logger *myLogger, QHash<QString, QString> *commandMap)
+SoundWizard::SoundWizard(QString appLocation, QString workspaceWizardLocation, Logger *myLogger, QHash<QString, QString> *commandMap)
 {
+    this->appLocation=appLocation;
     this->workspaceWizardLocation=workspaceWizardLocation;
     this->myLogger=myLogger;
@@ -33,5 +34,5 @@
     //
 
-    SoundPage2 *page2 = new SoundPage2();
+    SoundPage2 *page2 = new SoundPage2(this->appLocation);
     SoundPage3 *page3 = new SoundPage3();
     SoundPage4 *page4 = new SoundPage4();
Index: Vago/trunk/Vago/soundWizard/soundwizard.h
===================================================================
--- Vago/trunk/Vago/soundWizard/soundwizard.h	(revision 800)
+++ Vago/trunk/Vago/soundWizard/soundwizard.h	(revision 801)
@@ -23,5 +23,5 @@
     Q_OBJECT // for signals and slots
 public:
-    SoundWizard(QString workspaceWizardLocation, Logger *myLogger, QHash<QString, QString> *commandMap);
+    SoundWizard(QString appLocation, QString workspaceWizardLocation, Logger *myLogger, QHash<QString, QString> *commandMap);
     int exec();
 private:
@@ -30,4 +30,5 @@
     QString workspaceWizardLocation;
     QString soundsLocation;
+    QString appLocation;
     Logger *myLogger;
     QWizard *myWizard;
Index: Vago/trunk/Vago/util.h
===================================================================
--- Vago/trunk/Vago/util.h	(revision 800)
+++ Vago/trunk/Vago/util.h	(revision 801)
@@ -9,5 +9,5 @@
 #include <QDesktopServices>
 #include <QUrl>
-
+#include <QCoreApplication>
 
 namespace GlobalVars{
@@ -34,5 +34,5 @@
 const QString VagoWebUrl="http://"+ModsDomain+"/node/"+VagoNode;
 const QString VagoTemporaryDir=QDir::tempPath()+"/VagoTemp";
-const QString HelpLocation=QDir::currentPath() + "/help";
+const QString HelpDir="help";
 const char OniSplitProcSeparator=';';
 }
@@ -48,4 +48,5 @@
 QString fullTrim(QString str);
 QString normalizeDecimalSeparator(QString value);
+
 QStringList multipleDirDialog(QString title);
 QStringList substring(QString myString,QString separator,Qt::CaseSensitivity cs = Qt::CaseSensitive);
@@ -66,5 +67,4 @@
 void showRichErrorPopUp(QString message);
 void openLogFile();
-
 }
 
