author | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
commit | 15318cad33835e4e2dc620d033e43cd930676cdd (patch) (unidiff) | |
tree | c2fa0399a2c47fda8e2cd0092c73a809d17f68eb /noncore/settings/language | |
download | opie-15318cad33835e4e2dc620d033e43cd930676cdd.zip opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.gz opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.bz2 |
Initial revision
-rw-r--r-- | noncore/settings/language/.cvsignore | 4 | ||||
-rw-r--r-- | noncore/settings/language/Makefile.in | 135 | ||||
-rw-r--r-- | noncore/settings/language/language.cpp | 150 | ||||
-rw-r--r-- | noncore/settings/language/language.pro | 12 | ||||
-rw-r--r-- | noncore/settings/language/languagesettingsbase.ui | 51 | ||||
-rw-r--r-- | noncore/settings/language/main.cpp | 36 | ||||
-rw-r--r-- | noncore/settings/language/qpe-language.control | 9 | ||||
-rw-r--r-- | noncore/settings/language/settings.h | 58 |
8 files changed, 455 insertions, 0 deletions
diff --git a/noncore/settings/language/.cvsignore b/noncore/settings/language/.cvsignore new file mode 100644 index 0000000..30ff791 --- a/dev/null +++ b/noncore/settings/language/.cvsignore | |||
@@ -0,0 +1,4 @@ | |||
1 | moc_* | ||
2 | Makefile | ||
3 | languagesettingsbase.h | ||
4 | languagesettingsbase.cpp | ||
diff --git a/noncore/settings/language/Makefile.in b/noncore/settings/language/Makefile.in new file mode 100644 index 0000000..2babf6e --- a/dev/null +++ b/noncore/settings/language/Makefile.in | |||
@@ -0,0 +1,135 @@ | |||
1 | ############################################################################# | ||
2 | |||
3 | ####### Compiler, tools and options | ||
4 | |||
5 | CXX =$(SYSCONF_CXX) $(QT_CXX_MT) | ||
6 | CXXFLAGS=$(SYSCONF_CXXFLAGS_QT) $(SYSCONF_CXXFLAGS) | ||
7 | CC =$(SYSCONF_CC) $(QT_C_MT) | ||
8 | CFLAGS =$(SYSCONF_CFLAGS) | ||
9 | INCPATH =-I$(QPEDIR)/include | ||
10 | LFLAGS =$(SYSCONF_LFLAGS_QT) $(SYSCONF_RPATH_QT) $(SYSCONF_LFLAGS) $(QT_LFLAGS_MT) | ||
11 | LIBS =$(SUBLIBS) -lqpe $(SYSCONF_LIBS_QT) $(SYSCONF_LIBS) $(SYSCONF_LIBS_QTAPP) | ||
12 | MOC =$(SYSCONF_MOC) | ||
13 | UIC =$(SYSCONF_UIC) | ||
14 | |||
15 | ####### Target | ||
16 | |||
17 | DESTDIR = ../../bin/ | ||
18 | VER_MAJ = 1 | ||
19 | VER_MIN = 0 | ||
20 | VER_PATCH = 0 | ||
21 | TARGET= language | ||
22 | TARGET1 = lib$(TARGET).so.$(VER_MAJ) | ||
23 | |||
24 | ####### Files | ||
25 | |||
26 | HEADERS =settings.h | ||
27 | SOURCES =language.cpp \ | ||
28 | main.cpp | ||
29 | OBJECTS =language.o \ | ||
30 | main.o \ | ||
31 | languagesettingsbase.o | ||
32 | INTERFACES = languagesettingsbase.ui | ||
33 | UICDECLS = languagesettingsbase.h | ||
34 | UICIMPLS = languagesettingsbase.cpp | ||
35 | SRCMOC =moc_settings.cpp \ | ||
36 | moc_languagesettingsbase.cpp | ||
37 | OBJMOC =moc_settings.o \ | ||
38 | moc_languagesettingsbase.o | ||
39 | |||
40 | |||
41 | ####### Implicit rules | ||
42 | |||
43 | .SUFFIXES: .cpp .cxx .cc .C .c | ||
44 | |||
45 | .cpp.o: | ||
46 | $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< | ||
47 | |||
48 | .cxx.o: | ||
49 | $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< | ||
50 | |||
51 | .cc.o: | ||
52 | $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< | ||
53 | |||
54 | .C.o: | ||
55 | $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< | ||
56 | |||
57 | .c.o: | ||
58 | $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< | ||
59 | |||
60 | ####### Build rules | ||
61 | |||
62 | |||
63 | all: $(DESTDIR)$(TARGET) | ||
64 | |||
65 | $(DESTDIR)$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) $(SUBLIBS) | ||
66 | $(SYSCONF_LINK) $(LFLAGS) -o $(DESTDIR)$(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) | ||
67 | |||
68 | moc: $(SRCMOC) | ||
69 | |||
70 | tmake: | ||
71 | tmake language.pro | ||
72 | |||
73 | clean: | ||
74 | -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) | ||
75 | -rm -f *~ core | ||
76 | -rm -f allmoc.cpp | ||
77 | |||
78 | ####### Extension Modules | ||
79 | |||
80 | listpromodules: | ||
81 | @echo | ||
82 | |||
83 | listallmodules: | ||
84 | @echo | ||
85 | |||
86 | listaddonpromodules: | ||
87 | @echo | ||
88 | |||
89 | listaddonentmodules: | ||
90 | @echo | ||
91 | |||
92 | |||
93 | REQUIRES= | ||
94 | |||
95 | ####### Sub-libraries | ||
96 | |||
97 | |||
98 | ###### Combined headers | ||
99 | |||
100 | |||
101 | |||
102 | ####### Compile | ||
103 | |||
104 | language.o: language.cpp \ | ||
105 | settings.h \ | ||
106 | languagesettingsbase.h | ||
107 | |||
108 | main.o: main.cpp \ | ||
109 | settings.h \ | ||
110 | languagesettingsbase.h | ||
111 | |||
112 | languagesettingsbase.h: languagesettingsbase.ui | ||
113 | $(UIC) languagesettingsbase.ui -o $(INTERFACE_DECL_PATH)/languagesettingsbase.h | ||
114 | |||
115 | languagesettingsbase.cpp: languagesettingsbase.ui | ||
116 | $(UIC) languagesettingsbase.ui -i languagesettingsbase.h -o languagesettingsbase.cpp | ||
117 | |||
118 | languagesettingsbase.o: languagesettingsbase.cpp \ | ||
119 | languagesettingsbase.h \ | ||
120 | languagesettingsbase.ui | ||
121 | |||
122 | moc_settings.o: moc_settings.cpp \ | ||
123 | settings.h \ | ||
124 | languagesettingsbase.h | ||
125 | |||
126 | moc_languagesettingsbase.o: moc_languagesettingsbase.cpp \ | ||
127 | languagesettingsbase.h | ||
128 | |||
129 | moc_settings.cpp: settings.h | ||
130 | $(MOC) settings.h -o moc_settings.cpp | ||
131 | |||
132 | moc_languagesettingsbase.cpp: languagesettingsbase.h | ||
133 | $(MOC) languagesettingsbase.h -o moc_languagesettingsbase.cpp | ||
134 | |||
135 | |||
diff --git a/noncore/settings/language/language.cpp b/noncore/settings/language/language.cpp new file mode 100644 index 0000000..397d372 --- a/dev/null +++ b/noncore/settings/language/language.cpp | |||
@@ -0,0 +1,150 @@ | |||
1 | /********************************************************************** | ||
2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | ||
3 | ** | ||
4 | ** This file is part of Qtopia Environment. | ||
5 | ** | ||
6 | ** This file may be distributed and/or modified under the terms of the | ||
7 | ** GNU General Public License version 2 as published by the Free Software | ||
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
9 | ** packaging of this file. | ||
10 | ** | ||
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
13 | ** | ||
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
15 | ** | ||
16 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
17 | ** not clear to you. | ||
18 | ** | ||
19 | **********************************************************************/ | ||
20 | |||
21 | #include "settings.h" | ||
22 | |||
23 | #include <qpe/global.h> | ||
24 | #include <qpe/fontmanager.h> | ||
25 | #include <qpe/config.h> | ||
26 | #include <qpe/applnk.h> | ||
27 | #include <qpe/qpedialog.h> | ||
28 | #include <qpe/qpeapplication.h> | ||
29 | #if defined(Q_WS_QWS) && !defined(QT_NO_COP) | ||
30 | #include <qpe/qcopenvelope_qws.h> | ||
31 | #endif | ||
32 | |||
33 | #include <qlabel.h> | ||
34 | #include <qcheckbox.h> | ||
35 | #include <qradiobutton.h> | ||
36 | #include <qtabwidget.h> | ||
37 | #include <qslider.h> | ||
38 | #include <qfile.h> | ||
39 | #include <qtextstream.h> | ||
40 | #include <qdatastream.h> | ||
41 | #include <qmessagebox.h> | ||
42 | #include <qcombobox.h> | ||
43 | #include <qspinbox.h> | ||
44 | #include <qlistbox.h> | ||
45 | #include <qdir.h> | ||
46 | #if QT_VERSION >= 300 | ||
47 | #include <qstylefactory.h> | ||
48 | #endif | ||
49 | |||
50 | #if defined(QT_QWS_IPAQ) || defined(QT_QWS_EBX) | ||
51 | #include <unistd.h> | ||
52 | #include <linux/fb.h> | ||
53 | #include <sys/types.h> | ||
54 | #include <sys/stat.h> | ||
55 | #include <fcntl.h> | ||
56 | #include <sys/ioctl.h> | ||
57 | #endif | ||
58 | #include <stdlib.h> | ||
59 | |||
60 | |||
61 | LanguageSettings::LanguageSettings( QWidget* parent, const char* name, WFlags fl ) | ||
62 | : LanguageSettingsBase( parent, name, TRUE, fl ) | ||
63 | { | ||
64 | if ( FontManager::hasUnicodeFont() ) | ||
65 | languages->setFont(FontManager::unicodeFont(FontManager::Proportional)); | ||
66 | |||
67 | QString tfn = QPEApplication::qpeDir()+"/i18n/"; | ||
68 | QDir langDir = tfn; | ||
69 | QStringList list = langDir.entryList("*", QDir::Dirs ); | ||
70 | |||
71 | QStringList::Iterator it; | ||
72 | |||
73 | for( it = list.begin(); it != list.end(); ++it ) { | ||
74 | QString name = (*it); | ||
75 | QFileInfo desktopFile( tfn + "/" + name + "/.directory" ); | ||
76 | if( desktopFile.exists() ) { | ||
77 | langAvail.append(name); | ||
78 | Config conf( desktopFile.filePath(), Config::File ); | ||
79 | QString langName = conf.readEntry( "Name" ); | ||
80 | QString ownName = conf.readEntryDirect( "Name["+name+"]" ); | ||
81 | if ( ownName.isEmpty() ) | ||
82 | ownName = conf.readEntryDirect( "Name" ); | ||
83 | if ( !ownName.isEmpty() && ownName != langName ) | ||
84 | langName = langName + " [" + ownName + "]"; | ||
85 | languages->insertItem( langName ); | ||
86 | |||
87 | } | ||
88 | } | ||
89 | |||
90 | dl = new QPEDialogListener(this); | ||
91 | reset(); | ||
92 | } | ||
93 | |||
94 | LanguageSettings::~LanguageSettings() | ||
95 | { | ||
96 | } | ||
97 | |||
98 | void LanguageSettings::accept() | ||
99 | { | ||
100 | applyLanguage(); | ||
101 | QDialog::accept(); | ||
102 | } | ||
103 | |||
104 | void LanguageSettings::applyLanguage() | ||
105 | { | ||
106 | QString lang = langAvail.at( languages->currentItem() ); | ||
107 | setLanguage( lang ); | ||
108 | } | ||
109 | |||
110 | |||
111 | void LanguageSettings::reject() | ||
112 | { | ||
113 | reset(); | ||
114 | QDialog::reject(); | ||
115 | } | ||
116 | |||
117 | void LanguageSettings::reset() | ||
118 | { | ||
119 | QString l = getenv("LANG"); | ||
120 | Config config("language"); | ||
121 | l = config.readEntry( "Language", l ); | ||
122 | if(l.isEmpty()) l = "en"; | ||
123 | actualLanguage = l; | ||
124 | |||
125 | int n = langAvail.find( l ); | ||
126 | languages->setCurrentItem( n ); | ||
127 | } | ||
128 | |||
129 | QString LanguageSettings::actualLanguage; | ||
130 | |||
131 | void LanguageSettings::setLanguage(const QString& lang) | ||
132 | { | ||
133 | if( lang != actualLanguage ) { | ||
134 | Config config("locale"); | ||
135 | config.setGroup( "Language" ); | ||
136 | config.writeEntry( "Language", lang ); | ||
137 | config.write(); | ||
138 | |||
139 | #if defined(Q_WS_QWS) && !defined(QT_NO_COP) | ||
140 | QCopEnvelope e("QPE/System","language(QString)"); | ||
141 | e << lang; | ||
142 | #endif | ||
143 | } | ||
144 | } | ||
145 | |||
146 | void LanguageSettings::done(int r) | ||
147 | { | ||
148 | QDialog::done(r); | ||
149 | close(); | ||
150 | } | ||
diff --git a/noncore/settings/language/language.pro b/noncore/settings/language/language.pro new file mode 100644 index 0000000..d1f1bf0 --- a/dev/null +++ b/noncore/settings/language/language.pro | |||
@@ -0,0 +1,12 @@ | |||
1 | TEMPLATE= app | ||
2 | CONFIG += qt warn_on release | ||
3 | DESTDIR = ../../bin | ||
4 | HEADERS = settings.h | ||
5 | SOURCES = language.cpp main.cpp | ||
6 | INTERFACES= languagesettingsbase.ui | ||
7 | INCLUDEPATH += $(QPEDIR)/include | ||
8 | DEPENDPATH+= ../$(QPEDIR)/include | ||
9 | LIBS += -lqpe | ||
10 | TARGET = language | ||
11 | |||
12 | TRANSLATIONS = ../../i18n/de/language.ts | ||
diff --git a/noncore/settings/language/languagesettingsbase.ui b/noncore/settings/language/languagesettingsbase.ui new file mode 100644 index 0000000..62bdafa --- a/dev/null +++ b/noncore/settings/language/languagesettingsbase.ui | |||
@@ -0,0 +1,51 @@ | |||
1 | <!DOCTYPE UI><UI> | ||
2 | <class>LanguageSettingsBase</class> | ||
3 | <widget> | ||
4 | <class>QDialog</class> | ||
5 | <property stdset="1"> | ||
6 | <name>name</name> | ||
7 | <cstring>LanguageSettingsBase</cstring> | ||
8 | </property> | ||
9 | <property stdset="1"> | ||
10 | <name>geometry</name> | ||
11 | <rect> | ||
12 | <x>0</x> | ||
13 | <y>0</y> | ||
14 | <width>369</width> | ||
15 | <height>492</height> | ||
16 | </rect> | ||
17 | </property> | ||
18 | <property stdset="1"> | ||
19 | <name>caption</name> | ||
20 | <string>Language</string> | ||
21 | </property> | ||
22 | <vbox> | ||
23 | <property stdset="1"> | ||
24 | <name>margin</name> | ||
25 | <number>11</number> | ||
26 | </property> | ||
27 | <property stdset="1"> | ||
28 | <name>spacing</name> | ||
29 | <number>6</number> | ||
30 | </property> | ||
31 | <widget> | ||
32 | <class>QLabel</class> | ||
33 | <property stdset="1"> | ||
34 | <name>name</name> | ||
35 | <cstring>TextLabel1</cstring> | ||
36 | </property> | ||
37 | <property stdset="1"> | ||
38 | <name>text</name> | ||
39 | <string>Select language</string> | ||
40 | </property> | ||
41 | </widget> | ||
42 | <widget> | ||
43 | <class>QListBox</class> | ||
44 | <property stdset="1"> | ||
45 | <name>name</name> | ||
46 | <cstring>languages</cstring> | ||
47 | </property> | ||
48 | </widget> | ||
49 | </vbox> | ||
50 | </widget> | ||
51 | </UI> | ||
diff --git a/noncore/settings/language/main.cpp b/noncore/settings/language/main.cpp new file mode 100644 index 0000000..a760ff3 --- a/dev/null +++ b/noncore/settings/language/main.cpp | |||
@@ -0,0 +1,36 @@ | |||
1 | /********************************************************************** | ||
2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | ||
3 | ** | ||
4 | ** This file is part of Qtopia Environment. | ||
5 | ** | ||
6 | ** This file may be distributed and/or modified under the terms of the | ||
7 | ** GNU General Public License version 2 as published by the Free Software | ||
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
9 | ** packaging of this file. | ||
10 | ** | ||
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
13 | ** | ||
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
15 | ** | ||
16 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
17 | ** not clear to you. | ||
18 | ** | ||
19 | **********************************************************************/ | ||
20 | |||
21 | #include "settings.h" | ||
22 | |||
23 | #include <qpe/qpeapplication.h> | ||
24 | |||
25 | |||
26 | int main(int argc, char** argv) | ||
27 | { | ||
28 | QPEApplication a(argc,argv); | ||
29 | |||
30 | LanguageSettings dlg; | ||
31 | |||
32 | a.showMainWidget(&dlg); | ||
33 | |||
34 | return a.exec(); | ||
35 | } | ||
36 | |||
diff --git a/noncore/settings/language/qpe-language.control b/noncore/settings/language/qpe-language.control new file mode 100644 index 0000000..b33c947 --- a/dev/null +++ b/noncore/settings/language/qpe-language.control | |||
@@ -0,0 +1,9 @@ | |||
1 | Files: bin/language apps/Settings/Language.desktop | ||
2 | Priority: optional | ||
3 | Section: qpe/settings | ||
4 | Maintainer: Warwick Allison <warwick@trolltech.com> | ||
5 | Architecture: arm | ||
6 | Version: $QPE_VERSION-3 | ||
7 | Depends: qpe-base ($QPE_VERSION) | ||
8 | Description: Language settings dialog | ||
9 | For the Qtopia environment. | ||
diff --git a/noncore/settings/language/settings.h b/noncore/settings/language/settings.h new file mode 100644 index 0000000..22cc987 --- a/dev/null +++ b/noncore/settings/language/settings.h | |||
@@ -0,0 +1,58 @@ | |||
1 | /********************************************************************** | ||
2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | ||
3 | ** | ||
4 | ** This file is part of Qtopia Environment. | ||
5 | ** | ||
6 | ** This file may be distributed and/or modified under the terms of the | ||
7 | ** GNU General Public License version 2 as published by the Free Software | ||
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
9 | ** packaging of this file. | ||
10 | ** | ||
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
13 | ** | ||
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
15 | ** | ||
16 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
17 | ** not clear to you. | ||
18 | ** | ||
19 | **********************************************************************/ | ||
20 | #ifndef SETTINGS_H | ||
21 | #define SETTINGS_H | ||
22 | |||
23 | |||
24 | #include <qstrlist.h> | ||
25 | #include <qasciidict.h> | ||
26 | #include "languagesettingsbase.h" | ||
27 | |||
28 | class QPEDialogListener; | ||
29 | |||
30 | class LanguageSettings : public LanguageSettingsBase | ||
31 | { | ||
32 | Q_OBJECT | ||
33 | |||
34 | public: | ||
35 | LanguageSettings( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); | ||
36 | ~LanguageSettings(); | ||
37 | |||
38 | protected: | ||
39 | void accept(); | ||
40 | void reject(); | ||
41 | void done(int); | ||
42 | |||
43 | QStrList langAvail; | ||
44 | |||
45 | private slots: | ||
46 | void applyLanguage(); | ||
47 | void reset(); | ||
48 | |||
49 | private: | ||
50 | static void setLanguage(const QString&); | ||
51 | static QString actualLanguage; | ||
52 | |||
53 | QPEDialogListener *dl; | ||
54 | }; | ||
55 | |||
56 | |||
57 | #endif // SETTINGS_H | ||
58 | |||