From 5282c76613ec040d7d47eed4e8b1fd0c8aafcdb7 Mon Sep 17 00:00:00 2001 From: Elvio Basello Date: Wed, 14 May 2008 16:18:26 +0000 Subject: 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 --- src/modules/about/aboutdialog.cpp | 2 +- src/modules/about/aboutdialog.h | 2 +- src/modules/addon/addonfunctions.cpp | 2 +- src/modules/addon/addonfunctions.h | 2 +- src/modules/addon/managementdialog.cpp | 32 +++++++++++++++++++++-------- src/modules/editor/scripteditor.cpp | 3 +-- src/modules/list/listwindow.cpp | 3 +-- src/modules/mircimport/libkvimircimport.cpp | 2 +- src/modules/options/optw_identity.cpp | 2 +- src/modules/options/optw_texticons.cpp | 8 ++++---- src/modules/theme/managementdialog.cpp | 2 +- 11 files changed, 37 insertions(+), 23 deletions(-) (limited to 'src/modules') 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 +#include "kvi_tal_textedit.h" #include #include 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 +#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)) { -- cgit v1.3.1-10-gc9f91