• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

libkdeedu/keduvocdocument

  • sources
  • kde-4.12
  • kdeedu
  • libkdeedu
  • keduvocdocument
keduvoccsvreader.cpp
Go to the documentation of this file.
1 /***************************************************************************
2 
3  create a KEduVocDocument from a text file
4 
5  -----------------------------------------------------------------------
6 
7  begin : Sat Sep 06 11:00:53 MET 1999
8 
9  copyright : (C) 1999-2001 Ewald Arnold <kvoctrain@ewald-arnold.de>
10 
11  (C) 2005, 2007 Peter Hedlund <peter.hedlund@kdemail.net>
12 
13  -----------------------------------------------------------------------
14 
15  ***************************************************************************/
16 
17 /***************************************************************************
18  * *
19  * This program is free software; you can redistribute it and/or modify *
20  * it under the terms of the GNU General Public License as published by *
21  * the Free Software Foundation; either version 2 of the License, or *
22  * (at your option) any later version. *
23  * *
24  ***************************************************************************/
25 
26 #include "keduvoccsvreader.h"
27 
28 #include <QIODevice>
29 #include <QTextStream>
30 
31 #include <klocale.h>
32 
33 #include "keduvocdocument.h"
34 #include "keduvoclesson.h"
35 #include "keduvocexpression.h"
36 
37 KEduVocCsvReader::KEduVocCsvReader( QIODevice *file )
38 {
39  // the file must be already open
40  m_inputFile = file;
41  m_errorMessage = "";
42 }
43 
44 
45 bool KEduVocCsvReader::readDoc( KEduVocDocument *doc )
46 {
47  m_doc = doc;
48 
49  QString separator = m_doc->csvDelimiter();
50 
51  QTextStream inputStream( m_inputFile );
52  inputStream.setCodec( "UTF-8" );
53  inputStream.setAutoDetectUnicode( true );
54  inputStream.seek( 0 );
55 
56  int languageCount = 0;
57 
58  KEduVocLesson* lesson = new KEduVocLesson( i18n("Vocabulary"), m_doc->lesson());
59  m_doc->lesson()->appendChildContainer(lesson);
60 
61  while ( !inputStream.atEnd() ) {
62  QString s = inputStream.readLine();
63 
64  if ( !s.simplified().isEmpty() ) {
65  KEduVocExpression* expression = new KEduVocExpression( s.split(separator) );
66  languageCount = qMax( languageCount,
67  expression->translationIndices().count() );
68  lesson->appendEntry( expression );
69  }
70  }
71 
72  for ( int j = 0; j < languageCount; j++ )
73  {
74  m_doc->appendIdentifier();
75  }
76 
77  return true;
78 }
KEduVocLesson::appendEntry
void appendEntry(KEduVocExpression *entry)
append an entry to the lesson
Definition: keduvoclesson.cpp:67
keduvocexpression.h
keduvocdocument.h
keduvoccsvreader.h
KEduVocLesson
class to store information about a lesson
Definition: keduvoclesson.h:27
KEduVocDocument::appendIdentifier
int appendIdentifier(const KEduVocIdentifier &identifier=KEduVocIdentifier())
Appends a new identifier (usually a language)
Definition: keduvocdocument.cpp:699
keduvoclesson.h
KEduVocExpression
This class contains one vocabulary expression as an original with one or more translations.
Definition: keduvocexpression.h:37
KEduVocContainer::appendChildContainer
void appendChildContainer(KEduVocContainer *child)
Definition: keduvoccontainer.cpp:77
KEduVocDocument::csvDelimiter
QString csvDelimiter() const
Returns the delimiter (separator) used for csv import and export.
Definition: keduvocdocument.cpp:847
KEduVocExpression::translationIndices
QList< int > translationIndices() const
Definition: keduvocexpression.cpp:199
KEduVocCsvReader::KEduVocCsvReader
KEduVocCsvReader(QIODevice *file)
Definition: keduvoccsvreader.cpp:37
KEduVocDocument::lesson
KEduVocLesson * lesson()
Get the lesson root object.
Definition: keduvocdocument.cpp:716
KEduVocDocument
This class contains the expressions of your vocabulary as well as other information about the vocabul...
Definition: keduvocdocument.h:44
KEduVocCsvReader::readDoc
bool readDoc(KEduVocDocument *doc)
Definition: keduvoccsvreader.cpp:45
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:37:21 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

libkdeedu/keduvocdocument

Skip menu "libkdeedu/keduvocdocument"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal