From fd582de0b1406133953d7b9822848e5ecaa3cffb Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Sun, 22 Jun 2008 23:32:50 +0000 Subject: [PATCH] start implementing leitner box stuff svn path=/branches/work/soc-parley/libkdeedu/; revision=823303 --- keduvocdocument/keduvocdocument.cpp | 68 ++++++++-------------------- keduvocdocument/keduvoctranslation.h | 18 +++++++- keduvocdocument/keduvocwordtype.cpp | 2 - 3 files changed, 34 insertions(+), 54 deletions(-) diff --git a/keduvocdocument/keduvocdocument.cpp b/keduvocdocument/keduvocdocument.cpp index 5af0f4d..4f188f4 100644 --- a/keduvocdocument/keduvocdocument.cpp +++ b/keduvocdocument/keduvocdocument.cpp @@ -104,6 +104,9 @@ public: KEduVocDocument::KEduVocDocumentPrivate::~KEduVocDocumentPrivate() { + delete m_lessonContainer; + delete m_wordTypeContainer; + delete m_leitnerContainer; } void KEduVocDocument::KEduVocDocumentPrivate::init() @@ -118,6 +121,21 @@ void KEduVocDocument::KEduVocDocumentPrivate::init() } m_wordTypeContainer = new KEduVocWordType(i18n( "Word types" )); + if ( m_leitnerContainer ) { + delete m_leitnerContainer; + } + m_leitnerContainer = new KEduVocLesson(i18n( "Leitner Box" )); + +///test + m_leitnerContainer->appendChildContainer(new KEduVocLesson(i18n("Box 7 (best)"), m_leitnerContainer)); + m_leitnerContainer->appendChildContainer(new KEduVocLesson(i18n("Box 6"), m_leitnerContainer)); + m_leitnerContainer->appendChildContainer(new KEduVocLesson(i18n("Box 5"), m_leitnerContainer)); + m_leitnerContainer->appendChildContainer(new KEduVocLesson(i18n("Box 4"), m_leitnerContainer)); + m_leitnerContainer->appendChildContainer(new KEduVocLesson(i18n("Box 3"), m_leitnerContainer)); + m_leitnerContainer->appendChildContainer(new KEduVocLesson(i18n("Box 2"), m_leitnerContainer)); + m_leitnerContainer->appendChildContainer(new KEduVocLesson(i18n("Box 1 (lowest)"), m_leitnerContainer)); + + m_tenseDescriptions.clear(); m_identifiers.clear(); m_extraSizeHints.clear(); @@ -723,8 +741,6 @@ int KEduVocDocument::appendIdentifier( const KEduVocIdentifier& id ) return i; } - - KEduVocLesson * KEduVocDocument::lesson() { return d->m_lessonContainer; @@ -740,19 +756,16 @@ KEduVocLesson * KEduVocDocument::leitnerContainer() return d->m_leitnerContainer; } - KUrl KEduVocDocument::url() const { return d->m_url; } - void KEduVocDocument::setUrl( const KUrl& url ) { d->m_url = url; } - QString KEduVocDocument::title() const { if ( d->m_title.isEmpty() ) @@ -814,98 +827,53 @@ void KEduVocDocument::queryIdentifier( QString &org, QString &trans ) const trans = d->m_querytrans; } - void KEduVocDocument::setQueryIdentifier( const QString &org, const QString &trans ) { d->m_queryorg = org; d->m_querytrans = trans; } - - - - void KEduVocDocument::setLicense( const QString & s ) { d->m_license = s.simplified(); } - void KEduVocDocument::setDocumentComment( const QString & s ) { d->m_comment = s.trimmed(); } - void KEduVocDocument::setGenerator( const QString & generator ) { d->m_generator = generator; } - QString KEduVocDocument::generator() const { return d->m_generator; } - QString KEduVocDocument::version() const { return d->m_version; } - void KEduVocDocument::setVersion( const QString & vers ) { d->m_version = vers; } - QString KEduVocDocument::csvDelimiter() const { return d->m_csvDelimiter; } - void KEduVocDocument::setCsvDelimiter( const QString &delimiter ) { d->m_csvDelimiter = delimiter; } -class ExpRef -{ - -public: - ExpRef() - {} - ExpRef( KEduVocExpression *_exp, int _idx ) - { - idx = _idx; - exp = _exp; - } - - bool operator< ( const ExpRef& y ) const - { - QString s1; - QString s2; - int cmp; - foreach( int i, exp->translationIndices() ) { - - s1 = exp->translation( i )->text(); - s2 = y.exp->translation( i )->text(); - cmp = QString::compare( s1.toUpper(), s2.toUpper() ); - if ( cmp != 0 ) - return cmp < 0; - } - return cmp < 0; - } - - int idx; - KEduVocExpression *exp; -}; - - QString KEduVocDocument::pattern( FileDialogMode mode ) { static const struct SupportedFilter { diff --git a/keduvocdocument/keduvoctranslation.h b/keduvocdocument/keduvoctranslation.h index f44c692..dc102d5 100644 --- a/keduvocdocument/keduvoctranslation.h +++ b/keduvocdocument/keduvoctranslation.h @@ -27,6 +27,7 @@ class KEduVocExpression; class KEduVocString; class KEduVocWordType; +class KEduVocLesson; class KEduVocDeclension; /** @@ -136,8 +137,21 @@ public: */ void setWordType( KEduVocWordType* wordType ); - /** returns a conjugation if available - */ + /** returns the leitner box of this translation + * @return the box + */ + KEduVocLesson* leitnerBox() const; + + /** sets the leitner box of this translation + * @param leitnerBox the box + */ + void setLeitnerBox( KEduVocLesson* leitnerBox ); + + /** + * returns a conjugation if available + * @param tense tense of the requested conjugation + * @return the conjugation + */ KEduVocConjugation& conjugation( const QString& tense ); /** adds conjugations or replaces them, if they exist. diff --git a/keduvocdocument/keduvocwordtype.cpp b/keduvocdocument/keduvocwordtype.cpp index e84241c..961a36f 100644 --- a/keduvocdocument/keduvocwordtype.cpp +++ b/keduvocdocument/keduvocwordtype.cpp @@ -83,8 +83,6 @@ void KEduVocWordType::addTranslation(KEduVocTranslation* translation) void KEduVocWordType::removeTranslation(KEduVocTranslation* translation) { -kDebug() << "Remove Translation from wt"; - d->m_translations.removeAt( d->m_translations.indexOf(translation) ); // no lesson found - this entry is being deleted. remove all its siblings. -- 2.47.3