diff options
| author | 2011-04-29 11:19:17 +0000 | |
|---|---|---|
| committer | 2011-04-29 11:19:17 +0000 | |
| commit | d9ef70c90c20899f7a1ff1bfb057a6f24b5fe2a0 (patch) | |
| tree | 0e71255705649dbfb926d720c6f04525399b4919 /src/modules/classeditor | |
| parent | Some fixes in code text format (wip) (diff) | |
| download | KVIrc-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/classeditor')
| -rw-r--r-- | src/modules/classeditor/ClassEditorWindow.cpp | 42 |
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()) |
