From a8a9bcb75cd8ad25ed2d3ca24a149a11f8ceb0e7 Mon Sep 17 00:00:00 2001 From: Elvio Basello Date: Fri, 16 May 2008 01:20:32 +0000 Subject: more work on addon manager (wip); added a test addon; bumped sources date git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@1789 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/modules/addon/addonfunctions.cpp | 122 ++++++++++++----------------------- 1 file changed, 43 insertions(+), 79 deletions(-) (limited to 'src/modules/addon/addonfunctions.cpp') diff --git a/src/modules/addon/addonfunctions.cpp b/src/modules/addon/addonfunctions.cpp index ac4863728..fa566cfa7 100644 --- a/src/modules/addon/addonfunctions.cpp +++ b/src/modules/addon/addonfunctions.cpp @@ -68,10 +68,9 @@ namespace KviAddonFunctions pValue = pInfoFields->find("PackageType"); if(!pValue)return notAValidAddonPackage(szError); - if(!KviQString::equalCI(*pValue,"AddonPack"))return notAValidAddonPackage(szError); pValue = pInfoFields->find("AddonPackVersion"); if(!pValue)return notAValidAddonPackage(szError); - if(!KviQString::equalCI(*pValue,"1"))return notAValidAddonPackage(szError); + if(!KviQString::equalCI(*pValue,KVI_CURRENT_ADDONS_ENGINE_VERSION))return notAValidAddonPackage(szError); // make sure the default fields exist for(int i=0;i<6;i++) @@ -79,14 +78,7 @@ namespace KviAddonFunctions pValue = pInfoFields->find(check_fields[i]); if(!pValue)return notAValidAddonPackage(szError); } - - pValue = pInfoFields->find("AddonCount"); - if(!pValue)return notAValidAddonPackage(szError); - bool bOk; - int iAddonCount = pValue->toInt(&bOk); - if(!bOk)return notAValidAddonPackage(szError); - if(iAddonCount < 1)return notAValidAddonPackage(szError); - + // ok.. it should be really valid at this point QString szPackageName; QString szPackageVersion; @@ -110,73 +102,53 @@ namespace KviAddonFunctions QString szWarnings; QString szDetails = "
"; QString szTmp; - - int iIdx = 0; - int iValidAddonCount = iAddonCount; - while(iIdx < iAddonCount) - { - bool bValid = true; - - QString szAddonName; - QString szAddonVersion; - QString szAddonDescription; - QString szAddonDate; - QString szAddonSubdirectory; - QString szAddonAuthor; - QString szAddonEngineVersion; - QString szAddonApplication; - - KviQString::sprintf(szTmp,"Addon%dName",iIdx); - r.getStringInfoField(szTmp,szAddonName); - KviQString::sprintf(szTmp,"Addon%dVersion",iIdx); - r.getStringInfoField(szTmp,szAddonVersion); - KviQString::sprintf(szTmp,"Addon%dApplication",iIdx); - r.getStringInfoField(szTmp,szAddonApplication); - KviQString::sprintf(szTmp,"Addon%dDescription",iIdx); - r.getStringInfoField(szTmp,szAddonDescription); - KviQString::sprintf(szTmp,"Addon%dDate",iIdx); - r.getStringInfoField(szTmp,szAddonDate); - KviQString::sprintf(szTmp,"Addon%dSubdirectory",iIdx); - r.getStringInfoField(szTmp,szAddonSubdirectory); - KviQString::sprintf(szTmp,"Addon%dAuthor",iIdx); - r.getStringInfoField(szTmp,szAddonAuthor); - KviQString::sprintf(szTmp,"Addon%dAddonEngineVersion",iIdx); - r.getStringInfoField(szTmp,szAddonEngineVersion); - - if(szAddonName.isEmpty() || szAddonVersion.isEmpty() || szAddonSubdirectory.isEmpty() || szAddonEngineVersion.isEmpty()) - bValid = false; - if(KviMiscUtils::compareVersions(szAddonEngineVersion,KVI_CURRENT_ADDONS_ENGINE_VERSION) < 0) - bValid = false; + bool bValid = true; + + QString szAddonName; + QString szAddonVersion; + QString szAddonDescription; + QString szAddonDate; + QString szAddonSubdirectory; + QString szAddonAuthor; + QString szAddonEngineVersion; + QString szAddonApplication; - QString szDetailsBuffer; + r.getStringInfoField("AddonName",szAddonName); + r.getStringInfoField("AddonVersion",szAddonVersion); + r.getStringInfoField("AddonApplication",szAddonApplication); + r.getStringInfoField("AddonDescription",szAddonDescription); + r.getStringInfoField("AddonDate",szAddonDate); + r.getStringInfoField("AddonSubdirectory",szAddonSubdirectory); + r.getStringInfoField("AddonAuthor",szAddonAuthor); + r.getStringInfoField("AddonAddonEngineVersion",szAddonEngineVersion); - getAddonHtmlDescription( - szDetailsBuffer, - szAddonName, - szAddonVersion, - szAddonDescription, - szAddonSubdirectory, - szAddonApplication, - szAddonAuthor, - szAddonDate, - szAddonEngineVersion, - iIdx - ); + if(szAddonName.isEmpty() || szAddonVersion.isEmpty() || szAddonSubdirectory.isEmpty() || szAddonEngineVersion.isEmpty()) + bValid = false; + if(KviMiscUtils::compareVersions(szAddonEngineVersion,KVI_CURRENT_ADDONS_ENGINE_VERSION) < 0) + bValid = false; - if(iIdx > 0) szDetails += "