| 117 | 
   | 
         copyPackageFolders(macTable,"mac_only",modDir,bslExist); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 118 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 119 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 | 120 | 
 < | 
     QFile *modInfo = new QFile(modDir+"Mod_Info.cfg"); | 
 
 
 
 
 
 
 
 
 
 | 120 | 
 > | 
     QFile modInfo(modDir+"Mod_Info.cfg"); | 
 
 
 
 
 
 
 
 
 
 
 
 | 121 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 | 122 | 
 < | 
     if (!modInfo->open(QIODevice::WriteOnly | QIODevice::Text)){ //open to write | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 123 | 
 < | 
         Util::showErrorPopUp("Couldn't create Mod_Info.cfg file."); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 124 | 
 < | 
         myLogger->writeString("Couldn't create Mod_Info.cfg file when creating AE Package."); | 
 
 
 
 
 
 
 
 
 
 | 122 | 
 > | 
     if (!modInfo.open(QIODevice::WriteOnly | QIODevice::Text)){ //open to write | 
 
 
 
 
 
 | 123 | 
 > | 
         UtilVago::showAndLogErrorPopUp(this->myLogger, "Couldn't create Mod_Info.cfg file when creating AE Package."); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 124 | 
   | 
         return; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 125 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 126 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 | 127 | 
 < | 
     QTextStream *modWriteStream = new QTextStream (modInfo); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 128 | 
 < | 
     *modWriteStream << "AEInstallVersion -> "+aeVersion+"\n"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 129 | 
 < | 
     *modWriteStream << "NameOfMod -> "+modName+"\n"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 130 | 
 < | 
     *modWriteStream << "ModVersion -> "+version+"\n"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 131 | 
 < | 
     *modWriteStream << "Creator -> "+authors+"\n"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 132 | 
 < | 
     *modWriteStream << "Readme -> "+description.replace("\n"," \\n ")+"\n"; | 
 
 
 
 
 
 
 
 
 
 | 127 | 
 > | 
     QTextStream modWriteStream(&modInfo); | 
 
 
 
 
 
 | 128 | 
 > | 
     modWriteStream << "AEInstallVersion -> "+aeVersion+"\n"; | 
 
 
 
 
 
 | 129 | 
 > | 
     modWriteStream << "NameOfMod -> "+modName+"\n"; | 
 
 
 
 
 
 | 130 | 
 > | 
     modWriteStream << "ModVersion -> "+version+"\n"; | 
 
 
 
 
 
 | 131 | 
 > | 
     modWriteStream << "Creator -> "+authors+"\n"; | 
 
 
 
 
 
 | 132 | 
 > | 
     modWriteStream << "Readme -> "+description.replace("\n"," \\n ")+"\n"; | 
 
 
 
 
 
 
 
 
 
 
 
 | 133 | 
   | 
     if(!incompatiblePackages.isEmpty()){ | 
 
 
 
 
 
 
 
 
 
 
 
 | 134 | 
 < | 
         *modWriteStream << "IncompatibleWith -> "+incompatiblePackages+"\n"; | 
 
 
 
 
 
 
 
 
 
 | 134 | 
 > | 
         modWriteStream << "IncompatibleWith -> "+incompatiblePackages+"\n"; | 
 
 
 
 
 
 
 
 
 
 
 
 | 135 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 136 | 
   | 
     if(!dependentPackages.isEmpty()){ | 
 
 
 
 
 
 
 
 
 
 
 
 | 137 | 
 < | 
         *modWriteStream << "DependsOn -> "+dependentPackages+"\n"; | 
 
 
 
 
 
 
 
 
 
 | 137 | 
 > | 
         modWriteStream << "DependsOn -> "+dependentPackages+"\n"; | 
 
 
 
 
 
 
 
 
 
 
 
 | 138 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 139 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 140 | 
   | 
     if(bslExist){ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 141 | 
   | 
         if(bslReplace){ | 
 
 
 
 
 
 
 
 
 
 
 
 | 142 | 
 < | 
             *modWriteStream << "HasBsl -> Yes\n"; | 
 
 
 
 
 
 
 
 
 
 | 142 | 
 > | 
             modWriteStream << "HasBsl -> Yes\n"; | 
 
 
 
 
 
 
 
 
 
 
 
 | 143 | 
   | 
         } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 144 | 
   | 
         else{ | 
 
 
 
 
 
 
 
 
 
 
 
 | 145 | 
 < | 
             *modWriteStream << "HasBsl -> Addon\n"; | 
 
 
 
 
 
 
 
 
 
 | 145 | 
 > | 
             modWriteStream << "HasBsl -> Addon\n"; | 
 
 
 
 
 
 
 
 
 
 
 
 | 146 | 
   | 
         } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 147 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 148 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 149 | 
   | 
     if(!unlockLevels.isEmpty()){ | 
 
 
 
 
 
 
 
 
 
 
 
 | 150 | 
 < | 
         *modWriteStream << "UnlockLevel -> "+unlockLevels+"\n"; | 
 
 
 
 
 
 
 
 
 
 | 150 | 
 > | 
         modWriteStream << "UnlockLevel -> "+unlockLevels+"\n"; | 
 
 
 
 
 
 
 
 
 
 
 
 | 151 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 152 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 | 153 | 
 < | 
     *modWriteStream << "Vago -> "+GlobalVars::AppVersion; | 
 
 
 
 
 
 
 
 
 
 | 153 | 
 > | 
     modWriteStream << "Vago -> "+GlobalVars::AppVersion; | 
 
 
 
 
 
 
 
 
 
 
 
 | 154 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 | 155 | 
 < | 
     delete modWriteStream; //it auto closes the files/streams | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 157 | 
 < | 
     delete modInfo; | 
 
 
 
 
 
 
 
 
 
 | 155 | 
 > | 
     modInfo.close(); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 156 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 | 159 | 
 – | 
     //Create zipped package using PKZIP 2.0 (http://osdab.42cows.org/snippets/zip.php?mode=advanced) | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 157 | 
   | 
     if(createZip){ | 
 
 
 
 
 
 
 
 
 
 
 
 | 158 | 
 < | 
         Zip uz; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 159 | 
 < | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 160 | 
 < | 
         Zip::ErrorCode ec = uz.createArchive(this->packagesLocation+"/"+packageName+".zip"); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 164 | 
 < | 
         checkForZipError(ec); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 165 | 
 < | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 166 | 
 < | 
         ec=uz.addDirectory(modDir); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 167 | 
 < | 
         checkForZipError(ec); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 168 | 
 < | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 169 | 
 < | 
         ec = uz.closeArchive(); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 170 | 
 < | 
         checkForZipError(ec); | 
 
 
 
 
 
 
 
 
 
 | 158 | 
 > | 
         if(!JlCompress::compressDir(this->packagesLocation+"/"+packageName+".zip", modDir)){ | 
 
 
 
 
 
 | 159 | 
 > | 
             UtilVago::showAndLogErrorPopUp(this->myLogger, "An error occurred while zipping the package."); | 
 
 
 
 
 
 | 160 | 
 > | 
         } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 161 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 162 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 163 | 
   | 
     if(openFolder){ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 194 | 
   | 
             } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 195 | 
   | 
         } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 196 | 
   | 
         QDir().mkpath(path); //create path if doesn't exist | 
 
 
 
 
 
 
 
 
 
 
 
 | 197 | 
 < | 
         if(!Util::copyDir(sourceFolder,path+Util::cutName(sourceFolder),false)){//copy contents (creates dest destination automatically if not exists yet) | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 208 | 
 < | 
             QString errorString="An error occurred while copying the folder/files to the package folder: \n" | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 209 | 
 < | 
                     "Copying from "+sourceFolder+"\n to "+path+Util::cutName(sourceFolder); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 210 | 
 < | 
             Util::showErrorLogPopUp(errorString); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 211 | 
 < | 
             this->myLogger->writeString(errorString); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 212 | 
 < | 
         } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 213 | 
 < | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 214 | 
 < | 
 } | 
 
 
 
 
 
 
 
 
 
 | 197 | 
 > | 
         if(!Util::copyDir(sourceFolder,path,false)){//copy contents (creates dest destination automatically if not exists yet) | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 198 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 | 199 | 
 < | 
 /** | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 200 | 
 < | 
   Convenience function for checking for zipping errors | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 201 | 
 < | 
   */ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 219 | 
 < | 
 void PackageWizard::checkForZipError(Zip::ErrorCode ec){ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 220 | 
 < | 
     if (ec != Zip::Ok){ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 221 | 
 < | 
         const QString error="Error found while zipping the package. Error number = "+QString::number(ec); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 222 | 
 < | 
         Util::showErrorPopUp(error); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 223 | 
 < | 
         this->myLogger->writeString(error); | 
 
 
 
 
 
 
 
 
 
 | 199 | 
 > | 
          UtilVago::showAndLogErrorPopUpLogButton(this->myLogger, "An error occurred while copying the folder/files to the package folder: \n" | 
 
 
 
 
 
 | 200 | 
 > | 
                                                         "Copying from "+sourceFolder+"\n to "+path); | 
 
 
 
 
 
 | 201 | 
 > | 
         } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 202 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 203 | 
   | 
 } |