aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/kvilib/config/kvi_sourcesdate.h4
-rw-r--r--src/modules/addon/AddonTest-1.0.0.kvabin0 -> 8854 bytes
-rw-r--r--src/modules/addon/addonfunctions.cpp122
-rw-r--r--src/modules/addon/addonfunctions.h3
-rw-r--r--src/modules/addon/managementdialog.cpp3
5 files changed, 49 insertions, 83 deletions
diff --git a/src/kvilib/config/kvi_sourcesdate.h b/src/kvilib/config/kvi_sourcesdate.h
index 7b78f3917..2cfbdfd3a 100644
--- a/src/kvilib/config/kvi_sourcesdate.h
+++ b/src/kvilib/config/kvi_sourcesdate.h
@@ -28,8 +28,8 @@
#include "kvi_settings.h"
-#define KVI_SOURCES_DATE "20080420"
-#define KVI_SOURCES_DATE_NUMERIC 0x20080420
+#define KVI_SOURCES_DATE "20080516"
+#define KVI_SOURCES_DATE_NUMERIC 0x20080516
// this is the date of the sources before that we should force a setup
// this is usually changed only when a setup is really needed because
diff --git a/src/modules/addon/AddonTest-1.0.0.kva b/src/modules/addon/AddonTest-1.0.0.kva
new file mode 100644
index 000000000..dc3d23b24
--- /dev/null
+++ b/src/modules/addon/AddonTest-1.0.0.kva
Binary files differ
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 = "<html><body bgcolor=\"#ffffff\">";
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 += "<hr>";
+ QString szDetailsBuffer;
- szDetails += szDetailsBuffer;
+ getAddonHtmlDescription(
+ szDetailsBuffer,
+ szAddonName,
+ szAddonVersion,
+ szAddonDescription,
+ szAddonSubdirectory,
+ szAddonApplication,
+ szAddonAuthor,
+ szAddonDate,
+ szAddonEngineVersion
+ );
- if(!bValid)
- {
- szDetails += "<p><center><font color=\"#ff0000\"><b>";
- szDetails += __tr2qs_ctx("Warning: The addon might be incompatible with this version of KVIrc","addon");
- szDetails += "</b></font></center></p>";
- iValidAddonCount--;
- }
+ szDetails += szDetailsBuffer;
- iIdx++;
+ if(!bValid)
+ {
+ szDetails += "<p><center><font color=\"#ff0000\"><b>";
+ szDetails += __tr2qs_ctx("Warning: The addon might be incompatible with this version of KVIrc","addon");
+ szDetails += "</b></font></center></p>";
}
szDetails += "<br><p><center><a href=\"Addon_dialog_main\">";
@@ -184,13 +156,6 @@ namespace KviAddonFunctions
szDetails += "</a></center></p>";
szDetails += "</body></html>";
- if(iValidAddonCount < iAddonCount)
- {
- szWarnings += "<p><center><font color=\"#ff0000\"><b>";
- szWarnings += __tr2qs_ctx("Warning: Some of the Addons contained in this package might be either corrupted or incompatible with this version of KVIrc","addon");
- szWarnings += "</b></font></center></p>";
- }
-
QString szShowDetails = __tr2qs_ctx("Show Details","addon");
KviQString::sprintf(hd.szHtmlText,
@@ -278,8 +243,7 @@ namespace KviAddonFunctions
const QString &szAddonApplication,
const QString &szAddonAuthor,
const QString &szAddonDate,
- const QString &szAddonAddonEngineVersion,
- int iUniqueIndexInDocument
+ const QString &szAddonAddonEngineVersion
)
{
QString szAuthor = __tr2qs_ctx("Author","Addon");
diff --git a/src/modules/addon/addonfunctions.h b/src/modules/addon/addonfunctions.h
index 23cae3719..045b7a52f 100644
--- a/src/modules/addon/addonfunctions.h
+++ b/src/modules/addon/addonfunctions.h
@@ -45,8 +45,7 @@ namespace KviAddonFunctions
const QString &szAddonApplication,
const QString &szAddonAuthor,
const QString &szAddonDate,
- const QString &szAddonAddonEngineVersion,
- int iUniqueIndexInDocument = 0
+ const QString &szAddonAddonEngineVersion
);
};
diff --git a/src/modules/addon/managementdialog.cpp b/src/modules/addon/managementdialog.cpp
index 4b9a4a8c9..5bd17aa9a 100644
--- a/src/modules/addon/managementdialog.cpp
+++ b/src/modules/addon/managementdialog.cpp
@@ -288,12 +288,14 @@ void KviScriptManagementDialog::installScript()
// Switch between script and addon
if(szFileName.endsWith(".kvs"))
{
+ qDebug("Script file .kvs");
QString szCmd = "parse \"";
szCmd += szFileName;
szCmd += "\"";
KviKvsScript::run(szCmd,g_pActiveWindow);
} else if(szFileName.endsWith(".kva")){
+ qDebug("Addon file .kva");
if(!KviAddonFunctions::installAddonPackage(szFileName,szError,this))
{
QMessageBox::critical(this,__tr2qs_ctx("Install Addon - KVIrc","addon"),szError,QMessageBox::Ok,QMessageBox::NoButton,QMessageBox::NoButton);
@@ -301,6 +303,7 @@ void KviScriptManagementDialog::installScript()
}
} else {
// Just for sanity check. We should NEVER enter here
+ qDebug("Entered sanity check");
KviAddonFunctions::notAValidAddonPackage(szError);
QMessageBox::critical(this,__tr2qs_ctx("Install Addon - KVIrc","addon"),szError,QMessageBox::Ok,QMessageBox::NoButton,QMessageBox::NoButton);
}