aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
authorGravatar Noldor2011-04-29 11:19:17 +0000
committerGravatar Noldor2011-04-29 11:19:17 +0000
commitd9ef70c90c20899f7a1ff1bfb057a6f24b5fe2a0 (patch)
tree0e71255705649dbfb926d720c6f04525399b4919 /src/modules
parentSome fixes in code text format (wip) (diff)
downloadKVIrc-d9ef70c90c20899f7a1ff1bfb057a6f24b5fe2a0.tar.gz
KVIrc-d9ef70c90c20899f7a1ff1bfb057a6f24b5fe2a0.tar.bz2
KVIrc-d9ef70c90c20899f7a1ff1bfb057a6f24b5fe2a0.zip
Fixed classes export in classeditor
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5808 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/classeditor/ClassEditorWindow.cpp42
1 files changed, 32 insertions, 10 deletions
diff --git a/src/modules/classeditor/ClassEditorWindow.cpp b/src/modules/classeditor/ClassEditorWindow.cpp
index 64c4255c3..498f92548 100644
--- a/src/modules/classeditor/ClassEditorWindow.cpp
+++ b/src/modules/classeditor/ClassEditorWindow.cpp
@@ -1075,10 +1075,12 @@ void ClassEditorWidget::exportClassBuffer(QString & szBuffer, ClassEditorTreeWid
szBuffer += "internal ";
szBuffer += "function ";
szBuffer += pFunction->name();
- szBuffer += "(" + pFunction->reminder() + ")";
- szBuffer += "\n\t{\n";
- szBuffer += pFunction->buffer();
- szBuffer += "\n\t}\n";
+ szBuffer += "(" + pFunction->reminder() + ")\n";
+ QString szCode=pFunction->buffer();
+ KviCommandFormatter::blockFromBuffer(szCode);
+ KviCommandFormatter::indent(szCode);
+
+ szBuffer += szCode;
}
}
szBuffer += "}\n";
@@ -1169,17 +1171,37 @@ void ClassEditorWidget::exportClasses(bool bSelectedOnly, bool bSingleFiles)
{
exportSelectionInSinglesFiles(&list);
return;
- }
+ }
ClassEditorTreeWidgetItem * pTempItem = 0;
+ KviPointerList<ClassEditorTreeWidgetItem> skiplist;
+ skiplist.setAutoDelete(false);
for(ClassEditorTreeWidgetItem * pItem = list.first(); pItem; pItem = list.next())
{
pTempItem = pItem;
- iCount++;
- QString szTmp;
- exportClassBuffer(szTmp,pItem);
- szOut += szTmp;
- szOut += "\n";
+ ClassEditorTreeWidgetItem *pParentClass = m_pClasses->find(pItem->inheritsClass());
+ KviPointerList<ClassEditorTreeWidgetItem> linkedClasses;
+ linkedClasses.setAutoDelete(false);
+ linkedClasses.append(pItem);
+ while(pParentClass)
+ {
+ if(skiplist.findRef(pParentClass)!=-1)
+ break;
+ linkedClasses.append(pParentClass);
+ pParentClass = m_pClasses->find(pParentClass->inheritsClass());
+ }
+ if(linkedClasses.count())
+ {
+ for(int i = linkedClasses.count()-1; i >= 0; i--)
+ {
+ iCount++;
+ QString szTmp;
+ exportClassBuffer(szTmp,linkedClasses.at(i));
+ skiplist.append(linkedClasses.at(i));
+ szOut += szTmp;
+ szOut += "\n";
+ }
+ }
}
if(szOut.isEmpty())