aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Noldor2010-05-23 14:22:59 +0000
committerGravatar Noldor2010-05-23 14:22:59 +0000
commit30a6c720476fe968653140bb183928f97d97f1db (patch)
tree99d85a616f3357c604033d3ce4304836bd0d1401
parentFix local directory selection in the setup dialog (diff)
downloadKVIrc-30a6c720476fe968653140bb183928f97d97f1db.tar.gz
KVIrc-30a6c720476fe968653140bb183928f97d97f1db.tar.bz2
KVIrc-30a6c720476fe968653140bb183928f97d97f1db.zip
Some fixes in object classes inheritance
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4362 17fca916-40b9-46aa-a4ea-0a15b648b75c
-rw-r--r--src/kvirc/kvs/kvi_kvs_object_class.cpp6
-rw-r--r--src/kvirc/kvs/kvi_kvs_object_functionhandler.cpp5
-rw-r--r--src/kvirc/kvs/kvi_kvs_object_functionhandler.h3
-rw-r--r--src/modules/classeditor/classeditor.cpp3
-rw-r--r--src/modules/editor/scripteditor.cpp4
5 files changed, 15 insertions, 6 deletions
diff --git a/src/kvirc/kvs/kvi_kvs_object_class.cpp b/src/kvirc/kvs/kvi_kvs_object_class.cpp
index 3425b7b54..bff940176 100644
--- a/src/kvirc/kvs/kvi_kvs_object_class.cpp
+++ b/src/kvirc/kvs/kvi_kvs_object_class.cpp
@@ -61,6 +61,10 @@ KviKvsObjectClass::KviKvsObjectClass(
while(KviKvsObjectFunctionHandler * fh = it.current())
{
m_pFunctionHandlers->insert(it.currentKey(),fh->clone());
+ KviKvsObjectFunctionHandler * f=m_pFunctionHandlers->find(it.currentKey());
+ if (f->isScriptHandler()){
+ f->setClone(true);
+ }
++it;
}
}
@@ -182,7 +186,7 @@ bool KviKvsObjectClass::save(const QString &szFileName)
while(KviKvsObjectFunctionHandler * h = it.current())
{
- if(h->isScriptHandler())
+ if(h->isScriptHandler() && !h->isClone())
{
szBuffer += " ";
if(h->flags() & KviKvsObjectFunctionHandler::Internal)
diff --git a/src/kvirc/kvs/kvi_kvs_object_functionhandler.cpp b/src/kvirc/kvs/kvi_kvs_object_functionhandler.cpp
index 8e7327e7b..543ce1477 100644
--- a/src/kvirc/kvs/kvi_kvs_object_functionhandler.cpp
+++ b/src/kvirc/kvs/kvi_kvs_object_functionhandler.cpp
@@ -29,6 +29,7 @@
KviKvsObjectFunctionHandler::KviKvsObjectFunctionHandler(unsigned int uFlags)
: m_uFlags(uFlags)
{
+ m_bClone=false;
}
KviKvsObjectFunctionHandler::~KviKvsObjectFunctionHandler()
@@ -44,3 +45,7 @@ QString KviKvsObjectFunctionHandler::scriptHandlerCode()
{
return QString();
}
+bool KviKvsObjectFunctionHandler::isClone()
+{
+ return m_bClone;
+}
diff --git a/src/kvirc/kvs/kvi_kvs_object_functionhandler.h b/src/kvirc/kvs/kvi_kvs_object_functionhandler.h
index 484cffbb6..e7b9b9f76 100644
--- a/src/kvirc/kvs/kvi_kvs_object_functionhandler.h
+++ b/src/kvirc/kvs/kvi_kvs_object_functionhandler.h
@@ -40,11 +40,14 @@ public:
enum Flags { Internal = 1 };
protected:
unsigned int m_uFlags;
+ bool m_bClone;
protected:
KviKvsObjectFunctionHandler(unsigned int uFlags = 0);
public:
virtual ~KviKvsObjectFunctionHandler();
public:
+ void setClone(bool bCl){m_bClone=bCl;};
+ bool isClone();
unsigned int flags(){ return m_uFlags; };
protected:
virtual bool isScriptHandler();
diff --git a/src/modules/classeditor/classeditor.cpp b/src/modules/classeditor/classeditor.cpp
index 74bfb8fa1..ff6a5ddc3 100644
--- a/src/modules/classeditor/classeditor.cpp
+++ b/src/modules/classeditor/classeditor.cpp
@@ -395,7 +395,8 @@ void KviClassEditor::createFullClass(KviKvsObjectClass *pClass, KviClassEditorTr
{
QString szCode;
KviKvsObjectFunctionHandler *handler=pClass->lookupFunctionHandler(it.currentKey());
- if (pClass->isScriptHandler(it.currentKey()))
+
+ if (pClass->isScriptHandler(it.currentKey()) && !handler->isClone())
{
pFunctionItem=findFunction(it.currentKey(), pClassItem);
if(!pFunctionItem) pFunctionItem = new KviClassEditorTreeWidgetItem(pClassItem,KviClassEditorTreeWidgetItem::Method,it.currentKey());
diff --git a/src/modules/editor/scripteditor.cpp b/src/modules/editor/scripteditor.cpp
index b8c5ec28e..18f49781a 100644
--- a/src/modules/editor/scripteditor.cpp
+++ b/src/modules/editor/scripteditor.cpp
@@ -679,8 +679,6 @@ void KviScriptEditorSyntaxHighlighter::highlightBlock(const QString & szText)
// 'found matches' highlighting
KviScriptEditorWidget * pEditor = ((KviScriptEditorWidget *)textEdit());
QString szFind = pEditor->m_szFind;
- debug("find %s",szFind.toUtf8().data());
-
if (!szFind.isEmpty())
{
index = szText.indexOf(szFind);
@@ -691,8 +689,6 @@ void KviScriptEditorSyntaxHighlighter::highlightBlock(const QString & szText)
index = szText.indexOf(szFind,index + length);
}
}
- debug("exit loop");
-
}