summaryrefslogtreecommitdiff
path: root/noncore/settings/language
Unidiff
Diffstat (limited to 'noncore/settings/language') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/language/.cvsignore4
-rw-r--r--noncore/settings/language/Makefile.in135
-rw-r--r--noncore/settings/language/language.cpp150
-rw-r--r--noncore/settings/language/language.pro12
-rw-r--r--noncore/settings/language/languagesettingsbase.ui51
-rw-r--r--noncore/settings/language/main.cpp36
-rw-r--r--noncore/settings/language/qpe-language.control9
-rw-r--r--noncore/settings/language/settings.h58
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 @@
1moc_*
2Makefile
3languagesettingsbase.h
4languagesettingsbase.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
17DESTDIR = ../../bin/
18VER_MAJ = 1
19VER_MIN = 0
20VER_PATCH = 0
21 TARGET= language
22TARGET1 = 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
32INTERFACES = languagesettingsbase.ui
33UICDECLS = languagesettingsbase.h
34UICIMPLS = 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
63all: $(DESTDIR)$(TARGET)
64
65$(DESTDIR)$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) $(SUBLIBS)
66 $(SYSCONF_LINK) $(LFLAGS) -o $(DESTDIR)$(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)
67
68moc: $(SRCMOC)
69
70tmake:
71 tmake language.pro
72
73clean:
74 -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS)
75 -rm -f *~ core
76 -rm -f allmoc.cpp
77
78####### Extension Modules
79
80listpromodules:
81 @echo
82
83listallmodules:
84 @echo
85
86listaddonpromodules:
87 @echo
88
89listaddonentmodules:
90 @echo
91
92
93REQUIRES=
94
95####### Sub-libraries
96
97
98###### Combined headers
99
100
101
102####### Compile
103
104language.o: language.cpp \
105 settings.h \
106 languagesettingsbase.h
107
108main.o: main.cpp \
109 settings.h \
110 languagesettingsbase.h
111
112languagesettingsbase.h: languagesettingsbase.ui
113 $(UIC) languagesettingsbase.ui -o $(INTERFACE_DECL_PATH)/languagesettingsbase.h
114
115languagesettingsbase.cpp: languagesettingsbase.ui
116 $(UIC) languagesettingsbase.ui -i languagesettingsbase.h -o languagesettingsbase.cpp
117
118languagesettingsbase.o: languagesettingsbase.cpp \
119 languagesettingsbase.h \
120 languagesettingsbase.ui
121
122moc_settings.o: moc_settings.cpp \
123 settings.h \
124 languagesettingsbase.h
125
126moc_languagesettingsbase.o: moc_languagesettingsbase.cpp \
127 languagesettingsbase.h
128
129moc_settings.cpp: settings.h
130 $(MOC) settings.h -o moc_settings.cpp
131
132moc_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
61LanguageSettings::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
94LanguageSettings::~LanguageSettings()
95{
96}
97
98void LanguageSettings::accept()
99{
100 applyLanguage();
101 QDialog::accept();
102}
103
104void LanguageSettings::applyLanguage()
105{
106 QString lang = langAvail.at( languages->currentItem() );
107 setLanguage( lang );
108}
109
110
111void LanguageSettings::reject()
112{
113 reset();
114 QDialog::reject();
115}
116
117void 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
129QString LanguageSettings::actualLanguage;
130
131void 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
146void 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
7INCLUDEPATH += $(QPEDIR)/include
8 DEPENDPATH+= ../$(QPEDIR)/include
9LIBS += -lqpe
10 TARGET = language
11
12TRANSLATIONS = ../../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
26int 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 @@
1Files: bin/language apps/Settings/Language.desktop
2Priority: optional
3Section: qpe/settings
4Maintainer: Warwick Allison <warwick@trolltech.com>
5Architecture: arm
6Version: $QPE_VERSION-3
7Depends: qpe-base ($QPE_VERSION)
8Description: 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
28class QPEDialogListener;
29
30class LanguageSettings : public LanguageSettingsBase
31{
32 Q_OBJECT
33
34public:
35 LanguageSettings( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
36 ~LanguageSettings();
37
38protected:
39 void accept();
40 void reject();
41 void done(int);
42
43 QStrList langAvail;
44
45private slots:
46 void applyLanguage();
47 void reset();
48
49private:
50 static void setLanguage(const QString&);
51 static QString actualLanguage;
52
53 QPEDialogListener *dl;
54};
55
56
57#endif // SETTINGS_H
58