aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/addon/libkviaddon.cpp
diff options
context:
space:
mode:
authorGravatar Elvio Basello2008-05-08 17:05:26 +0000
committerGravatar Elvio Basello2008-05-08 17:05:26 +0000
commit26f44e553bc848d91bd237986beea068cd55b320 (patch)
tree8cb2f3a70354025afe5b13b3d78b3917fe14aad4 /src/modules/addon/libkviaddon.cpp
parentremoved useless include (diff)
downloadKVIrc-26f44e553bc848d91bd237986beea068cd55b320.tar.gz
KVIrc-26f44e553bc848d91bd237986beea068cd55b320.tar.bz2
KVIrc-26f44e553bc848d91bd237986beea068cd55b320.zip
new addon packaging system (wip)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@1711 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/addon/libkviaddon.cpp')
-rw-r--r--src/modules/addon/libkviaddon.cpp42
1 files changed, 40 insertions, 2 deletions
diff --git a/src/modules/addon/libkviaddon.cpp b/src/modules/addon/libkviaddon.cpp
index c96e06793..6c69b3675 100644
--- a/src/modules/addon/libkviaddon.cpp
+++ b/src/modules/addon/libkviaddon.cpp
@@ -23,6 +23,7 @@
///////////////////////////////////////////////////////////////////////////////
#include "managementdialog.h"
+#include "addonfunctions.h"
#include "kvi_module.h"
#include "kvi_kvs_scriptaddonmanager.h"
@@ -30,7 +31,6 @@
#include "kvi_qstring.h"
#include "kvi_parameterlist.h"
#include "kvi_cmdformatter.h"
-#include "kvi_qstring.h"
#include "kvi_error.h"
#include "kvi_out.h"
#include "kvi_iconmanager.h"
@@ -38,6 +38,10 @@
#include "kvi_config.h"
#include "kvi_sourcesdate.h"
#include "kvi_miscutils.h"
+#include "kvi_fileutils.h"
+#include "kvi_filedialog.h"
+
+#include <QFileInfo>
QRect g_rectManagementDialogGeometry(0,0,0,0);
@@ -604,6 +608,38 @@ static bool addon_kvs_cmd_dialog(KviKvsModuleCommandCall * c)
return true;
}
+/*
+ @doc: addon.install
+ @type:
+ command
+ @title:
+ addon.install
+ @short:
+ Shows the addon management editor
+ @syntax:
+ addon.install <package_path:string>
+ @description:
+ Attempts to install the addons in the package specified by <package_path>.
+*/
+
+static bool addon_kvs_cmd_install(KviKvsModuleCommandCall * c)
+{
+ QString szAddonPackFile;
+
+ KVSM_PARAMETERS_BEGIN(c)
+ KVSM_PARAMETER("package_path",KVS_PT_STRING,0,szAddonPackFile)
+ KVSM_PARAMETERS_END(c)
+
+ QString szError;
+ if(!KviAddonFunctions::installAddonPackage(szAddonPackFile,szError))
+ {
+ c->error(__tr2qs_ctx("Error installing addon package: %Q","addon"),&szError);
+ return false;
+ }
+
+ return true;
+}
+
static bool addon_module_init(KviModule *m)
{
KVSM_REGISTER_FUNCTION(m,"exists",addon_kvs_fnc_exists);
@@ -611,6 +647,7 @@ static bool addon_module_init(KviModule *m)
KVSM_REGISTER_SIMPLE_COMMAND(m,"dialog",addon_kvs_cmd_dialog);
KVSM_REGISTER_SIMPLE_COMMAND(m,"list",addon_kvs_cmd_list);
+ KVSM_REGISTER_SIMPLE_COMMAND(m,"install",addon_kvs_cmd_install);
KVSM_REGISTER_SIMPLE_COMMAND(m,"uninstall",addon_kvs_cmd_uninstall);
KVSM_REGISTER_SIMPLE_COMMAND(m,"configure",addon_kvs_cmd_configure);
KVSM_REGISTER_SIMPLE_COMMAND(m,"help",addon_kvs_cmd_help);
@@ -648,7 +685,8 @@ static bool addon_module_can_unload(KviModule * m)
KVIRC_MODULE(
"Addon", // module name
"4.0.0", // module version
- "Copyright (C) 2005 Szymon Stefanek (pragma at kvirc dot net)", // author & (C)
+ "Copyright (C) 2005 Szymon Stefanek (pragma at kvirc dot net)\n" \
+ " 2008 Elvio Basello (hellvis69 at netsons dot org)", // author & (C)
"Script management functions for the KVS engine",
addon_module_init,
addon_module_can_unload,