00001 #ifndef PREFERENCES_PARSER_H 00002 #define PREFERENCES_PARSER_H 00003 00004 #include <iostream.h> 00005 #include <qfile.h> 00006 #include <qmap.h> 00007 #include <qstring.h> 00008 #include <qstringlist.h> 00009 #include <qxml.h> 00010 #include <stdlib.h> 00011 #include <string.h> 00012 #include "Sequence.h" 00013 #include "Util.h" 00014 00015 class PreferencesParser : public QXmlDefaultHandler { 00016 00017 public: 00018 00019 PreferencesParser(); 00020 bool startElement( const QString&, const QString&, const QString&, const QXmlAttributes& attribs ); 00021 00022 int getQuizLength() const; 00023 int getRevealingSequenceCount() const; 00024 Sequence getRevealingSequenceAt( int index ); 00025 QString getInterfaceLanguage() const; 00026 bool isDigraphEnabled() const; 00027 bool areQuizButtonsHidden() const; 00028 bool isAltInTermListShown() const; 00029 QString getFirstLanguage() const; 00030 QValueList<QString> getStudyLanguages() const; 00031 QString getTestLanguage() const; 00032 QString getLabelsFontFamily() const; 00033 int getLabelsFontSizeModifier() const; 00034 QString getFontFamily() const; 00035 int getFontSizeModifier() const; 00036 QString getFontOverrideFamily( const QString& language ) const; 00037 int getFontOverrideSize( const QString& language ) const; 00038 bool isFontOverrideFamilyDefined( const QString& language ) const; 00039 bool isFontOverrideSizeDefined( const QString& language ) const; 00040 bool isLanguageFilterEnabled() const; 00041 QValueList<int> getClosedFolders() const; 00042 QMap<int,int> getAccelerators() const; 00043 00044 private: 00045 00046 int quizLength; 00047 QValueList<Sequence> sequences; 00048 QString interfaceLanguage; 00049 bool digraphEnabled; 00050 bool quizButtonsHidden; 00051 bool altInTermListShown; 00052 QString firstLanguage; 00053 QValueList<QString> studyLanguages; 00054 QString testLanguage; 00055 QString labelsFontFamily; 00056 int labelsFontSizeModifier; 00057 QString fontFamily; 00058 int fontSizeModifier; 00059 QMap<QString,QString> fontOverrideFamilies; 00060 QMap<QString,int> fontOverrideSizes; 00061 bool languageFilterEnabled; 00062 QValueList<int> closedFolders; 00063 QMap<int,int> accel; 00064 00065 }; 00066 00067 #endif