]> Git trees. - libqmvoc.git/commitdiff
Copy and paste word types.
authorFrederik Gladhorn <gladhorn@kde.org>
Sat, 14 Jun 2008 13:32:54 +0000 (13:32 +0000)
committerFrederik Gladhorn <gladhorn@kde.org>
Sat, 14 Jun 2008 13:32:54 +0000 (13:32 +0000)
svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=820483

keduvocdocument/keduvoccontainer.cpp
keduvocdocument/keduvoccontainer.h
keduvocdocument/keduvoctranslation.cpp

index 779f94cc1292d1554f682e7ad5a12a2f09e91a0c..6fceb877197fab5fa7d4243be862ea143389ad3f 100644 (file)
@@ -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!";
index 074be49e38e61ebe27847113cc8b999e11d6f45e..26503c91ebab3715d3a14a1c6284e4248f3b16ed 100644 (file)
@@ -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<KEduVocContainer *> childContainers();
 
     /**
index f219a6e9162d46222485c2a04a1923bdd354d541..a66223783647bd9b055cf78fb1285f36f4925455 100644 (file)
@@ -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;
 }