--- Vago/trunk/Vago/packageWizard/packagewizard.cpp 2013/04/04 14:46:11 789 +++ Vago/trunk/Vago/packageWizard/packagewizard.cpp 2016/09/16 22:51:26 1047 @@ -14,7 +14,12 @@ int PackageWizard::exec(){ myWizard.setWindowIcon(QIcon(":/new/icons/package.png")); //Center and resize QWizard (http://www.thedazzlersinc.com/source/2012/06/04/qt-center-window-in-screen/) +#ifdef Q_OS_WIN myWizard.resize(640,480); +#else + myWizard.resize(800,600); // Mac OS pcs should be able to render this resolution without any problem. It's also better + // because the components on mac use more space +#endif QRect position = myWizard.frameGeometry(); position.moveCenter(QDesktopWidget().availableGeometry().center()); myWizard.move(position.topLeft()); @@ -112,57 +117,47 @@ void PackageWizard::createPackage(const copyPackageFolders(macTable,"mac_only",modDir,bslExist); } - QFile *modInfo = new QFile(modDir+"Mod_Info.cfg"); + QFile modInfo(modDir+"Mod_Info.cfg"); - if (!modInfo->open(QIODevice::WriteOnly | QIODevice::Text)){ //open to write - Util::showErrorPopUp("Couldn't create Mod_Info.cfg file."); - myLogger->writeString("Couldn't create Mod_Info.cfg file when creating AE Package."); + if (!modInfo.open(QIODevice::WriteOnly | QIODevice::Text)){ //open to write + UtilVago::showAndLogErrorPopUp(this->myLogger, "Couldn't create Mod_Info.cfg file when creating AE Package."); return; } - QTextStream *modWriteStream = new QTextStream (modInfo); - *modWriteStream << "AEInstallVersion -> "+aeVersion+"\n"; - *modWriteStream << "NameOfMod -> "+modName+"\n"; - *modWriteStream << "ModVersion -> "+version+"\n"; - *modWriteStream << "Creator -> "+authors+"\n"; - *modWriteStream << "Readme -> "+description.replace("\n"," \\n ")+"\n"; + QTextStream modWriteStream(&modInfo); + modWriteStream << "AEInstallVersion -> "+aeVersion+"\n"; + modWriteStream << "NameOfMod -> "+modName+"\n"; + modWriteStream << "ModVersion -> "+version+"\n"; + modWriteStream << "Creator -> "+authors+"\n"; + modWriteStream << "Readme -> "+description.replace("\n"," \\n ")+"\n"; if(!incompatiblePackages.isEmpty()){ - *modWriteStream << "IncompatibleWith -> "+incompatiblePackages+"\n"; + modWriteStream << "IncompatibleWith -> "+incompatiblePackages+"\n"; } if(!dependentPackages.isEmpty()){ - *modWriteStream << "DependsOn -> "+dependentPackages+"\n"; + modWriteStream << "DependsOn -> "+dependentPackages+"\n"; } if(bslExist){ if(bslReplace){ - *modWriteStream << "HasBsl -> Yes\n"; + modWriteStream << "HasBsl -> Yes\n"; } else{ - *modWriteStream << "HasBsl -> Addon\n"; + modWriteStream << "HasBsl -> Addon\n"; } } if(!unlockLevels.isEmpty()){ - *modWriteStream << "UnlockLevel -> "+unlockLevels+"\n"; + modWriteStream << "UnlockLevel -> "+unlockLevels+"\n"; } - *modWriteStream << "Vago -> "+GlobalVars::AppVersion; + modWriteStream << "Vago -> "+GlobalVars::AppVersion; - delete modWriteStream; //it auto closes the files/streams - delete modInfo; + modInfo.close(); - //Create zipped package using PKZIP 2.0 (http://osdab.42cows.org/snippets/zip.php?mode=advanced) if(createZip){ - Zip uz; - - Zip::ErrorCode ec = uz.createArchive(this->packagesLocation+"/"+packageName+".zip"); - checkForZipError(ec); - - ec=uz.addDirectory(modDir); - checkForZipError(ec); - - ec = uz.closeArchive(); - checkForZipError(ec); + if(!JlCompress::compressDir(this->packagesLocation+"/"+packageName+".zip", modDir)){ + UtilVago::showAndLogErrorPopUp(this->myLogger, "An error occurred while zipping the package."); + } } if(openFolder){ @@ -199,22 +194,10 @@ void PackageWizard::copyPackageFolders(c } } QDir().mkpath(path); //create path if doesn't exist - if(!Util::cpDir(sourceFolder,path+Util::cutName(sourceFolder))){//copy contents (creates dest destination automatically if not exists yet) - QString errorString="An error occurred while copping the folder/files to the package folder: \n" - "Copying from "+sourceFolder+"\n to "+path+Util::cutName(sourceFolder); - Util::showErrorLogPopUp(errorString); - this->myLogger->writeString(errorString); - } - } -} + if(!Util::copyDir(sourceFolder,path,false)){//copy contents (creates dest destination automatically if not exists yet) -/** - Convenience function for checking for zipping errors - */ -void PackageWizard::checkForZipError(Zip::ErrorCode ec){ - if (ec != Zip::Ok){ - const QString error="Error found while zipping the package. Error number = "+QString::number(ec); - Util::showErrorPopUp(error); - this->myLogger->writeString(error); + UtilVago::showAndLogErrorPopUpLogButton(this->myLogger, "An error occurred while copying the folder/files to the package folder: \n" + "Copying from "+sourceFolder+"\n to "+path); + } } }