diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 02:13:59 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 02:13:59 +0000 |
commit | a6d58bb6052ac8cb01805a48c4ad2f129126116f (patch) | |
tree | dd867a099fcbb263a8009a9fb22695b87855dad6 /src/modules/codetester | |
download | kvirc-a6d58bb6052ac8cb01805a48c4ad2f129126116f.tar.gz kvirc-a6d58bb6052ac8cb01805a48c4ad2f129126116f.zip |
Added KDE3 version of kvirc
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kvirc@1095341 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/modules/codetester')
-rw-r--r-- | src/modules/codetester/Makefile.am | 17 | ||||
-rw-r--r-- | src/modules/codetester/codetester.cpp | 157 | ||||
-rw-r--r-- | src/modules/codetester/codetester.h | 67 | ||||
-rw-r--r-- | src/modules/codetester/libkvicodetester.cpp | 89 |
4 files changed, 330 insertions, 0 deletions
diff --git a/src/modules/codetester/Makefile.am b/src/modules/codetester/Makefile.am new file mode 100644 index 00000000..37540094 --- /dev/null +++ b/src/modules/codetester/Makefile.am @@ -0,0 +1,17 @@ +AM_CPPFLAGS = -I$(SS_TOPSRCDIR)/src/kvilib/include/ -I$(SS_TOPSRCDIR)/src/kvirc/include/ \ +$(SS_INCDIRS) $(SS_CPPFLAGS) -DGLOBAL_KVIRC_DIR=\"$(globalkvircdir)\" + +pluglib_LTLIBRARIES = libkvicodetester.la + +libkvicodetester_la_LDFLAGS = -module -avoid-version $(SS_LDFLAGS) $(SS_LIBDIRS) + +libkvicodetester_la_SOURCES = libkvicodetester.cpp codetester.cpp +nodist_libkvicodetester_la_SOURCES = moc_codetester.cpp + +noinst_HEADERS = codetester.h +libkvicodetester_la_LIBADD = $(SS_LIBLINK) ../../kvilib/build/libkvilib.la + +# noinst_HEADERS= + +moc_codetester.cpp: codetester.h + $(SS_QT_MOC) $< -o $@ diff --git a/src/modules/codetester/codetester.cpp b/src/modules/codetester/codetester.cpp new file mode 100644 index 00000000..69a46abc --- /dev/null +++ b/src/modules/codetester/codetester.cpp @@ -0,0 +1,157 @@ +// +// File : codetester.cpp +// Creation date : Mon Dec 23 2002 20:28:18 by Szymon Stefanek +// +// This file is part of the KVirc irc client distribution +// Copyright (C) 2002 Szymon Stefanek (pragma at kvirc dot net) +// +// This program is FREE software. You can redistribute it and/or +// modify it under the linkss of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your opinion) any later version. +// +// This program is distributed in the HOPE that it will be USEFUL, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, write to the Free Software Foundation, +// Inc. ,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// +#include "codetester.h" + +#include "kvi_iconmanager.h" +#include "kvi_options.h" +#include "kvi_locale.h" +#include "kvi_config.h" +#include "kvi_filedialog.h" +#include "kvi_fileutils.h" +#include "kvi_scripteditor.h" + +#include "kvi_app.h" +#include "kvi_console.h" +#include "kvi_parameterlist.h" +#include "kvi_kvs_script.h" +#include "kvi_kvs_variantlist.h" + +#include <qpushbutton.h> +#include <qlayout.h> +#include <qlabel.h> +#include <qtoolbutton.h> +#include "kvi_tal_popupmenu.h" + +extern KviPointerList<KviCodeTesterWindow> * g_pCodeTesterWindowList; + + + + +KviCodeTester::KviCodeTester(QWidget * par) +: QWidget(par,"code_tester") +{ + QGridLayout * g = new QGridLayout(this,2,4,2,2); + m_pEditor = KviScriptEditor::createInstance(this); + g->addMultiCellWidget(m_pEditor,0,0,0,3); + m_pExecuteButton = new QPushButton(__tr2qs("&Execute"),this); + g->addWidget(m_pExecuteButton,1,3); + connect(m_pExecuteButton,SIGNAL(clicked()),this,SLOT(execute())); + + m_pModeLabel = new QLabel(__tr("Params:"),this); + g->addWidget(m_pModeLabel,1,1); + m_pParams = new QLineEdit(this); + g->addWidget(m_pParams,1,2); +} + +KviCodeTester::~KviCodeTester() +{ + KviScriptEditor::destroyInstance(m_pEditor); +} + +//#warning "Allow to bind the command to a specified window" + +void KviCodeTester::execute() +{ + QString parms = m_pParams->text(); + QString buffer; + m_pEditor->getText(buffer); + KviConsole * con = g_pApp->activeConsole(); + //KviParameterList * l = new KviParameterList(parms.ptr()); + KviKvsScript::run(buffer,con,new KviKvsVariantList(new QString(parms))); +} + +KviCodeTesterWindow::KviCodeTesterWindow(KviFrame * lpFrm) +: KviWindow(KVI_WINDOW_TYPE_SCRIPTEDITOR,lpFrm,"codetester",0) +{ + g_pCodeTesterWindowList->append(this); + + m_pTester = new KviCodeTester(this); +} + +KviCodeTesterWindow::~KviCodeTesterWindow() +{ + g_pCodeTesterWindowList->removeRef(this); +} + +QPixmap * KviCodeTesterWindow::myIconPtr() +{ + return g_pIconManager->getSmallIcon(KVI_SMALLICON_BOMB); +} + +void KviCodeTesterWindow::resizeEvent(QResizeEvent *e) +{ + m_pTester->setGeometry(0,0,width(),height()); +} + +void KviCodeTesterWindow::fillCaptionBuffers() +{ + m_szPlainTextCaption = __tr2qs("Script Tester"); + + static QString p1("<nobr><font color=\""); + static QString p2("\"><b>"); + static QString p3("</b></font></nobr>"); + + m_szHtmlActiveCaption = p1; + m_szHtmlActiveCaption += KVI_OPTION_COLOR(KviOption_colorCaptionTextActive).name(); + m_szHtmlActiveCaption += p2; + m_szHtmlActiveCaption += m_szPlainTextCaption; + m_szHtmlActiveCaption += p3; + + m_szHtmlInactiveCaption = p1; + m_szHtmlInactiveCaption += KVI_OPTION_COLOR(KviOption_colorCaptionTextInactive).name(); + m_szHtmlInactiveCaption += p2; + m_szHtmlInactiveCaption += m_szPlainTextCaption; + m_szHtmlInactiveCaption += p3; +} + + +void KviCodeTesterWindow::getConfigGroupName(KviStr &szName) +{ + szName = "codetester"; +} + + +void KviCodeTesterWindow::saveProperties(KviConfig *cfg) +{ +/* +#ifdef COMPILE_SCRIPTTOOLBAR + cfg->writeEntry("Sizes",m_pEditor->sizes()); + cfg->writeEntry("LastRaw",m_pEditor->lastEditedRaw().ptr()); + //debug("LAST EDITED=%s",m_pEditor->lastEditedRaw().ptr()); +#endif // COMPILE_SCRIPTTOOLBAR +*/ +} + +void KviCodeTesterWindow::loadProperties(KviConfig *cfg) +{ +/* +#ifdef COMPILE_SCRIPTTOOLBAR + QValueList<int> def; + def.append(20); + def.append(80); + m_pEditor->setSizes(cfg->readIntListEntry("Sizes",def)); + KviStr tmp = cfg->readEntry("LastRaw",""); + m_pEditor->editRaw(tmp); + //debug("LAST EDITED WAS %s",tmp.ptr()); +#endif // COMPILE_SCRIPTTOOLBAR +*/ +} diff --git a/src/modules/codetester/codetester.h b/src/modules/codetester/codetester.h new file mode 100644 index 00000000..ce24ca5d --- /dev/null +++ b/src/modules/codetester/codetester.h @@ -0,0 +1,67 @@ +#ifndef _CODETESTER_H_ +#define _CODETESTER_H_ +// +// File : eventeditor.h +// Creation date : Mon Dec 23 2002 20:24:55 CEST by Szymon Stefanek +// +// This file is part of the KVirc irc client distribution +// Copyright (C) 2002 Szymon Stefanek (pragma at kvirc dot net) +// +// This program is FREE software. You can redistribute it and/or +// modify it under the linkss of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your opinion) any later version. +// +// This program is distributed in the HOPE that it will be USEFUL, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, write to the Free Software Foundation, +// Inc. ,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// + +#include "kvi_window.h" +#include "kvi_string.h" + +#include <qlineedit.h> + +class QPushButton; +class QLabel; + +class KviScriptEditor; + +class KviCodeTester : public QWidget +{ + Q_OBJECT +public: + KviCodeTester(QWidget * par); + ~KviCodeTester(); +private: + KviScriptEditor * m_pEditor; + QLineEdit * m_pParams; + QPushButton * m_pExecuteButton; + QLabel * m_pModeLabel; +private slots: + void execute(); +}; + +class KviCodeTesterWindow : public KviWindow +{ + Q_OBJECT +public: + KviCodeTesterWindow(KviFrame * lpFrm); + ~KviCodeTesterWindow(); +protected: + KviCodeTester * m_pTester; +protected: + virtual QPixmap * myIconPtr(); + virtual void fillCaptionBuffers(); + virtual void resizeEvent(QResizeEvent *e); + virtual void getConfigGroupName(KviStr &szName); + virtual void saveProperties(KviConfig *); + virtual void loadProperties(KviConfig *); +}; + +#endif //_CODETESTER_H_ diff --git a/src/modules/codetester/libkvicodetester.cpp b/src/modules/codetester/libkvicodetester.cpp new file mode 100644 index 00000000..ec84a217 --- /dev/null +++ b/src/modules/codetester/libkvicodetester.cpp @@ -0,0 +1,89 @@ +//=============================================================================== +// +// File : libkvicodetester.cpp +// Creation date : Mon 23 Dec 2002 20:23:59 2002 GMT by Szymon Stefanek +// +// This toolbar is part of the KVirc irc client distribution +// Copyright (C) 2002-2005 Szymon Stefanek (pragma at kvirc dot net) +// +// This program is FREE software. You can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your opinion) any later version. +// +// This program is distributed in the HOPE that it will be USEFUL, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, write to the Free Software Foundation, +// Inc. ,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// +//=============================================================================== + +#include "kvi_module.h" +#include "kvi_locale.h" +#include "kvi_frame.h" +#include "kvi_pointerlist.h" + +#include "codetester.h" + +KviPointerList<KviCodeTesterWindow> * g_pCodeTesterWindowList = 0; + + +/* + @doc: codetester.open + @type: + command + @title: + codetester.open + @short: + Shows the code tester window + @syntax: + codetester.open + @description: + Opens a new code tester window +*/ + +static bool codetester_kvs_cmd_open(KviKvsModuleCommandCall * c) +{ + KviCodeTesterWindow * w = new KviCodeTesterWindow(c->window()->frame()); + c->window()->frame()->addWindow(w); + w->setFocus(); + return true; +} + +static bool codetester_module_init(KviModule * m) +{ + KVSM_REGISTER_SIMPLE_COMMAND(m,"open",codetester_kvs_cmd_open); + + g_pCodeTesterWindowList = new KviPointerList<KviCodeTesterWindow>(); + g_pCodeTesterWindowList->setAutoDelete(false); + return true; +} + +static bool codetester_module_can_unload(KviModule * m) +{ + return (g_pCodeTesterWindowList->count() == 0); +} + +static bool codetester_module_cleanup(KviModule *m) +{ + while(KviCodeTesterWindow * w = g_pCodeTesterWindowList->first()) + { + w->close(); // deleted path! + } + return true; +} + +KVIRC_MODULE( + "CodeTester", // module name + "1.0.0", // module version + "Copyright (C) 2002 Szymon Stefanek (pragma at kvirc dot net)", // author & (C) + "Code tester window", + codetester_module_init, + codetester_module_can_unload, + 0, + codetester_module_cleanup +) |