From a6d58bb6052ac8cb01805a48c4ad2f129126116f Mon Sep 17 00:00:00 2001 From: tpearson Date: Wed, 24 Feb 2010 02:13:59 +0000 Subject: Added KDE3 version of kvirc git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kvirc@1095341 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- src/modules/editor/libkvieditor.cpp | 94 +++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 src/modules/editor/libkvieditor.cpp (limited to 'src/modules/editor/libkvieditor.cpp') diff --git a/src/modules/editor/libkvieditor.cpp b/src/modules/editor/libkvieditor.cpp new file mode 100644 index 00000000..14ad53b3 --- /dev/null +++ b/src/modules/editor/libkvieditor.cpp @@ -0,0 +1,94 @@ +// +// File : libkvieditor.cpp +// Creation date : Mon Sep 11 2000 12:19:00 by Szymon Stefanek +// +// Copyright (C) 1999-2000 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_window.h" + +#include "scripteditor.h" + +KviModule * g_pEditorModulePointer = 0; + +KviPointerList * g_pScriptEditorWindowList = 0; + +static bool editor_module_init(KviModule * m) +{ + g_pScriptEditorWindowList = new KviPointerList; + g_pScriptEditorWindowList->setAutoDelete(false); + + g_pEditorModulePointer = m; + + return true; +} + +static bool editor_module_cleanup(KviModule *m) +{ + while(g_pScriptEditorWindowList->first()) + { + QObject * w = g_pScriptEditorWindowList->first()->parent();; + while(w) + { + //debug("%s %s %i %s",__FILE__,__FUNCTION__,__LINE__,w->className()); + if(w->inherits("KviWindow")) + { + // debug("%s %s %i",__FILE__,__FUNCTION__,__LINE__); + ((KviWindow *)w)->close(); + // debug("%s %s %i",__FILE__,__FUNCTION__,__LINE__); + break; + } + w = w->parent(); + } + delete g_pScriptEditorWindowList->first(); + } + delete g_pScriptEditorWindowList; + g_pScriptEditorWindowList = 0; + + return true; +} + +static bool editor_module_can_unload(KviModule *m) +{ + return ((g_pScriptEditorWindowList == 0) || (g_pScriptEditorWindowList->count() == 0)); +} + +KVIRC_MODULE( + "Editor", // module name + "1.0.0", // module version + "Copyright (C) 2000 Szymon Stefanek (pragma at kvirc dot net)", // author & (C) + "Text editor extension", + editor_module_init, + editor_module_can_unload, + 0, + editor_module_cleanup +) + +// We want C linkage on this one: we want to be able to dlsym() it with a simple name +// FIXME: Is this portable enough ? Or is better to have a table entry ? + +KVIMODULEEXPORTFUNC KviScriptEditor * editor_module_createScriptEditor(QWidget * par) +{ + return new KviScriptEditorImplementation(par); +} + +KVIMODULEEXPORTFUNC void editor_module_destroyScriptEditor(KviScriptEditor * e) +{ + delete ((KviScriptEditorImplementation *)e); +} -- cgit v1.2.1