From ff9312199bff99ca3d2fde92e9c9a1f20edb94a7 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Sat, 14 Jun 2008 13:32:54 +0000 Subject: [PATCH] Copy and paste word types. svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=820483 --- keduvocdocument/keduvoccontainer.cpp | 11 +++++++++++ keduvocdocument/keduvoccontainer.h | 10 +++++++++- keduvocdocument/keduvoctranslation.cpp | 9 +++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/keduvocdocument/keduvoccontainer.cpp b/keduvocdocument/keduvoccontainer.cpp index 779f94c..6fceb87 100644 --- a/keduvocdocument/keduvoccontainer.cpp +++ b/keduvocdocument/keduvoccontainer.cpp @@ -88,6 +88,17 @@ KEduVocContainer * KEduVocContainer::childContainer(int row) } +KEduVocContainer * KEduVocContainer::childContainer(const QString & name) +{ + foreach (KEduVocContainer *container, d->m_childContainers) { + if (container->name() == name) { + return container; + } + } + return 0; +} + + void KEduVocContainer::deleteChildContainer(int row) { kDebug() << "Delete of container - check entry deletion!"; diff --git a/keduvocdocument/keduvoccontainer.h b/keduvocdocument/keduvoccontainer.h index 074be49..26503c9 100644 --- a/keduvocdocument/keduvoccontainer.h +++ b/keduvocdocument/keduvoccontainer.h @@ -26,7 +26,7 @@ class KEduVocExpression; -/** class to store information about a lesson */ +/** class to store information about a container - that can be a lesson or word types */ class KEDUVOCDOCUMENT_EXPORT KEduVocContainer { public: @@ -52,6 +52,14 @@ public: void removeChildContainer(int row); KEduVocContainer *childContainer(int row); + /** + * Retrieve a child container by its name + * Returns 0 if no container is found + * @param name container name + * @return the child container + */ + KEduVocContainer *childContainer(const QString& name); + QList childContainers(); /** diff --git a/keduvocdocument/keduvoctranslation.cpp b/keduvocdocument/keduvoctranslation.cpp index f219a6e..a662237 100644 --- a/keduvocdocument/keduvoctranslation.cpp +++ b/keduvocdocument/keduvoctranslation.cpp @@ -125,6 +125,15 @@ KEduVocTranslation::KEduVocTranslation( const KEduVocTranslation &other ) KEduVocTranslation::~KEduVocTranslation() { setWordType(0); + foreach (KEduVocTranslation *synonym, d->m_synonyms) { + synonym->removeSynonym(this); + } + foreach (KEduVocTranslation *antonym, d->m_antonyms) { + antonym->removeAntonym(this); + } + foreach (KEduVocTranslation *falseFriend, d->m_falseFriends) { + falseFriend->removeFalseFriend(this); + } delete d; } -- 2.47.3