MainWindow.h
Go to the documentation of this file.00001 #ifndef APPLICATION_H
00002 #define APPLICATION_H
00003
00004 #include <iostream.h>
00005 #include <qaction.h>
00006 #include <qclipboard.h>
00007 #include <qcombobox.h>
00008 #include <qdir.h>
00009 #include <qevent.h>
00010 #include <qfile.h>
00011 #include <qfont.h>
00012 #include <qfontdatabase.h>
00013 #include <qlistview.h>
00014 #include <qpixmap.h>
00015 #include <qpopupmenu.h>
00016 #include <qprogressbar.h>
00017 #include <qmainwindow.h>
00018
00019 #include <qmessagebox.h>
00020 #include <qpe/fileselector.h>
00021 #include <qpe/resource.h>
00022 #include <qpe/qpemenubar.h>
00023 #include <qpe/qpetoolbar.h>
00024 #include <qpixmap.h>
00025 #include <qpushbutton.h>
00026 #include <qstringlist.h>
00027 #include <qthread.h>
00028 #include <qtranslator.h>
00029 #include <qwidgetstack.h>
00030 #include <stdio.h>
00031 #include "Controller.h"
00032 #include "PixMap.h"
00033 #include "PreferencesDialog.h"
00034 #include "QuizFrame.h"
00035 #include "VocabularyManagerFrame.h"
00036 #include "Term.h"
00037
00038 extern QAction* action[ ACTION_COUNT ];
00039
00040 class MainWindow : public QMainWindow {
00041
00042
00043 static const int frameQuizIndex = 0;
00044 static const int frameVocabManagerIndex = 1;
00045
00046 Q_OBJECT
00047
00048 public:
00049
00050 MainWindow( Controller* controller );
00051 ~MainWindow();
00052
00053 Controller* controller();
00054
00055 bool isDigraphEnabled() const;
00056
00057 public slots:
00058
00059 void updateMenus( QListViewItem* item );
00060 void updateFonts();
00061 void setDigraphEnabled( bool isEnabled );
00062 void retranslateUi();
00063 void switchLanguage( const QString& language );
00064 void switchLanguage( QAction* langAction );
00065 void toggleMaximize( bool isOn );
00066 void search();
00067
00068 protected:
00069
00070 void closeEvent( QCloseEvent* );
00071
00072 private slots:
00073
00074 void about();
00075 void startQuiz();
00076 void showQuiz();
00077 void invokeVocabularyManager();
00078 void importData();
00079 void exportData();
00080 void preferences();
00081 void copy();
00082 void cut();
00083 void paste();
00084 void toggleLanguageFilter();
00085 void quit();
00086 void setFirstLanguage( const QString& lang );
00087 void setTestLanguage( const QString& lang );
00088 void switchFirstAndTestLanguages();
00089
00090 private:
00091
00092 void setLanguageFilterEnabled( bool isEnabled );
00093 void updateFirstLanguageValues();
00094 void updateTestLanguageValues();
00095 void selectLanguage( QComboBox* comboBox, const QString& langCode );
00096 void updateLanguageSelector( QComboBox* comboBox );
00097
00098 QMap<QString,QString> availableLanguages;
00099
00100 int editionMenuId;
00101 int viewMenuId;
00102 int showAllVocabSeparatorId;
00103
00104 Controller* control;
00105
00106 QWidgetStack* mainPanel;
00107
00108 QuizFrame* quizFrame;
00109 VocabularyManagerFrame* vocabManagerFrame;
00110
00111 QPEToolBar* toolBar;
00112
00113 QPopupMenu* actionsMenu;
00114 QPopupMenu* helpMenu;
00115
00116 QAction* copyAction;
00117 QAction* cutAction;
00118 QAction* pasteAction;
00119
00120 QActionGroup* languageActionGroup;
00121
00122 QHBox* languageSelectorPanel;
00123 QComboBox* firstLanguageComboBox;
00124 QLabel* languageSelectorLabel;
00125 QComboBox* testLanguageComboBox;
00126
00127 QProgressBar* progressBar;
00128
00129 QPopupMenu* editionMenu;
00130 QPopupMenu* viewMenu;
00131 QMenuBar* menuBar;
00132
00133 QTranslator* translator;
00134
00135 };
00136
00137 #endif