1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
/***************************************************************************
* Copyright (C) 2001-2006 by Anne-Marie Mahfouf *
* annemarie.mahfouf@free.fr *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
#ifndef KLETTRES_H
#define KLETTRES_H
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <kmainwindow.h>
#include "klettresview.h"
#include "soundfactory.h"
class TQLabel;
class KToggleAction;
class KSelectAction;
class KComboBox;
class KToolBar;
class KLNewStuff;
/**
* @short Application Main Window
* @author Anne-Marie Mahfouf <annemarie.mahfouf@free.fr>
* @version 1.4
*/
class KLettres : public KMainWindow
{
Q_OBJECT
TQ_OBJECT
public:
///Constructor
KLettres();
///Destructor
virtual ~KLettres();
///Sound class
SoundFactory *soundFactory;
///All available language codes
TQStringList m_languages;
///All available language names
TQStringList m_languageNames;
/**
*Load the xml file
*@param tqlayoutDocument the xml file
*@return bool true if the xml document is found and well formed, false otherwise
*/
bool loadLayout(TQDomDocument &tqlayoutDocument);
///Number corresponding to the selected language: 0 is Czech, 1 is Danish, 2 is English (default), 3 is French, 4 is Dutch, 5 is Slovak
//uint selectedLanguage;
///Action that sets up the Language menu
KSelectAction *m_languageAction;
///Look for all languages available
void findLanguages();
public slots:
///Set the new language
void slotChangeLanguage(int);
protected:
///Call an instance of the KLettresView widget
KLettresView *m_view;
///Action that enables the ShowMenuBar item in the Settings menu
KToggleAction *m_menubarAction;
///Action that sets up the Level menu
KSelectAction *m_levelAction;
///Action that sets up the Look menu
KSelectAction *m_themeAction;
///Action allow the Kid mode
KToggleAction *m_kidAction;
///Action allow the Grownup mode
KToggleAction *m_grownupAction;
///Label stating the language in the statusbar
TQLabel *m_langLabel;
///Label stating the level in the statusbar
TQLabel *m_levLabel;
///Holds the levels
TQStringList m_levelsNames;
///Holds the looks
TQStringList m_themesNames;
///Create an instance of a KToolBar
KToolBar *m_mainToolbar;
///Second toolbar with buttons of special characters per language
KToolBar *m_secondToolbar;
///is false when menubar button is not shown
bool menuBool;
///Build the main window menus
void setupActions();
///Create and setup statusbar
void setupStatusbar();
///Create main and second toolbars
void setupToolbars();
/**generates icons for the special characters toolbar
* @param c the character that will be painted on the icon
*/
TQString charIcon(const TQChar &c);
/**
*Update the level menu and level combobox
* @param id The id of the new level
*/
void updateLevMenu(int id);
///Create a KNewStuff instance
KLNewStuff *mNewStuff;
///Set the correct buttons on the second toolbar according to the language
void loadLangToolBar();
///All the special characters from a language file, these characters will be as buttons on the Special Characters Toolbar
TQStringList allData;
protected slots:
///Call the Get New Stuff dialog
void slotDownloadNewStuff();
///Hide/Show the menubar
void slotMenubar();
///Set the new font and the new timers
void slotUpdateSettings();
///Set the new level
void slotChangeLevel(int);
///Switch to the grown-up look, menubar is shown
void slotModeGrownup();
///Switch to the kid look, menubar is hidden
void slotModeKid();
///Change Look from menu Look
void slotChangeTheme(int);
///Display the Configure KLettres dialog
void optionsPreferences();
///Load the configuration settings and apply them
void loadSettings();
///When a button is clicked on the characters toolbar, the corresponding character is written in the lineedit
void slotPasteChar();
};
#endif // KLETTRES_H
|