aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2010-05-25 03:33:49 +0000
committerGravatar Szymon Tomasz Stefanek2010-05-25 03:33:49 +0000
commit721d6e2f218abd227fe7ca6ea93f6acf15790964 (patch)
tree1497c350e13a5914d8c901af514de607e5659990 /src/modules
parentupdate (diff)
downloadKVIrc-721d6e2f218abd227fe7ca6ea93f6acf15790964.tar.gz
KVIrc-721d6e2f218abd227fe7ca6ea93f6acf15790964.tar.bz2
KVIrc-721d6e2f218abd227fe7ca6ea93f6acf15790964.zip
Misc tweaks on the addon dialog.
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4374 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/addon/addonfunctions.cpp96
-rw-r--r--src/modules/addon/packaddondialog.cpp2
-rw-r--r--src/modules/theme/themefunctions.cpp2
3 files changed, 55 insertions, 45 deletions
diff --git a/src/modules/addon/addonfunctions.cpp b/src/modules/addon/addonfunctions.cpp
index b245b176f..0505e28f1 100644
--- a/src/modules/addon/addonfunctions.cpp
+++ b/src/modules/addon/addonfunctions.cpp
@@ -44,7 +44,7 @@ namespace KviAddonFunctions
{
bool notAValidAddonPackage(QString &szError)
{
- KviQString::sprintf(szError,__tr2qs_ctx("The selected file does not seem to be a valid KVIrc addon package","addon"));
+ szError = __tr2qs_ctx("The selected file does not seem to be a valid KVIrc addon package","addon");
return false;
}
@@ -70,16 +70,19 @@ namespace KviAddonFunctions
pInfoFields = r.stringInfoFields();
pValue = pInfoFields->find("PackageType");
- if(!pValue)return notAValidAddonPackage(szError);
+ if(!pValue)
+ return notAValidAddonPackage(szError);
pValue = pInfoFields->find("AddonPackVersion");
- if(!pValue)return notAValidAddonPackage(szError);
+ if(!pValue)
+ 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++)
{
pValue = pInfoFields->find(check_fields[i]);
- if(!pValue)return notAValidAddonPackage(szError);
+ if(!pValue)
+ return notAValidAddonPackage(szError);
}
// ok.. it should be really valid at this point
@@ -219,52 +222,57 @@ namespace KviAddonFunctions
bInstall = KviHtmlDialog::display(pDialogParent,&hd) == 2;
- if(bInstall)
- {
- // Create a random extraction dir
- QString szTmpPath, szUnpackPath;
- QString szRandomDir = createRandomDir();
-
- g_pApp->getLocalKvircDirectory(szTmpPath,KviApp::Tmp);
- KviQString::ensureLastCharIs(szTmpPath,QChar(KVI_PATH_SEPARATOR_CHAR));
- szUnpackPath = szTmpPath + szRandomDir;
- QDir szTmpDir(szUnpackPath);
-
- // Check for dir existence
- while(szTmpDir.exists())
- {
- szRandomDir = createRandomDir();
- szUnpackPath = szTmpPath + szRandomDir;
- szTmpDir = QDir(szUnpackPath);
- }
+ if(!bInstall)
+ return true;
- // Unpack addon package into the random tmp dir
- if(!r.unpack(szAddonPackageFileName,szUnpackPath))
- {
- szErr = r.lastError();
- KviQString::sprintf(szError,__tr2qs_ctx("Failed to unpack the selected file: %Q","addon"),&szErr);
- return true;
- }
+ // Create a random extraction dir
+ QString szTmpPath, szUnpackPath;
+ QString szRandomDir = createRandomDir();
- // Now we have all stuff in ~/.config/KVIrc/tmp/$rand
+ g_pApp->getLocalKvircDirectory(szTmpPath,KviApp::Tmp);
+ KviQString::ensureLastCharIs(szTmpPath,QChar(KVI_PATH_SEPARATOR_CHAR));
+ szUnpackPath = szTmpPath + szRandomDir;
+ QDir szTmpDir(szUnpackPath);
- QString szParse="parse \"" + szUnpackPath + "\\install.kvs"+"\"";
- szParse.replace("\\","\\\\");
- KviKvsScript::run(szParse,g_pActiveWindow);
+ // Check for dir existence
+ while(szTmpDir.exists())
+ {
+ szRandomDir = createRandomDir();
+ szUnpackPath = szTmpPath + szRandomDir;
+ szTmpDir = QDir(szUnpackPath);
+ }
+ // Unpack addon package into the random tmp dir
+ if(!r.unpack(szAddonPackageFileName,szUnpackPath))
+ {
+ szErr = r.lastError();
+ KviQString::sprintf(szError,__tr2qs_ctx("Failed to unpack the selected file: %Q","addon"),&szErr);
+ return false;
+ }
- // Remove all files
- QDir * pDir = new QDir(szUnpackPath);
- QStringList list = pDir->entryList(QDir::AllEntries,QDir::DirsFirst);
- debug("Path: %s",szUnpackPath.toUtf8().data());
- debug("Count: %d",list.count());
+ // Now we have all stuff in ~/.config/KVIrc/tmp/$rand
+ if(!
+ KviKvsScript::run(
+ QString::fromAscii("parse \"%1\\install.kvs\"")
+ .arg(
+ szUnpackPath
+ .replace("\\","\\\\")
+ .replace("\"","\\\"")
+ ),
+ g_pActiveWindow
+ )
+ )
+ {
+ // Parsing the script failed
+ // However, the user should already be notified via normal script output.
+ }
- if(!KviFileUtils::deleteDir(szUnpackPath))
- {
- szErr = __tr2qs_ctx("One or more files can't be deleted","addon");
- KviQString::sprintf(szError,__tr2qs_ctx("Failed to unpack the selected file: %Q","addon"),&szErr);
- return true;
- }
+ if(!KviFileUtils::deleteDir(szUnpackPath))
+ {
+ // FIXME: Just warn the user and assume success?
+ szErr = __tr2qs_ctx("One or more files can't be deleted","addon");
+ KviQString::sprintf(szError,__tr2qs_ctx("Failed to unpack the selected file: %Q","addon"),&szErr);
+ return false;
}
return true;
diff --git a/src/modules/addon/packaddondialog.cpp b/src/modules/addon/packaddondialog.cpp
index 2e7e67220..af7828990 100644
--- a/src/modules/addon/packaddondialog.cpp
+++ b/src/modules/addon/packaddondialog.cpp
@@ -86,10 +86,12 @@ KviPackAddonDialog::KviPackAddonDialog(QWidget * pParent)
pPage->setTitle(__tr2qs_ctx("Welcome","addon"));
QLabel * pLabel = new QLabel(pPage);
+ pLabel->setWordWrap(true);
pLabel->setText(__tr2qs_ctx("This procedure allows you to export the selected addon to a single package. It is useful when you want to distribute your addon to the public.","addon"));
pLayout->addWidget(pLabel);
pLabel = new QLabel(pPage);
+ pLabel->setWordWrap(true);
QString szText;
szText += __tr2qs_ctx("You will be asked to provide some information like the package name, the version, a description and so on.","addon");
szText += "<br><br>";
diff --git a/src/modules/theme/themefunctions.cpp b/src/modules/theme/themefunctions.cpp
index c91760f3a..3890ef68d 100644
--- a/src/modules/theme/themefunctions.cpp
+++ b/src/modules/theme/themefunctions.cpp
@@ -44,7 +44,7 @@ namespace KviThemeFunctions
static bool notAValidThemePackage(QString &szError)
{
- KviQString::sprintf(szError,__tr2qs_ctx("The selected file does not seem to be a valid KVIrc theme package","theme"));
+ szError = __tr2qs_ctx("The selected file does not seem to be a valid KVIrc theme package","theme");
return false;
}