Preferences.h

Go to the documentation of this file.
00001 #ifndef PREFERENCES_H
00002 #define PREFERENCES_H 
00003 
00004 #include <stdio.h>
00005 #include <qfile.h>
00006 #include <qfont.h>
00007 #include <qmap.h>
00008 #include <qobject.h>
00009 #include <qtextstream.h>
00010 #include <qstring.h>
00011 #include <qvaluelist.h>
00012 #include <qpe/resource.h>
00013 #include "PreferencesParser.h"
00014 #include "Sequence.h"
00015 #include "Util.h"
00016 
00017 class Preferences : public QObject {
00018 
00019     Q_OBJECT
00020 
00021 public:
00022 
00023     static const Q_UINT32 magicNumber( Q_UINT32( 0x77556644 ) );
00024 
00025     enum { SHORTEST, SHORT, MEDIUM, LONG, LONGEST };
00026 
00027     typedef QValueList<Sequence> SequenceList;
00028 
00029     static const uint fontSizeList[];
00030 
00031     Preferences();
00032     ~Preferences(); 
00033 
00034     bool load();
00035     bool save();
00036 
00037     uint getQuizLength() const;
00038     void setQuizLength( uint quizLength );
00039 
00040     void clearRevealingSequences();
00041     void addRevealingSequence( Sequence sequence );
00042     int getRevealingSequence( const QString& seqStr );
00043     void removeRevealingSequence( int index );
00044     void removeRevealingSequence( const QString& seqStr );
00045     int getActiveRevealingSequenceCount();
00046     int getRevealingSequenceCount() const;
00047     Sequence getRevealingSequenceAt( int index );
00048 
00049     QString getInterfaceLanguage() const;
00050     void setInterfaceLanguage( const QString& interfaceLanguage );
00051 
00052     bool isDigraphEnabled() const;
00053     void setDigraphEnabled( bool isEnabled );
00054 
00055     bool areQuizButtonsHidden() const;
00056     void setQuizButtonsHidden( bool areHidden );
00057 
00058     bool isAltInTermListShown() const;
00059     void setAltInTermListShown( bool isShown );
00060 
00061     QString getFirstLanguage() const;
00062     void setFirstLanguage( const QString& firstLanguage );
00063 
00064     QValueList<QString> getStudyLanguages();
00065     bool isStudyLanguage( const QString& language );
00066     void addStudyLanguage( const QString& language );
00067     void removeStudyLanguage( const QString& language );
00068     void clearStudyLanguages();
00069 
00070     QString getTestLanguage() const;
00071     void setTestLanguage( const QString& testLanguage );
00072 
00073     QString getFontFamily() const;
00074     void setFontFamily( const QString& fontFamily );
00075     QString getDefaultFontFamily() const;
00076     int getDefaultFontSizeModifier() const;
00077     int getFontSizeModifier() const;
00078     void setFontSizeModifier( int fontSizeModifier );
00079 
00080     QFont getLargeFont( const QString& language = QString::null ) const;
00081     QFont getMediumFont( const QString& language = QString::null ) const;
00082     QFont getSmallFont( const QString& language = QString::null ) const;
00083     QFont getBestFont( const QString& lang1, const QString& lang2 ) const;
00084 
00085     QString getLabelsFontFamily() const;
00086     void setLabelsFontFamily( const QString& labelsFontFamily );
00087     QString getDefaultLabelsFontFamily() const;
00088     int getDefaultLabelsFontSizeModifier() const;
00089     int getLabelsFontSizeModifier() const;
00090     void setLabelsFontSizeModifier( int labelsFontSizeModifier );
00091     QFont getLabelsFont() const;
00092 
00093     QString getFontOverrideFamily( const QString& language ) const;
00094     int getFontOverrideSize( const QString& language ) const;
00095     void setFontOverrideFamily( const QString& language, const QString& fontFamily );
00096     void setFontOverrideSize( const QString& language, int fontSize );
00097     bool isFontOverrideFamilyDefined( const QString& language ) const;
00098     bool isFontOverrideSizeDefined( const QString& language ) const;
00099     void clearFontOverrideFamilies();
00100     void clearFontOverrideSizes();
00101 
00102     bool isLanguageFilterEnabled() const;
00103     void setLanguageFilterEnabled( bool isEnabled );
00104 
00105     bool isFolderOpen( int folderId ) const;
00106     void setFolderOpen( int folderId, bool isOpen );
00107 
00108     void setApplicationDirName( const QString& applDir );
00109 
00110     int getDefaultAccelerator( Action action );
00111     void setAccelerator( Action action, int accel );
00112     int getAccelerator( Action action );
00113 
00114 signals:
00115 
00116     void studyLanguageSelected( QString language );
00117     void studyLanguageDeselected( QString language );
00118 
00119 private:
00120 
00121     void initDefaultKeyboardAccelerators();
00122     QFont getFont( const QString& fontFamily, uint size ) const;
00123 
00124     uint                    quizLength;
00125     SequenceList            sequences;
00126 
00127     QString                 interfaceLanguage;
00128     bool                    digraphEnabled;
00129     bool                    quizButtonsHidden;
00130     bool                    altInTermListShown;
00131 
00132     QString                 firstLanguage;
00133     QValueList<QString>     studyLanguages;
00134     QString                 testLanguage;
00135 
00136     QString                 labelsFontFamily;
00137     int                     labelsFontSizeModifier;
00138 
00139     QString                 fontFamily;
00140     int                     fontSizeModifier;
00141 
00142     QMap<QString,QString>   fontOverrideFamilies;
00143     QMap<QString,int>       fontOverrideSizes;
00144 
00145     bool                    languageFilterEnabled;
00146 
00147     QValueList<int>         closedFolders;
00148 
00149     QString                 prefsXmlFilename;
00150     QString                 prefsFilename;
00151 
00152     QMap<int,int>           defaultAccel;
00153     QMap<int,int>           accel;
00154 
00155 };
00156 
00157 #endif

Generated on Sun Mar 1 17:30:47 2009 for toMOTko by  doxygen 1.5.6