aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Elvio Basello2008-05-14 16:18:26 +0000
committerGravatar Elvio Basello2008-05-14 16:18:26 +0000
commit5282c76613ec040d7d47eed4e8b1fd0c8aafcdb7 (patch)
tree5960c64104f8e34fde85185e464a7479047079a0 /src
parentadded missing .desktop file installation rules (diff)
downloadKVIrc-5282c76613ec040d7d47eed4e8b1fd0c8aafcdb7.tar.gz
KVIrc-5282c76613ec040d7d47eed4e8b1fd0c8aafcdb7.tar.bz2
KVIrc-5282c76613ec040d7d47eed4e8b1fd0c8aafcdb7.zip
more work on addon manager (wip);
added file filters; git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@1777 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
-rw-r--r--src/kvilib/config/kvi_fileextensions.h13
-rw-r--r--src/modules/about/aboutdialog.cpp2
-rw-r--r--src/modules/about/aboutdialog.h2
-rw-r--r--src/modules/addon/addonfunctions.cpp2
-rw-r--r--src/modules/addon/addonfunctions.h2
-rw-r--r--src/modules/addon/managementdialog.cpp32
-rw-r--r--src/modules/editor/scripteditor.cpp3
-rw-r--r--src/modules/list/listwindow.cpp3
-rw-r--r--src/modules/mircimport/libkvimircimport.cpp2
-rw-r--r--src/modules/options/optw_identity.cpp2
-rw-r--r--src/modules/options/optw_texticons.cpp8
-rw-r--r--src/modules/theme/managementdialog.cpp2
12 files changed, 49 insertions, 24 deletions
diff --git a/src/kvilib/config/kvi_fileextensions.h b/src/kvilib/config/kvi_fileextensions.h
index 7036e6d8d..7d4578e9c 100644
--- a/src/kvilib/config/kvi_fileextensions.h
+++ b/src/kvilib/config/kvi_fileextensions.h
@@ -26,7 +26,7 @@
//=============================================================================
//=============================================================================
-// This file contains the file extensions used by KVIrc
+// This file contains the file extensions and filters used by KVIrc
//=============================================================================
#define KVI_FILEEXTENSION_CONFIG "kvc"
@@ -34,4 +34,15 @@
#define KVI_FILEEXTENSION_THEMEPACKAGE "kvt"
#define KVI_FILEEXTENSION_ADDONPACKAGE "kva"
+#define KVI_FILTER_CONFIG "KVIrc Config (*.kvc)"
+#define KVI_FILTER_SCRIPT "KVIrc Script (*.kvs)"
+#define KVI_FILTER_THEME "KVIrc Theme (*.kvt)"
+#define KVI_FILTER_ADDON "KVIrc Addon (*.kva)"
+// Provided for convenience
+#define KVI_FILTER_SCRIPTS "KVIrc Script and Addon (*.kvs *.kva)"
+
+#define KVI_FILRER_INI "INI File (*.ini)"
+#define KVI_FILTER_IMAGE "Image File (*.png *.jpg *.jpeg *.bmp *.gif *.xpm)"
+
+
#endif //_KVI_FILEEXTENSIONS_H_
diff --git a/src/modules/about/aboutdialog.cpp b/src/modules/about/aboutdialog.cpp
index a9a0fa2b4..b10702173 100644
--- a/src/modules/about/aboutdialog.cpp
+++ b/src/modules/about/aboutdialog.cpp
@@ -32,7 +32,7 @@
#include "kvi_sourcesdate.h"
#include "kvi_buildinfo.h"
#include "kvi_osinfo.h"
-#include <kvi_tal_textedit.h>
+#include "kvi_tal_textedit.h"
#include <QWidget>
#include <QLayout>
diff --git a/src/modules/about/aboutdialog.h b/src/modules/about/aboutdialog.h
index 95ef968a4..45b983f34 100644
--- a/src/modules/about/aboutdialog.h
+++ b/src/modules/about/aboutdialog.h
@@ -22,7 +22,7 @@
// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
-#include <kvi_tal_tabdialog.h>
+#include "kvi_tal_tabdialog.h"
class KviAboutDialog : public KviTalTabDialog
{
diff --git a/src/modules/addon/addonfunctions.cpp b/src/modules/addon/addonfunctions.cpp
index a609f7376..ac4863728 100644
--- a/src/modules/addon/addonfunctions.cpp
+++ b/src/modules/addon/addonfunctions.cpp
@@ -39,7 +39,7 @@
namespace KviAddonFunctions
{
- static bool notAValidAddonPackage(QString &szError)
+ bool notAValidAddonPackage(QString &szError)
{
KviQString::sprintf(szError,__tr2qs_ctx("The selected file does not seem to be a valid KVIrc addon package","addon"));
return false;
diff --git a/src/modules/addon/addonfunctions.h b/src/modules/addon/addonfunctions.h
index ffed963cf..23cae3719 100644
--- a/src/modules/addon/addonfunctions.h
+++ b/src/modules/addon/addonfunctions.h
@@ -34,7 +34,7 @@
namespace KviAddonFunctions
{
- static bool notAValidAddonPackage(QString &szError);
+ bool notAValidAddonPackage(QString &szError);
bool installAddonPackage(const QString &szAddonPackageFileName,QString &szError,QWidget * pDialogParent = 0);
void getAddonHtmlDescription(
QString &szBuffer,
diff --git a/src/modules/addon/managementdialog.cpp b/src/modules/addon/managementdialog.cpp
index d968b25c1..646e7698a 100644
--- a/src/modules/addon/managementdialog.cpp
+++ b/src/modules/addon/managementdialog.cpp
@@ -24,6 +24,7 @@
#include "managementdialog.h"
#include "packaddondialog.h"
+#include "addonfunctions.h"
#include "kvi_app.h"
#include "kvi_locale.h"
@@ -277,17 +278,32 @@ void KviScriptManagementDialog::getMoreScripts()
void KviScriptManagementDialog::installScript()
{
- QString buffer;
+ QString szFileName, szError;
- if(!KviFileDialog::askForOpenFileName(buffer,__tr2qs("Please select the addon installation file"),QString::null,"install.kvs",false,true))return;
+ if(!KviFileDialog::askForOpenFileName(szFileName,__tr2qs("Please select the addon installation file"),QString::null,KVI_FILTER_SCRIPTS,false,true))return;
- buffer.replace("\\","\\\\");
+ szFileName.replace("\\","\\\\");
- QString szCmd = "parse \"";
- szCmd += buffer;
- szCmd += "\"";
-
- KviKvsScript::run(szCmd,g_pActiveWindow);
+ // Switch between script and addon
+ if(szFileName.endsWith(".kvs"))
+ {
+ QString szCmd = "parse \"";
+ szCmd += szFileName;
+ szCmd += "\"";
+
+ KviKvsScript::run(szCmd,g_pActiveWindow);
+ } else if(szFileName.endsWith(".kva")){
+ if(!KviAddonFunctions::installAddonPackage(szFileName,szError,this))
+ {
+ KviMessageBox::information(szError);
+ return;
+ }
+ } else {
+ // Just for sanity check. We should NEVER enter here
+ QString szError;
+ KviAddonFunctions::notAValidAddonPackage(szError);
+ QMessageBox::critical(this,__tr2qs_ctx("Install Addon - KVIrc","addon"),szError,QMessageBox::Ok,QMessageBox::NoButton,QMessageBox::NoButton);
+ }
fillListView();
currentChanged(0,0);
diff --git a/src/modules/editor/scripteditor.cpp b/src/modules/editor/scripteditor.cpp
index bb188a86e..73489c103 100644
--- a/src/modules/editor/scripteditor.cpp
+++ b/src/modules/editor/scripteditor.cpp
@@ -1149,8 +1149,7 @@ void KviScriptEditorImplementation::loadFromFile()
QString fName;
if(KviFileDialog::askForOpenFileName(fName,
__tr2qs_ctx("Load Script File - KVIrc","editor"),
- QString::null,
- QString::null,false,true))
+ QString::null,KVI_FILTER_SCRIPT,false,true))
{
QString buffer;
if(KviFileUtils::loadFile(fName,buffer))
diff --git a/src/modules/list/listwindow.cpp b/src/modules/list/listwindow.cpp
index 04d9b9f1c..a866b64da 100644
--- a/src/modules/list/listwindow.cpp
+++ b/src/modules/list/listwindow.cpp
@@ -366,8 +366,7 @@ void KviListWindow::importList()
{
QString szFile;
- if(KviFileDialog::askForOpenFileName(szFile,__tr2qs("Choose filename"),QString::null,
- __tr2qs("Configuration files (*.kvc)"),false,
+ if(KviFileDialog::askForOpenFileName(szFile,__tr2qs("Choose filename"),QString::null,KVI_FILTER_CONFIG,false,
false,this))
{
if(m_pConsole->isConnected())
diff --git a/src/modules/mircimport/libkvimircimport.cpp b/src/modules/mircimport/libkvimircimport.cpp
index eff762a63..f594c6526 100644
--- a/src/modules/mircimport/libkvimircimport.cpp
+++ b/src/modules/mircimport/libkvimircimport.cpp
@@ -119,7 +119,7 @@ void KviMircServersIniImport::start()
{
//KviStr buffer;
QString buffer;
- if(!KviFileDialog::askForOpenFileName(buffer,__tr("Choose a servers.ini file"),0,"*.ini",false,true))return;
+ if(!KviFileDialog::askForOpenFileName(buffer,__tr("Choose a servers.ini file"),0,KVI_FILRER_INI,false,true))return;
doImport(buffer);
delete this;
diff --git a/src/modules/options/optw_identity.cpp b/src/modules/options/optw_identity.cpp
index e2bc8e148..95fc92ae6 100644
--- a/src/modules/options/optw_identity.cpp
+++ b/src/modules/options/optw_identity.cpp
@@ -260,7 +260,7 @@ void KviAvatarSelectionDialog::chooseFileClicked()
{
QString tmp;
if(KviFileDialog::askForOpenFileName(tmp,__tr2qs_ctx("Choose an Image File - KVIrc","options"),
- QString::null,QString::null,false,true,this))
+ QString::null,KVI_FILTER_IMAGE,false,true,this))
{
m_pLineEdit->setText(tmp);
}
diff --git a/src/modules/options/optw_texticons.cpp b/src/modules/options/optw_texticons.cpp
index 2a20ca740..94e968ae4 100644
--- a/src/modules/options/optw_texticons.cpp
+++ b/src/modules/options/optw_texticons.cpp
@@ -74,9 +74,9 @@ KviTextIconsOptionsWidget::KviTextIconsOptionsWidget(QWidget * parent)
m_pTable = new QTableWidget(g_pTextIconManager->textIconDict()->count(),2,this);
- QStringList header;
- header.append(__tr2qs("Text"));
- header.append(__tr2qs("Emoticon"));
+ QStringList header;
+ header.append(__tr2qs("Text"));
+ header.append(__tr2qs("Emoticon"));
m_pTable->setHorizontalHeaderLabels(header);
@@ -139,7 +139,7 @@ void KviTextIconsOptionsWidget::iconSelected(int id)
void KviTextIconsOptionsWidget::chooseFromFile()
{
QString szFile;
- KviFileDialog::askForOpenFileName(szFile,"Choose icon filename",QString::null,"*.png","options");
+ KviFileDialog::askForOpenFileName(szFile,"Choose icon filename",QString::null,KVI_FILTER_IMAGE,"options");
if(!szFile.isEmpty())
{
if(g_pIconManager->getPixmap(szFile))
diff --git a/src/modules/theme/managementdialog.cpp b/src/modules/theme/managementdialog.cpp
index 13cc23f84..1a677122a 100644
--- a/src/modules/theme/managementdialog.cpp
+++ b/src/modules/theme/managementdialog.cpp
@@ -316,7 +316,7 @@ void KviThemeManagementDialog::installFromFile()
QString szFileName;
QString szError;
- if(!KviFileDialog::askForOpenFileName(szFileName,__tr2qs_ctx("Open Theme - KVIrc","theme"),QString::null,"*.kvt"))
+ if(!KviFileDialog::askForOpenFileName(szFileName,__tr2qs_ctx("Open Theme - KVIrc","theme"),QString::null,KVI_FILTER_THEME))
return;
if(!KviThemeFunctions::installThemePackage(szFileName,szError,this))
{