Git commit 0b0856c222776b49b98c18ce00e9a55676b19909 by Inge Wallin.
Committed on 15/11/2014 at 00:20.
Pushed by ingwa into branch 'master'.
KLettres is now officially a KF5 based application!
Conflicts:
klettres.appdata.xml
M +48 -12 CMakeLists.txt
M +1 -1 doc/CMakeLists.txt
M +1 -2 doc/index.docbook
M +21 -1 icons/CMakeLists.txt
R +- -- icons/hi128-actions-klettres_desert.png [from:
icons/hi128-action-klettres_desert.png - 100% similarity]
R +- -- icons/hi128-actions-klettres_grownup.png [from:
icons/hi128-action-klettres_grownup.png - 100% similarity]
R +- -- icons/hi128-actions-klettres_kids.png [from:
icons/hi128-action-klettres_kids.png - 100% similarity]
R +- -- icons/hi16-actions-klettres_desert.png [from:
icons/hi16-action-klettres_desert.png - 100% similarity]
R +- -- icons/hi16-actions-klettres_grownup.png [from:
icons/hi16-action-klettres_grownup.png - 100% similarity]
R +- -- icons/hi16-actions-klettres_kids.png [from:
icons/hi16-action-klettres_kids.png - 100% similarity]
R +- -- icons/hi22-actions-klettres_desert.png [from:
icons/hi22-action-klettres_desert.png - 100% similarity]
R +- -- icons/hi22-actions-klettres_grownup.png [from:
icons/hi22-action-klettres_grownup.png - 100% similarity]
R +- -- icons/hi22-actions-klettres_kids.png [from:
icons/hi22-action-klettres_kids.png - 100% similarity]
R +- -- icons/hi32-actions-klettres_desert.png [from:
icons/hi32-action-klettres_desert.png - 100% similarity]
R +- -- icons/hi32-actions-klettres_grownup.png [from:
icons/hi32-action-klettres_grownup.png - 100% similarity]
R +- -- icons/hi32-actions-klettres_kids.png [from:
icons/hi32-action-klettres_kids.png - 100% similarity]
R +- -- icons/hi48-actions-klettres_desert.png [from:
icons/hi48-action-klettres_desert.png - 100% similarity]
R +- -- icons/hi48-actions-klettres_grownup.png [from:
icons/hi48-action-klettres_grownup.png - 100% similarity]
R +- -- icons/hi48-actions-klettres_kids.png [from:
icons/hi48-action-klettres_kids.png - 100% similarity]
R +- -- icons/hi64-actions-klettres_desert.png [from:
icons/hi64-action-klettres_desert.png - 100% similarity]
R +- -- icons/hi64-actions-klettres_grownup.png [from:
icons/hi64-action-klettres_grownup.png - 100% similarity]
R +- -- icons/hi64-actions-klettres_kids.png [from:
icons/hi64-action-klettres_kids.png - 100% similarity]
R +- -- icons/hisc-actions-klettres_desert.svgz [from:
icons/hisc-action-klettres_desert.svgz - 100% similarity]
R +0 -0 icons/hisc-actions-klettres_grownup.svg [from:
icons/hisc-action-klettres_grownup.svg - 100% similarity]
R +- -- icons/hisc-actions-klettres_grownup.svgz [from:
icons/hisc-action-klettres_grownup.svgz - 100% similarity]
R +0 -0 icons/hisc-actions-klettres_kids.svg [from:
icons/hisc-action-klettres_kids.svg - 100% similarity]
R +- -- icons/hisc-actions-klettres_kids.svgz [from:
icons/hisc-action-klettres_kids.svgz - 100% similarity]
M +0 -18 klettres.appdata.xml
M +25 -13 src/CMakeLists.txt
M +55 -60 src/klettres.cpp
D +0 -190 src/klettres.desktop
A +23 -0 src/klettres_debug.cpp [License: LGPL (v2+)]
A +27 -0 src/klettres_debug.h [License: LGPL (v2+)]
M +17 -17 src/klettresview.cpp
M +1 -1 src/klettresview.h
M +1 -1 src/kltheme.cpp
M +4 -3 src/langutils.cpp
M +36 -28 src/main.cpp
A +57 -0 src/org.kde.klettres.desktop
M +10 -8 src/soundfactory.cpp
M +4 -4 src/timer.cpp
M +11 -5 tests/CMakeLists.txt
M +2 -4 tests/malayalamtest.cpp
M +1 -2 tests/malayalamtest.h
http://commits.kde.org/klettres/0b0856c222776b49b98c18ce00e9a55676b19909
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1c12653..d011e8f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,18 +1,54 @@
project(klettres)
-find_package(KDE4 REQUIRED)
+#minimum requirements
+cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
+set(QT_MIN_VERSION "5.2.0")
+
+# we need some parts of the ECM CMake helpers
+find_package (ECM 1.3.0 REQUIRED NO_MODULE)
+set (CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
+include(ECMOptionalAddSubdirectory)
+include(CMakePackageConfigHelpers)
+include(ECMInstallIcons)
+
+include(KDEInstallDirs)
+include(KDECompilerSettings)
+include(KDECMakeSettings)
+include(ECMAddTests)
+
+# Load the frameworks we need
+
+find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED
+ Core
+ Svg
+ Test
+ Widgets
+)
+find_package(Phonon4Qt5)
+
+find_package(KF5 REQUIRED COMPONENTS
+ Completion
+ DocTools
+ Emoticons
+ ItemModels
+ I18n
+ KDELibs4Support
+ NewStuff
+ WidgetsAddons
+ ConfigWidgets
+ CoreAddons
+)
+
include(KDE4Defaults)
-include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES}
${QT4_INCLUDES})
+include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES}
${QT4_INCLUDES} ${PHONON_INCLUDE_DIR})
add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
-add_subdirectory( doc )
-add_subdirectory( src )
-
-add_subdirectory( pics )
-add_subdirectory( data )
-add_subdirectory( sounds )
-add_subdirectory( icons )
-add_subdirectory( themes )
-add_subdirectory( tests )
-install(FILES klettres.appdata.xml DESTINATION
${SHARE_INSTALL_PREFIX}/appdata/)
+ecm_optional_add_subdirectory( doc )
+ecm_optional_add_subdirectory( src )
+ecm_optional_add_subdirectory( pics )
+ecm_optional_add_subdirectory( data )
+ecm_optional_add_subdirectory( sounds )
+ecm_optional_add_subdirectory( icons )
+ecm_optional_add_subdirectory( themes )
+ecm_optional_add_subdirectory( tests )
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index d186938..61f0cee 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -1,4 +1,4 @@
########### install files ###############
#
#
-kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en
SUBDIR klettres)
+kdoctools_create_handbook(index.docbook INSTALL_DESTINATION
${HTML_INSTALL_DIR}/en SUBDIR klettres)
diff --git a/doc/index.docbook b/doc/index.docbook
index 4f84c88..2a525e8 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -1,6 +1,5 @@
<?xml version="1.0" ?>
-<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
- "dtd/kdex.dtd" [
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN"
"dtd/kdedbx45.dtd" [
<!ENTITY kappname "&klettres;"><!-- replace klettres here -->
<!ENTITY package "kdeedu">
<!ENTITY % addindex "IGNORE">
diff --git a/icons/CMakeLists.txt b/icons/CMakeLists.txt
index 71b6e1b..a4dcf42 100644
--- a/icons/CMakeLists.txt
+++ b/icons/CMakeLists.txt
@@ -1 +1,21 @@
-kde4_install_icons( ${DATA_INSTALL_DIR}/klettres/icons )
+ecm_install_icons( ICONS
+hi128-actions-klettres_desert.png
+hi128-actions-klettres_grownup.png
+hi128-actions-klettres_kids.png
+hi16-actions-klettres_desert.png
+hi16-actions-klettres_grownup.png
+hi16-actions-klettres_kids.png
+hi22-actions-klettres_desert.png
+hi22-actions-klettres_grownup.png
+hi22-actions-klettres_kids.png
+hi32-actions-klettres_desert.png
+hi32-actions-klettres_grownup.png
+hi32-actions-klettres_kids.png
+hi48-actions-klettres_desert.png
+hi48-actions-klettres_grownup.png
+hi48-actions-klettres_kids.png
+hi64-actions-klettres_desert.png
+hi64-actions-klettres_grownup.png
+hi64-actions-klettres_kids.png
+DESTINATION
+${DATA_INSTALL_DIR}/klettres/icons )
diff --git a/icons/hi128-action-klettres_desert.png
b/icons/hi128-actions-klettres_desert.png
similarity index 100%
rename from icons/hi128-action-klettres_desert.png
rename to icons/hi128-actions-klettres_desert.png
diff --git a/icons/hi128-action-klettres_grownup.png
b/icons/hi128-actions-klettres_grownup.png
similarity index 100%
rename from icons/hi128-action-klettres_grownup.png
rename to icons/hi128-actions-klettres_grownup.png
diff --git a/icons/hi128-action-klettres_kids.png
b/icons/hi128-actions-klettres_kids.png
similarity index 100%
rename from icons/hi128-action-klettres_kids.png
rename to icons/hi128-actions-klettres_kids.png
diff --git a/icons/hi16-action-klettres_desert.png
b/icons/hi16-actions-klettres_desert.png
similarity index 100%
rename from icons/hi16-action-klettres_desert.png
rename to icons/hi16-actions-klettres_desert.png
diff --git a/icons/hi16-action-klettres_grownup.png
b/icons/hi16-actions-klettres_grownup.png
similarity index 100%
rename from icons/hi16-action-klettres_grownup.png
rename to icons/hi16-actions-klettres_grownup.png
diff --git a/icons/hi16-action-klettres_kids.png
b/icons/hi16-actions-klettres_kids.png
similarity index 100%
rename from icons/hi16-action-klettres_kids.png
rename to icons/hi16-actions-klettres_kids.png
diff --git a/icons/hi22-action-klettres_desert.png
b/icons/hi22-actions-klettres_desert.png
similarity index 100%
rename from icons/hi22-action-klettres_desert.png
rename to icons/hi22-actions-klettres_desert.png
diff --git a/icons/hi22-action-klettres_grownup.png
b/icons/hi22-actions-klettres_grownup.png
similarity index 100%
rename from icons/hi22-action-klettres_grownup.png
rename to icons/hi22-actions-klettres_grownup.png
diff --git a/icons/hi22-action-klettres_kids.png
b/icons/hi22-actions-klettres_kids.png
similarity index 100%
rename from icons/hi22-action-klettres_kids.png
rename to icons/hi22-actions-klettres_kids.png
diff --git a/icons/hi32-action-klettres_desert.png
b/icons/hi32-actions-klettres_desert.png
similarity index 100%
rename from icons/hi32-action-klettres_desert.png
rename to icons/hi32-actions-klettres_desert.png
diff --git a/icons/hi32-action-klettres_grownup.png
b/icons/hi32-actions-klettres_grownup.png
similarity index 100%
rename from icons/hi32-action-klettres_grownup.png
rename to icons/hi32-actions-klettres_grownup.png
diff --git a/icons/hi32-action-klettres_kids.png
b/icons/hi32-actions-klettres_kids.png
similarity index 100%
rename from icons/hi32-action-klettres_kids.png
rename to icons/hi32-actions-klettres_kids.png
diff --git a/icons/hi48-action-klettres_desert.png
b/icons/hi48-actions-klettres_desert.png
similarity index 100%
rename from icons/hi48-action-klettres_desert.png
rename to icons/hi48-actions-klettres_desert.png
diff --git a/icons/hi48-action-klettres_grownup.png
b/icons/hi48-actions-klettres_grownup.png
similarity index 100%
rename from icons/hi48-action-klettres_grownup.png
rename to icons/hi48-actions-klettres_grownup.png
diff --git a/icons/hi48-action-klettres_kids.png
b/icons/hi48-actions-klettres_kids.png
similarity index 100%
rename from icons/hi48-action-klettres_kids.png
rename to icons/hi48-actions-klettres_kids.png
diff --git a/icons/hi64-action-klettres_desert.png
b/icons/hi64-actions-klettres_desert.png
similarity index 100%
rename from icons/hi64-action-klettres_desert.png
rename to icons/hi64-actions-klettres_desert.png
diff --git a/icons/hi64-action-klettres_grownup.png
b/icons/hi64-actions-klettres_grownup.png
similarity index 100%
rename from icons/hi64-action-klettres_grownup.png
rename to icons/hi64-actions-klettres_grownup.png
diff --git a/icons/hi64-action-klettres_kids.png
b/icons/hi64-actions-klettres_kids.png
similarity index 100%
rename from icons/hi64-action-klettres_kids.png
rename to icons/hi64-actions-klettres_kids.png
diff --git a/icons/hisc-action-klettres_desert.svgz
b/icons/hisc-actions-klettres_desert.svgz
similarity index 100%
rename from icons/hisc-action-klettres_desert.svgz
rename to icons/hisc-actions-klettres_desert.svgz
diff --git a/icons/hisc-action-klettres_grownup.svg
b/icons/hisc-actions-klettres_grownup.svg
similarity index 100%
rename from icons/hisc-action-klettres_grownup.svg
rename to icons/hisc-actions-klettres_grownup.svg
diff --git a/icons/hisc-action-klettres_grownup.svgz
b/icons/hisc-actions-klettres_grownup.svgz
similarity index 100%
rename from icons/hisc-action-klettres_grownup.svgz
rename to icons/hisc-actions-klettres_grownup.svgz
diff --git a/icons/hisc-action-klettres_kids.svg
b/icons/hisc-actions-klettres_kids.svg
similarity index 100%
rename from icons/hisc-action-klettres_kids.svg
rename to icons/hisc-actions-klettres_kids.svg
diff --git a/icons/hisc-action-klettres_kids.svgz
b/icons/hisc-actions-klettres_kids.svgz
similarity index 100%
rename from icons/hisc-action-klettres_kids.svgz
rename to icons/hisc-actions-klettres_kids.svgz
diff --git a/klettres.appdata.xml b/klettres.appdata.xml
index 2e23618..54f6cd8 100644
--- a/klettres.appdata.xml
+++ b/klettres.appdata.xml
@@ -9,42 +9,28 @@
<name xml:lang="de">KLettres</name>
<name xml:lang="en-GB">KLettres</name>
<name xml:lang="es">KLettres</name>
- <name xml:lang="et">KLettres</name>
<name xml:lang="fi">KLettres</name>
- <name xml:lang="hu">KLettres</name>
- <name xml:lang="lt">KLettres</name>
- <name xml:lang="nds">KLettres</name>
<name xml:lang="nl">KLettres</name>
<name xml:lang="pl">KLettres</name>
<name xml:lang="pt">KLettres</name>
<name xml:lang="pt-BR">KLettres</name>
<name xml:lang="sk">KLettres</name>
- <name xml:lang="sl">KLettres</name>
- <name xml:lang="sv">Klettres</name>
<name xml:lang="uk">KLettres</name>
<name xml:lang="x-test">xxKLettresxx</name>
- <name xml:lang="zh-TW">??_KLetters</name>
<summary>Learn The Alphabet</summary>
<summary xml:lang="ca">Apreneu l'alfabet</summary>
<summary xml:lang="cs">V?uka abecedy</summary>
<summary xml:lang="de">Lerne das Alphabet</summary>
<summary xml:lang="en-GB">Learn The Alphabet</summary>
<summary xml:lang="es">Aprende el alfabeto</summary>
- <summary xml:lang="et">T?hestiku ?ppimine</summary>
<summary xml:lang="fi">Opi aakkoset</summary>
- <summary xml:lang="hu">Tanulja meg az ABC-t</summary>
- <summary xml:lang="lt">I?mokite ab?c?l?</summary>
- <summary xml:lang="nds">Dat Alfabeet lehren</summary>
<summary xml:lang="nl">Leer het alfabet</summary>
<summary xml:lang="pl">Nauka alfabetu</summary>
<summary xml:lang="pt">Aprender o Alfabeto</summary>
<summary xml:lang="pt-BR">Aprenda o alfabeto</summary>
<summary xml:lang="sk">V?uka abecedy</summary>
- <summary xml:lang="sl">Nau?ite se abecedo</summary>
- <summary xml:lang="sv">Inl?rning av alfabetet</summary>
<summary xml:lang="uk">???????? ??????</summary>
<summary xml:lang="x-test">xxLearn The Alphabetxx</summary>
- <summary xml:lang="zh-TW">??_KLetters</summary>
<description>
<p>KLettres is an application specially designed to help the user to learn
an alphabet in a new language and then to learn to read simple syllables. The
user can be a young child aged from two and a half or an adult that wants to
learn the basics of a foreign language. There are currently 25 languages
available: Arabian, Brazilian Portuguese, Czech, Danish, Dutch, British
English, US English, Phonics English, French, German, Hebrew, Hungarian,
Italian, Kannada, Low Saxon, Malayalam, Norwegian Bokm?l, Punjabi, Luganda,
Romanized Hindi, Russian, Spanish, Slovak, Telugu and Ukrainian. KLettres
provides a special user interface and themes for younger users.</p>
<p xml:lang="ca">El KLettres ?s una aplicaci? especialment dissenyada per
ajudar a l'usuari a aprendre un alfabet en un idioma nou i despr?s a prendre a
llegir s?l?labes senzilles. L'usuari pot ser des d'un nen de dos anys i mig a
un adult que vol aprendre les bases d'un idioma estranger. Actualment hi ha 25
idiomes disponibles: ?rab, portugu?s de Brasil, txec, dan?s, holand?s, angl?s
brit?nic, angl?s d'EEUU, angl?s f?nic, franc?s, alemany, hebreu, hongar?s,
itali?, kanar?s, baix sax?, malai?lam, noruec Bokmal, panjabi, luganda, hindi
romanitzat, rus, espanyol, eslovac, telugu i ucra?n?s. El KLettres proporciona
una interf?cie d'usuari espacial i temes per usuaris joves.</p>
@@ -53,17 +39,13 @@
<p xml:lang="es">KLettres es una aplicaci?n dise?ada especialmente para
ayudar al usuario a aprender un alfabeto en otro idioma y despu?s, a aprender a
leer s?labas sencillas. El usuario puede ser un ni?o peque?o de dos a?os y
medio o un adulto que quiere aprender la base de un idioma extranjero.
Actualmente, hay 25 idiomas disponibles: ?rabe, brasile?o, portugu?s, checo,
dan?s, holand?s, ingl?s brit?nico, ingl?s de Estados Unidos, ingles f?nico,
franc?s, alem?n, hebreo, h?ngaro, italiano, kannada, bajo saj?n, malayo, bokm?l
noruego, punjab?, luganda, hindi romanizado, ruso, espa?ol, eslovaco, telug? y
ucraniano. KLettres proporciona una interfaz de usuario y temas especiales para
los usuarios m?s j?venes.</p>
<p xml:lang="et">KLettres on rakendus, mille eesm?rk on aidata ?ppuril
omandada uue keele t?hestik ja seej?rel lugeda lihtsamaid silpe. ?ppur v?ib
olla v?ike laps (alates umbes 2.5-aastastest) v?i ka t?iskasvanu, kes soovib
tundma ?ppida m?ne v??rkeele p?hit?desid. Praegu on v?lja pakkuda 25 keelt:
alamsaksa, araabia, Brasiilia portugali, Briti inglise, foneetiline inglise,
heebrea, hispaania, hollandi, itaalia, kannada, latiniseeritud hindi, luganda,
malajalami, Norra Bokm?li, pand?aabi, prantsuse, saksa, slovaki, taani, telugu,
t?ehhi, ukraina, ungari, USA inglise ja vene keel. KLettres pakub eriti
noortele ?ppuritele spetsiaalset kasutajaliidest ja teemasid.</p>
<p xml:lang="fi">KLettres on sovellus, joka on suunniteltu erityisesti
auttamaan k?ytt?j?? oppimaan uuden kielen aakkoset ja oppimaan sitten lukemaan
yksinkertaisia tavuja. K?ytt?j? voi olla kaksi ja puoli -vuotiaasta lapsesta
aikuiseen, joka haluaa oppia vieraan kielen perusteet. T?ll? hetkell? on
saatavilla 25 kielt?: alasaksa, amerikanenglanti, arabia, brasilianportugali,
brittienglanti, englannin ??nteet, espanja, ganda, heprea, hollanti, italia,
kannada, latinaistettu hindi, malajalam, norjan bokm?l, pand?abi, ranska,
saksa, slovakki, tanska, telugu, t?ekki, ukraina, unkari ja ven?j?.
KLettresiss? on nuorempia k?ytt?ji? varten oma k?ytt?liittym? ja teemoja.</p>
- <p xml:lang="nds">KLettres is en Programm, dat Brukers h?lpt, dat Alfabet
in en nieg Spraak to lehren un denn ok eenfach S?lven in disse Spraak to lesen.
De Bruker kann en l?tt Blaag vun tweeenhalf Johr oder en Opwussen wesen, de dat
Grundweten vun en nieg Spraak lehren will. Opstunns s?nd 25 Spraken verf??gbor:
Araabsch, Brasiliaansch Portugeesch, Tschechsch, D??nsch, Nedderlannsch,
Britsch Engelsch, US Engelsch, Foneetsch Engelsch, Franz??sch, Hoochd??tsch,
Hebr??sch, Ungaarsch, Italieensch, Kannadaansch, Plattd??tsch, Malayalaamsch,
Norweegsch (Bokm?l), Pandschaabsch, Lugandsch, Romaniseert Hindi, Russ'sch,
Spaansch, Slowaaksch, Telugu un Ukrainsch. KLetrres hett en bes?nner B?versiet
un Mustern f?r j?nger Brukers.</p>
<p xml:lang="nl">KLettres is een toepassing speciaal ontworpen om de
gebruiker te helpen bij het leren van het alfabet van een nieuwe taal en daarna
het leren lezen van eenvoudige zinnen. De gebruiker kan een jong kind zijn ij
de leeftijd van twee en een half of een volwassene die de basis van een vreemde
taal wil leren. Er zijn nu 25 talen beschikbaar: Arabisch, Braziliaans
Portugees, Tsjechisch, Deens, Nederlands, Brits Engels, VS Engels, Fonetisch
Engels, Frans, Duits, Hebreeuws, Hongaars, Italiaans, Kannada, Nedersaksisch,
Malayalam, Noors Bokm?l, Punjabi, Luganda, Geromaniseerd Hindi, Russisch,
Spaans, Slowaaks, Telugu en Oekra?ens. KLettres biedt een speciaal
gebruikersinterface en thema's voor jonge gebruikers.</p>
<p xml:lang="pl">KLettres jest programem specjalnie zaprojektowanym do
pomocy u?ytkownikowi przy nauce alfabetu w nowym j?zyku, a nast?pnie do nauki
prostych sylab. U?ytkownik mo?e by? ma?ym dzieckiem w wieku dw?ch i p?? roku
lub doros?ym, kt?ry chce si? nauczy? podstaw obcego j?zyka. Dost?pnych jest
dwadzie?cia j?zyk?w: Arabski, Czeski, Portugalski Brazylijski, Angielski
Brytyjski, Du?ski, Holenderski, Angielski, Francuski, Niemiecki, Hebrajski,
W?gierski, W?oski, Kanadyjski, Dolno sakso?ski, Luganda, Malayalam,
Zromanizowany Hindi, Hiszpa?ski, S?owacki, Telugu i Ukrai?ski. KLettres
zapewnia w?asny uk?ad sterowania programem i wystroje dla m?odszych
u?ytkownik?w.</p>
<p xml:lang="pt">O KLettres ? uma aplica??o desenhada especialmente para
ajudar o utilizador a aprender o alfabeto numa nova l?ngua e de depois aprender
a ler s?labas simples. O utilizador poder? ser desde uma crian?a de dois anos
at? um adulto que deseje aprender as bases de uma l?ngua estrangeira. Est?o
dispon?veis de momento 25 l?nguas: ?rabe, Portugu?s do Brasil, Checo,
Dinamarqu?s, Holand?s, Ingl?s Brit?nico, Ingl?s dos EUA, Ingl?s Fon?tico,
Franc?s, Alem?o, Hebraico, H?ngaro, Italiano, Kannada, Baixo-Sax?o, Malayalam,
Noruegu?s Bokm?l, Punjabi, Luganda, Hindu Romanizado, Russo, Espanhol,
Eslovaco, Telugu e Ucraniano. O KLettres oferece uma interface de utilizador e
temas especiais para os utilizadores mais novos.</p>
<p xml:lang="pt-BR">KLettres ? um aplicativo especialmente desenvolvido
para ajudar o usu?rio a aprender o alfabeto de um novo idioma e depois aprender
a ler s?labas simples. O usu?rio pode ser uma crian?a de idade reduzida, a
partir de dois anos e meio, at? um adulto que s? queira aprender as bases de um
idioma estrangeiro. Existem 25 idiomas dispon?veis: ?rabe, Portugu?s do Brasil,
Tcheco, Dinamarqu?s, Holand?s, Ingl?s Brit?nico, Ingl?s dos EUA, Fon?tica de
Ingl?s, Franc?s, Alem?o, Hebraico, H?ngaro, Italiano, Canar?s, Baixo-Sax?o,
Malaiala, Noruegu?s, Panjabi, Luganda, Hindi Romanizado, Russo, Espanhol,
Eslovaco, Telugu e Ucraniano. O KLettres oferece uma interface de usu?rio
especial e temas infantis.</p>
<p xml:lang="sk">KLettres je aplik?cia ?peci?lne ur?en? na pomoc pri v?uke
abecedy v novom jazyku a potom na nau?enie ??tania jednoduch?ch slab?k.
Pou??vate? m??e by? mal? die?a od 2 a pol roka alebo dospel?, ktor? sa chce
nau?i? z?klady cudzieho jazyka. Aktu?lne je dostupn?ch 25 jazykov: arab?ina,
braz?lska portugal?ina, ?e?tina, d?n?ina, holand?ina, britsk? angli?tina,
americk? angli?tina, fonetick? angli?tina, franc?z?tina, nem?ina, hebrej?ina,
ma?ar?ina, talian?ina, kannad?ina, doln? sa?tina, malajalam?ina, n?r?ina
Bokm?l, pand??b?ina, lugand?ina, romanizovan? hind?ina, ru?tina, ?paniel?ina,
sloven?ina, telug?ina a ukrajin?ina. KLettres m? ?peci?lne pou??vate?sk?
prostredie a t?my pre mlad??ch pou??vate?ov.</p>
- <p xml:lang="sl">KLettres je program, ki je bil zasnovan tako, da pomaga
uporabniku pri u?enju abecede njemu neznanega jezika in ga tudi nau?i kako
prebrati preproste zloge. Uporabnik je lahko otrok starej?i od dveh let ali pa
odrasli, ki se ?eli nau?iti osnov tujega jezika. Trenutno je na voljo 25
jezikov: arab??ina, brazilska portugal??ina, ?e??ina, dan??ina, nizozem??ina,
britanska angle??ina, angle??ina ZDA, foneti?na angle??ina, franco??ina,
nem??ina, hebrej??ina, mad?ar??ina, italijan??ina, kannad??ina, spodnjesa??ina,
malajalam??ina, knji?na norve??ina, pand?ab??ina, jezik Luganda, Romanizirani
hindi, ru??ina, ?pan??ina, slova??ina, telu??ina in ukrajin??ina. KLettres za
mlaj?e uporabnike ponuja poseben uporabni?ki vmesnik in teme.</p>
- <p xml:lang="sv">Klettres ?r ett program som ?r s?rskilt framtaget f?r att
hj?lpa anv?ndaren att l?ra sig alfabetet p? ett nytt spr?k och sedan l?ra sig
l?sa enkla stavelser. Anv?ndaren kan vara ett litet barn fr?n tv? och ett halvt
?r, eller en vuxen som vill l?ra sig grunderna i ett fr?mmande spr?k. F?r
n?rvarande ?r 25 spr?k ?r tillg?ngliga: amerikansk engelska, arabiska,
brasiliansk portugisiska, brittisk engelska, danska, franska, hebreiska,
holl?ndska, italienska, kanaresiska, luganda, l?gsaxiska, malayalam, norskt
bokm?l, phonics engelska, punjabi, romansk hindi, ryska, slovakiska, spanska,
telugu, tjeckiska, tyska, ukrainska och ungerska.</p>
<p xml:lang="uk">KLettres ? ?? ????????, ?????????? ?????????? ??? ????,
??? ????????? ????????????? ??????? ?????? ????? ????, ? ????? ????????? ??????
?????? ??????. ???????????? ???? ???? ?? ?????? ????? ??? ???? ? ?????????
?????, ??? ? ??????? ??????, ??? ????? ??????? ?????? ????????? ????. ?
???????? ?????? ?? ?????? ???????????? ?????? ?????????? ??????? ??????:
????????, ??????????? ?????????????, ??????, ???????, ???????????, ??????????
??????????, ???????????? ??????????, ????????? ??????????, ??????????,
????????, ?????, ????????, ??????????, ???????, ????????????????, ???????,
????????, ???????????? ?????, ?????????, ?????????,?????????, ?????? ??
??????????.</p>
<p xml:lang="x-test">xxKLettres is an application specially designed to
help the user to learn an alphabet in a new language and then to learn to read
simple syllables. The user can be a young child aged from two and a half or an
adult that wants to learn the basics of a foreign language. There are currently
25 languages available: Arabian, Brazilian Portuguese, Czech, Danish, Dutch,
British English, US English, Phonics English, French, German, Hebrew,
Hungarian, Italian, Kannada, Low Saxon, Malayalam, Norwegian Bokm?l, Punjabi,
Luganda, Romanized Hindi, Russian, Spanish, Slovak, Telugu and Ukrainian.
KLettres provides a special user interface and themes for younger users.xx</p>
- <p xml:lang="zh-TW">KLettres
????????????????????????????????????????????????????????????????????????????????????????????????????
25 ????KLettres ????????????????????</p>
</description>
<url type="homepage">http://edu.kde.org/klettres/</url>
<url
type="bugtracker">https://bugs.kde.org/enter_bug.cgi?format=guided&product=klettres</url>
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1de1981..8e07c51 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,38 +1,50 @@
########### next target ###############
-set(klettres_SRCS
- klettres.cpp
- main.cpp
- klettresview.cpp
- soundfactory.cpp
+add_definitions(-DTRANSLATION_DOMAIN=\"kletters\")
+
+set(klettres_SRCS
+ klettres.cpp
+ main.cpp
+ klettresview.cpp
+ soundfactory.cpp
langutils.cpp
kltheme.cpp
- timer.cpp )
+ timer.cpp
+ klettres_debug.cpp )
-kde4_add_ui_files(klettres_SRCS
+ki18n_wrap_ui(klettres_SRCS
timerui.ui
fontsdlg.ui )
-kde4_add_kcfg_files(klettres_SRCS prefs.kcfgc )
+kconfig_add_kcfg_files(klettres_SRCS prefs.kcfgc )
#kde4_add_app_icon(klettres_SRCS "${KDE4_ICON_DIR}/oxygen/*/apps/klettres.png")
#kde4_add_app_icon(klettres_SRCS
"${CMAKE_CURRENT_SOURCE_DIR}/ox*-apps-klettres.png")
kde4_add_app_icon(klettres_SRCS
"${CMAKE_CURRENT_SOURCE_DIR}/hi*-apps-klettres.png")
-kde4_add_executable(klettres ${klettres_SRCS})
+add_executable(klettres ${klettres_SRCS})
-target_link_libraries(klettres ${KDE4_KNEWSTUFF3_LIBS} ${KDE4_PHONON_LIBS}
${QT_QTXML_LIBRARY})
+target_link_libraries(klettres
+ KF5::Completion
+ KF5::Emoticons
+ KF5::NewStuff
+ KF5::I18n
+ KF5::ItemModels
+ KF5::KDELibs4Support
+ Qt5::Svg
+ ${PHONON_LIBRARY}
+ Qt5::Xml)
install(TARGETS klettres ${INSTALL_TARGETS_DEFAULT_ARGS} )
########### install files ###############
-install( PROGRAMS klettres.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
-install( FILES klettresui.rc DESTINATION ${DATA_INSTALL_DIR}/klettres )
+install( PROGRAMS org.kde.klettres.desktop DESTINATION
${XDG_APPS_INSTALL_DIR} )
+install( FILES klettresui.rc DESTINATION ${KXMLGUI_INSTALL_DIR}/klettres )
install( FILES klettres.kcfg DESTINATION ${KCFG_INSTALL_DIR} )
install( FILES klettres.knsrc DESTINATION ${CONFIG_INSTALL_DIR} )
-kde4_install_icons( ${ICON_INSTALL_DIR} )
+ecm_install_icons( ICONS hi128-apps-klettres.png hi16-apps-klettres.png
hi22-apps-klettres.png hi32-apps-klettres.png hi48-apps-klettres.png
hi64-apps-klettres.png DESTINATION ${ICON_INSTALL_DIR} )
diff --git a/src/klettres.cpp b/src/klettres.cpp
index 8d168f7..568f701 100644
--- a/src/klettres.cpp
+++ b/src/klettres.cpp
@@ -21,33 +21,28 @@
#include "klettres.h"
//Qt includes
+#include <QAction>
#include <QBitmap>
-#include <QDir>
#include <QFile>
#include <QLabel>
#include <QPainter>
+#include <QStatusBar>
#include <QTextStream>
#include <QDomDocument>
#include <QWidget>
//KDE includes
-#include <KAction>
#include <KActionCollection>
-#include <KComboBox>
#include <KConfigDialog>
-#include <KLocale>
-#include <KMenuBar>
+#include <KLocalizedString>
+#include <QMenuBar>
#include <KMessageBox>
-#include <KNumInput>
#include <KSelectAction>
#include <KStandardAction>
#include <KStandardDirs>
-#include <KStatusBar>
-#include <KToggleAction>
#include <KToolBar>
-#include <KIcon>
-#include <KApplication>
-#include <KGlobal>
+#include <KToggleAction>
+#include <QIcon>
#include <knewstuff3/downloaddialog.h>
//Project includes
@@ -58,7 +53,7 @@
#include "kltheme.h"
class fontsdlg : public QWidget, public Ui::fontsdlg
-{
+{
public:
fontsdlg( QWidget * parent ) : QWidget(parent)
{
@@ -109,17 +104,17 @@ bool KLettres::loadLayout(QDomDocument &layoutDocument)
KMessageBox::information( this, mString,i18n("KLettres - Error") );
qApp->quit();//exit(1);
}
-
+
if (!layoutFile.open(QIODevice::ReadOnly)) {
return false;
}
-
+
//Check if document is well-formed
if (!layoutDocument.setContent(&layoutFile)) {
layoutFile.close();
return false;
}
-
+
layoutFile.close();
return true;
@@ -127,27 +122,27 @@ bool KLettres::loadLayout(QDomDocument &layoutDocument)
void KLettres::setupActions()
{
- KAction *m_newAction = actionCollection()->addAction("play_new");
+ QAction *m_newAction = actionCollection()->addAction("play_new");
m_newAction->setText(i18n("New Sound"));
- m_newAction->setShortcut(QKeySequence(Qt::CTRL+Qt::Key_N));
- m_newAction->setIcon(KIcon("document-new")); // ### better icon for this?
- connect(m_newAction, SIGNAL(triggered(bool)), m_view, SLOT(game()));
+
actionCollection()->setDefaultShortcut(m_newAction,QKeySequence(Qt::CTRL+Qt::Key_N));
+ m_newAction->setIcon(QIcon::fromTheme("document-new")); // ### better icon
for this?
+ connect(m_newAction, &QAction::triggered, m_view, &KLettresView::game);
m_newAction->setToolTip(i18n("Play a new sound"));
m_newAction->setWhatsThis(i18n("You can play a new sound by clicking this
button or using the File menu, New Sound."));
QAction *m_stuffAction = actionCollection()->addAction("downloadnewstuff");
m_stuffAction->setText(i18n("Get Alphabet in New Language..."));
- m_stuffAction->setIcon(KIcon("get-hot-new-stuff"));
- connect(m_stuffAction, SIGNAL(triggered(bool)), this,
SLOT(slotDownloadNewStuff()));
+ m_stuffAction->setIcon(QIcon::fromTheme("get-hot-new-stuff"));
+ connect(m_stuffAction, &QAction::triggered, this,
&KLettres::slotDownloadNewStuff);
- KAction *m_playAgainAction = actionCollection()->addAction("play_again");
+ QAction *m_playAgainAction = actionCollection()->addAction("play_again");
m_playAgainAction->setText(i18n("Replay Sound"));
- m_playAgainAction->setShortcut(QKeySequence(Qt::Key_F5));
- m_playAgainAction->setIcon(KIcon("media-playback-start"));
+
actionCollection()->setDefaultShortcut(m_playAgainAction,QKeySequence(Qt::Key_F5));
+ m_playAgainAction->setIcon(QIcon::fromTheme("media-playback-start"));
m_playAgainAction->setToolTip(i18n("Play the same sound again"));
- connect(m_playAgainAction, SIGNAL(triggered(bool)), m_view,
SLOT(slotPlayAgain()));
+ connect(m_playAgainAction, &QAction::triggered, m_view,
&KLettresView::slotPlayAgain);
m_playAgainAction->setWhatsThis(i18n("You can replay the same sound again
by clicking this button or using the File menu, Replay Sound."));
- KStandardAction::quit(kapp, SLOT(quit()), actionCollection());
+ KStandardAction::quit(qApp, SLOT(quit()), actionCollection());
m_menubarAction = KStandardAction::showMenubar(this, SLOT(slotMenubar()),
actionCollection());
@@ -176,21 +171,21 @@ void KLettres::setupActions()
m_kidAction = actionCollection()->add<KToggleAction>("mode_kid");
m_kidAction->setText(i18n("Mode Kid"));
- m_kidAction->setShortcut(QKeySequence(Qt::CTRL+Qt::Key_K));
- m_kidAction->setIcon(KIcon("klettres_kids"));
- connect(m_kidAction, SIGNAL(triggered(bool)), this, SLOT(slotModeKid()));
+
actionCollection()->setDefaultShortcut(m_kidAction,QKeySequence(Qt::CTRL+Qt::Key_K));
+ m_kidAction->setIcon(QIcon::fromTheme("klettres_kids"));
+ connect(m_kidAction, &KToggleAction::triggered, this,
&KLettres::slotModeKid);
m_kidAction->setWhatsThis(i18n("If you are in the Grown-up mode, clicking
on this button will set up the Kid mode. The Kid mode has no menubar and the
font is bigger in the statusbar."));
m_grownupAction = actionCollection()->add<KToggleAction>("mode_grownup");
m_grownupAction->setText(i18n("Mode Grown-up"));
- m_grownupAction->setShortcut(QKeySequence(Qt::CTRL+Qt::Key_G));
- m_grownupAction->setIcon(KIcon("klettres_grownup"));
- connect(m_grownupAction, SIGNAL(triggered(bool)), this,
SLOT(slotModeGrownup()));
+
actionCollection()->setDefaultShortcut(m_grownupAction,QKeySequence(Qt::CTRL+Qt::Key_G));
+ m_grownupAction->setIcon(QIcon::fromTheme("klettres_grownup"));
+ connect(m_grownupAction, &KToggleAction::triggered, this,
&KLettres::slotModeGrownup);
m_grownupAction->setWhatsThis(i18n("The Grownup mode is the normal mode
where you can see the menubar."));
- connect(m_levelAction, SIGNAL(triggered(int)), this,
SLOT(slotChangeLevel(int)));
- connect(m_languageAction, SIGNAL(triggered(int)), this,
SLOT(slotChangeLanguage(int)));
- connect(m_themeAction, SIGNAL(triggered(int)), this,
SLOT(slotChangeTheme(int)));
+ connect(m_levelAction, static_cast<void
(KSelectAction::*)(int)>(&KSelectAction::triggered), this,
&KLettres::slotChangeLevel);
+ connect(m_languageAction, static_cast<void
(KSelectAction::*)(int)>(&KSelectAction::triggered), this,
&KLettres::slotChangeLanguage);
+ connect(m_themeAction, static_cast<void
(KSelectAction::*)(int)>(&KSelectAction::triggered), this,
&KLettres::slotChangeTheme);
KStandardAction::preferences(this, SLOT(optionsPreferences()),
actionCollection());
@@ -199,12 +194,12 @@ void KLettres::setupActions()
void KLettres::setupStatusbar()
{
- KStatusBar *st=statusBar();
+ QStatusBar *st=statusBar();
m_langLabel = new QLabel(st);
m_levLabel = new QLabel(st);
st->addWidget(m_langLabel);
- st->insertFixedItem("", 1);//add a space
- st->addWidget(m_levLabel);
+// st->insertFixedItem("", 1);//add a space
+ st->addWidget(m_levLabel);
statusBar();
}
@@ -220,22 +215,22 @@ void KLettres::optionsPreferences()
if(KConfigDialog::showDialog("settings")) {
return;
}
-
+
KConfigDialog *dialog = new KConfigDialog(this, "settings", Prefs::self());
dialog->addPage(new fontsdlg(0), i18n("Font Settings"),
"preferences-desktop-font");
//fontsdlg is the page name, mFont is the widget name, Font Settings is
the page display string
//fonts is the icon
Timer *m_timer = new Timer();
dialog->addPage(m_timer, i18n("Timer"), "chronometer");
- connect(dialog, SIGNAL(settingsChanged(const QString &)), this,
SLOT(slotUpdateSettings()));
+ connect(dialog, &KConfigDialog::settingsChanged, this,
&KLettres::slotUpdateSettings);
dialog->setAttribute( Qt::WA_DeleteOnClose );
- dialog->setHelp(QString(), "klettres");
+ // dialog->setHelp(QString(), "klettres");
dialog->show();
}
void KLettres::loadSettings()
{
- if (LangUtils::getLanguages().indexOf(Prefs::language()) <0) {
+ if (LangUtils::getLanguages().indexOf(Prefs::language()) < 0) {
Prefs::setLanguage("en");
}
QString langString =
LangUtils::getLanguagesNames(LangUtils::getLanguages())[LangUtils::getLanguages().indexOf(Prefs::language())];
@@ -253,14 +248,14 @@ void KLettres::loadSettings()
} else {
slotModeKid();
}
-
+
m_menubarAction->setChecked(Prefs::menuBarBool());
slotMenubar();
}
void KLettres::slotDownloadNewStuff()
{
- QPointer<KNS3::DownloadDialog> dialog(new
KNS3::DownloadDialog("klettres.knsrc", this));
+ QPointer<KNS3::DownloadDialog> dialog(new
KNS3::DownloadDialog("klettres.knsrc", this));
if ( dialog->exec() == QDialog::Accepted ) {
// do nothing
}
@@ -281,7 +276,7 @@ void KLettres::slotMenubar()
{
menuBar()->setVisible(m_menubarAction->isChecked());
Prefs::setMenuBarBool(m_menubarAction->isChecked());
- Prefs::self()->writeConfig();
+ Prefs::self()->save();
}
void KLettres::slotUpdateSettings()
@@ -295,7 +290,7 @@ void KLettres::slotUpdateSettings()
void KLettres::slotChangeLevel(int newLevel)
{
Prefs::setLevel(newLevel+1);
- Prefs::self()->writeConfig();
+ Prefs::self()->save();
updateLevMenu(newLevel);
//TODO is that necessary? Change level effectively by reloading sounds
@@ -318,7 +313,7 @@ void KLettres::slotChangeLanguage(int newIndex)
// Write new language ISO in config
QString newLanguage = LangUtils::getLanguages()[newIndex];
Prefs::setLanguage(newLanguage);
- Prefs::self()->writeConfig();
+ Prefs::self()->save();
// Update the StatusBar
QString langString =
LangUtils::getLanguagesNames(LangUtils::getLanguages())[newIndex];
langString.remove('&');
@@ -326,11 +321,11 @@ void KLettres::slotChangeLanguage(int newIndex)
loadLangToolBar();
// Change language effectively
bool ok = loadLayout(soundFactory->m_layoutsDocument);
-
+
if (ok) {
soundFactory->change(Prefs::language());
}
-
+
m_view->randomInt = 0;
m_view->game();
}
@@ -338,7 +333,7 @@ void KLettres::slotChangeLanguage(int newIndex)
void KLettres::slotChangeTheme(int index)
{
Prefs::setTheme(index);
- Prefs::self()->writeConfig();
+ Prefs::self()->save();
m_view->setTheme(KLThemeFactory::instance()->buildTheme(index));
}
@@ -358,7 +353,7 @@ void KLettres::slotModeGrownup()
menuBar()->show();
m_view->m_timer = Prefs::grownTimer();
Prefs::setMode(Prefs::EnumMode::grownup);
- Prefs::self()->writeConfig();
+ Prefs::self()->save();
}
void KLettres::slotModeKid()
@@ -378,7 +373,7 @@ void KLettres::slotModeKid()
menuBar()->hide();
m_view->m_timer = Prefs::kidTimer();
Prefs::setMode(Prefs::EnumMode::kid);
- Prefs::self()->writeConfig();
+ Prefs::self()->save();
}
void KLettres::loadLangToolBar()
@@ -392,7 +387,7 @@ void KLettres::loadLangToolBar()
QString myString=QString("klettres/%1.txt").arg(lang);
QFile myFile;
myFile.setFileName(KStandardDirs::locate("data",myString));
-
+
if (!myFile.exists()) {
QString mString=i18n("File $KDEDIR/share/apps/klettres/%1.txt not
found;\n"
"please check your installation.", lang);
@@ -400,7 +395,7 @@ void KLettres::loadLangToolBar()
i18n("Error") );
qApp->quit();
}
-
+
//we open the file and store info into the stream...
QFile openFileStream(myFile.fileName());
openFileStream.open(QIODevice::ReadOnly);
@@ -409,17 +404,17 @@ void KLettres::loadLangToolBar()
//allData contains all the words from the file
allData = readFileStr.readAll().split('\n');
openFileStream.close();
-
+
for (int i=0; i<(int) allData.count(); ++i) {
if (!allData[i].isEmpty()) {
QAction *act = specialCharToolbar->addAction(allData.at(i));
act->setIcon(charIcon(allData.at(i).at(0)));
// used to carry the id
act->setData(i);
- connect(act, SIGNAL(triggered(bool)), this,
SLOT(slotPasteChar()));
+ connect(act, &QAction::triggered, this,
&KLettres::slotPasteChar);
}
}
-
+
specialCharToolbar->show();
update();
} else {
@@ -436,11 +431,11 @@ void KLettres::slotPasteChar()
bool ok = true;
int id = act->data().toInt(&ok);
-
+
if (!ok || id < 0 || id >= allData.count()) {
return;
}
-
+
m_view->m_letterEdit->insert(allData.at(id));
}
@@ -482,4 +477,4 @@ QIcon KLettres::charIcon(const QChar & c)
return QIcon(pm);
}
-#include "klettres.moc"
+
diff --git a/src/klettres.desktop b/src/klettres.desktop
deleted file mode 100644
index 57115be..0000000
--- a/src/klettres.desktop
+++ /dev/null
@@ -1,190 +0,0 @@
-# KDE Config File
-[Desktop Entry]
-Type=Application
-Exec=klettres -caption %c %i
-Icon=klettres
-X-DocPath=klettres/index.html
-Comment=a KDE program to learn the alphabet
-Comment[ast]=Un programa de KDE pa deprender l'alfabetu
-Comment[bg]=???????? ?? ????? ?? ???????? ? KDE
-Comment[bs]=KDE program za u?enje abecede
-Comment[ca]=Un programa del KDE per aprendre l'alfabet
-Comment[ca at valencia]=Un programa del KDE per aprendre l'alfabet
-Comment[cs]=KDE program pro v?uku abecedy
-Comment[csb]=KDE programa do na?czi alfab?tu
-Comment[da]=Et KDE program til at l?re sig alfabetet
-Comment[de]=Ein KDE-Programm zum Erlernen des Alphabets
-Comment[el]=??? ???????? ??? KDE ??? ??? ???????? ??? ?????????
-Comment[en_GB]=a KDE program to learn the alphabet
-Comment[eo]=KDE programo por lerni la alfabeton
-Comment[es]=Un programa de KDE para aprender el alfabeto
-Comment[et]=KDE t?hestiku omandamise programm
-Comment[eu]=Alfabetoa ikasteko KDE programa
-Comment[fa]=?? ?????? KDE ???? ??????? ?????
-Comment[fi]=Ohjelma aakkosien harjoitteluun
-Comment[fr]=Un programme KDE pour apprendre l'alphabet
-Comment[ga]=Cl?r KDE chun an aib?tir a fhoghlaim
-Comment[gl]=Un programa para aprender o alfabeto con KDE
-Comment[gu]=KDE ????????? ?? ?????? ??????? ??
-Comment[he]=????? KDE ?????? ???????
-Comment[hi]=???????? ????? ?? ??? ?? ????? ?????????
-Comment[hne]=???????? ????? ?? ?? ????? ?????????
-Comment[hr]=KDE program za u?enje abecede
-Comment[hu]=KDE-alap? oktat?program az ?b?c? gyakorl?s?hoz
-Comment[is]=KDE forrit til a? l?ra stafr?fi?
-Comment[it]=Un programma KDE per imparare l'alfabeto
-Comment[ja]=??????????????? KDE ?????
-Comment[kk]=KDE-??? ?????? ??????? ??????? ????????????
-Comment[km]=???????????????????????????? KDE
-Comment[ko]=??? ??? ?? KDE ????
-Comment[lt]=KDE programa ab?c?l?s mokymuisi
-Comment[lv]=KDE alfab?ta m?c??an?s programma
-Comment[ml]=???????? ?????????????? ??? ????? ???????
-Comment[mr]=???????? ???????????? ?? ????? ?????????
-Comment[nb]=et KDE-program for ? l?re alfabetet
-Comment[nds]=En KDE-Programm f?r't Lehren vun't Alfabeet
-Comment[ne]=???? ??????? ???? ????? ?????????
-Comment[nl]=Een KDE-programma waarmee het alfabet geleerd kan worden
-Comment[nn]=Eit KDE-program for ? l?ra alfabetet
-Comment[pa]=????? ???? ???? ?? KDE ????????
-Comment[pl]=Program do nauki alfabetu dla KDE
-Comment[pt]=Um programa do KDE para aprender o alfabeto
-Comment[pt_BR]=Um programa do KDE para aprender o alfabeto
-Comment[ro]=un program KDE pentru ?nsu?irea alfabetului
-Comment[ru]=????????? ??? ???????? ????????
-Comment[sk]=KDE program pre v?uku abecedy
-Comment[sl]=Program za u?enje abecede za KDE
-Comment[sv]=Ett KDE program f?r att l?ra sig alfabetet
-Comment[tr]=Alfabeyi ??renmeye yard?mc? bir KDE uygulamas?
-Comment[ug]=KDE ???? ??????? ??????? ???????????
-Comment[uk]=???????? ? ???????? ?????? ??? KDE
-Comment[x-test]=xxa KDE program to learn the alphabetxx
-Comment[zh_CN]=???????? KDE ??
-Comment[zh_TW]= ????? KDE ??
-Terminal=false
-Name=KLettres
-Name[af]=K-letters
-Name[ast]=KLettres
-Name[be]=KLettres
-Name[bg]=KLettres
-Name[bn]=??-???????
-Name[br]=KLettres
-Name[bs]=KLettres
-Name[ca]=KLettres
-Name[ca at valencia]=KLettres
-Name[cs]=KLettres
-Name[csb]=KLettres
-Name[cy]=KLettres
-Name[da]=KLettres
-Name[de]=KLettres
-Name[el]=KLettres
-Name[en_GB]=KLettres
-Name[eo]=KLettres
-Name[es]=KLettres
-Name[et]=KLettres
-Name[eu]=KLettres
-Name[fi]=KLettres
-Name[fr]=KLettres
-Name[ga]=KLettres
-Name[gl]=KLettres
-Name[gu]=KLettres
-Name[he]=KLettres
-Name[hi]=??-??????
-Name[hne]=??-??????
-Name[hr]=KLettres
-Name[hu]=KLettres
-Name[is]=KLettres
-Name[it]=KLettres
-Name[ja]=KLettres
-Name[ka]=KLettres
-Name[kk]=KLettres
-Name[km]=KLettres
-Name[ko]=KLettres
-Name[lt]=KLettres
-Name[lv]=KLettres
-Name[mk]=KLettres
-Name[ml]=??-??????????
-Name[mr]=??-??????
-Name[ms]=KLettres
-Name[nb]=KLettres
-Name[nds]=KLettres
-Name[ne]=????? ?????
-Name[nl]=KLettres
-Name[nn]=KBokstavar
-Name[oc]=KLettres
-Name[pa]=??-????
-Name[pl]=KLettres
-Name[pt]=KLettres
-Name[pt_BR]=KLettres
-Name[ro]=KLettres
-Name[ru]=KLettres
-Name[se]=KLettres
-Name[sk]=KLettres
-Name[sl]=KLettres
-Name[sv]=Klettres
-Name[ta]=??
-Name[tg]=KLettres
-Name[tr]=KLettres
-Name[ug]=KLettres
-Name[uk]=KLettres
-Name[vi]=Ch? c?i K
-Name[xh]=KLettres
-Name[x-test]=xxKLettresxx
-Name[zh_CN]=KLettres
-Name[zh_TW]=??_KLetters
-GenericName=Learn The Alphabet
-GenericName[ast]=Deprender l'alfabetu
-GenericName[bg]=????????? ?? ????????
-GenericName[bs]=Nau?ite abecedu
-GenericName[ca]=Apreneu l'alfabet
-GenericName[ca at valencia]=Apreneu l'alfabet
-GenericName[cs]=V?uka abecedy
-GenericName[csb]=Na?cz? s? alfab?tu
-GenericName[da]=L?r alfabetet
-GenericName[de]=Lerne das Alphabet
-GenericName[el]=???????? ??? ?????????
-GenericName[en_GB]=Learn The Alphabet
-GenericName[eo]=Lernu la alfabeton
-GenericName[es]=Aprender el alfabeto
-GenericName[et]=T?hestiku ?ppimine
-GenericName[eu]=Ikasi alfabetoa
-GenericName[fi]=Opi aakkoset
-GenericName[fr]=Apprentissage de l'alphabet
-GenericName[ga]=Foghlaim an Aib?tir
-GenericName[gl]=Aprender o alfabeto
-GenericName[gu]=?????? ????
-GenericName[he]=????? ???????
-GenericName[hne]=???????? ?????
-GenericName[hr]=Nau?ite abecedu
-GenericName[hu]=?b?c?tan?t?
-GenericName[is]=L?ra stafr?fi?
-GenericName[it]=Impara l'alfabeto
-GenericName[ja]=??????????
-GenericName[kk]=???????? ??????
-GenericName[km]=?????????????
-GenericName[ko]=??? ???
-GenericName[lt]=I?mokite ab?c?l?
-GenericName[lv]=Iem?cieties alfab?tu
-GenericName[ml]=???????? ????????
-GenericName[mr]=???????? ????
-GenericName[nb]=L?r alfabetet
-GenericName[nds]=Dat Alfabeet lehren
-GenericName[ne]=???? ??????????
-GenericName[nl]=Leer het alfabet
-GenericName[nn]=L?r alfabetet
-GenericName[pa]=???? ?????
-GenericName[pl]=Nauka alfabetu
-GenericName[pt]=Aprender o Alfabeto
-GenericName[pt_BR]=Aprenda o alfabeto
-GenericName[ro]=?nva?? alfabetul
-GenericName[ru]=???????? ????????
-GenericName[sk]=V?uka abecedy
-GenericName[sl]=Nau?ite se abecedo
-GenericName[sv]=Inl?rning av alfabetet
-GenericName[tr]=Alfabeyi ??ren
-GenericName[ug]=??????? ???????
-GenericName[uk]=???????? ??????
-GenericName[x-test]=xxLearn The Alphabetxx
-GenericName[zh_CN]=????
-GenericName[zh_TW]=????
-Categories=Qt;KDE;Education;Languages;
diff --git a/src/klettres_debug.cpp b/src/klettres_debug.cpp
new file mode 100644
index 0000000..dc941eb
--- /dev/null
+++ b/src/klettres_debug.cpp
@@ -0,0 +1,23 @@
+/* This file is part of the KDE project
+ Copyright (C) 2014 Laurent Montel <montel at kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "klettres_debug.h"
+Q_LOGGING_CATEGORY(KLETTRES_LOG, "log_klettres")
+
+
diff --git a/src/klettres_debug.h b/src/klettres_debug.h
new file mode 100644
index 0000000..733670b
--- /dev/null
+++ b/src/klettres_debug.h
@@ -0,0 +1,27 @@
+/* This file is part of the KDE project
+ Copyright (C) 2014 Laurent Montel <montel at kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef KLETTRES_DEBUG_H
+#define KLETTRES_DEBUG_H
+
+#include <QLoggingCategory>
+Q_DECLARE_LOGGING_CATEGORY(KLETTRES_LOG)
+
+#endif
+
diff --git a/src/klettresview.cpp b/src/klettresview.cpp
index bf65536..72c2abc 100644
--- a/src/klettresview.cpp
+++ b/src/klettresview.cpp
@@ -26,14 +26,14 @@
#include <QFile>
#include <QPaintEvent>
-#include <KLocale>
#include <KStandardDirs>
-
+#include <KLocalizedString>
//Project headers
#include "klettres.h"
#include "prefs.h"
#include "kltheme.h"
#include "langutils.h"
+#include "klettres_debug.h"
KLettresView::KLettresView(KLettres *parent)
: QWidget(parent)
@@ -64,13 +64,13 @@ void KLettresView::chooseSound()
//get the next random sound
m_random=m_klettres->soundFactory->randomList[randomInt%m_klettres->soundFactory->sounds];
//The sound is played
- kDebug() << "m_random " << m_random;
+ qCDebug(KLETTRES_LOG) << "m_random " << m_random;
m_klettres->soundFactory->playSound(m_random);
//store letter or syllable in m_currentLetter
m_currentLetter = m_klettres->soundFactory->namesList[m_random];
//Find the length of the syllable
m_length=m_klettres->soundFactory->namesList[m_random].length();
- kDebug() << "syllable length " << m_length;
+ qCDebug(KLETTRES_LOG) << "syllable length " << m_length;
int width;
if (m_length<3) {
@@ -150,7 +150,7 @@ void KLettresView::game()
m_cursorPos = 1;
//reset everything so when you change language or levels
//it all restarts nicely
- QObject::disconnect(m_letterEdit,
SIGNAL(textChanged(QString)),this,SLOT(slotProcess(QString)));
+ QObject::disconnect(m_letterEdit, &KLineEdit::textChanged, this,
&KLettresView::slotProcess);
m_letterEdit->clear();
m_letterEdit->setCursorPosition(0);
m_letterEdit->setMaxLength( 1 );
@@ -158,24 +158,24 @@ void KLettresView::game()
m_upperLetter.clear();
chooseSound();
randomInt++;
- QObject::connect(m_letterEdit, SIGNAL(textChanged(QString)), this,
SLOT(slotProcess(QString)));
+ QObject::connect(m_letterEdit, &KLineEdit::textChanged, this,
&KLettresView::slotProcess);
}
void KLettresView::slotProcess(const QString &inputLetter)
{
QString lang = Prefs::language();
- QObject::disconnect(m_letterEdit, SIGNAL(textChanged(QString)), this,
SLOT(slotProcess(QString)));
+ QObject::disconnect(m_letterEdit, &KLineEdit::textChanged, this,
&KLettresView::slotProcess);
//check if backspace
if (inputLetter.length() != m_cursorPos) {
m_cursorPos--;
m_letterEdit->setMaxLength( m_cursorPos );
- QObject::connect(m_letterEdit,
SIGNAL(textChanged(QString)),this,SLOT(slotProcess(QString)));
+ QObject::connect(m_letterEdit, &KLineEdit::textChanged, this,
&KLettresView::slotProcess);
return;
}
QChar input_character = inputLetter.at(inputLetter.length()-1);
QChar input_character_u;
- kDebug() << "input_character " << input_character << endl;
+ qCDebug(KLETTRES_LOG) << "input_character " << input_character << endl;
if ((!LangUtils::isIndian(lang) && (input_character.isLetter())) ||
(LangUtils::isIndian(lang)))
{
@@ -190,9 +190,9 @@ void KLettresView::slotProcess(const QString &inputLetter)
m_letterEdit->setText(m_upperLetter);
QTimer::singleShot(m_timer*100, this, SLOT(slotTimerDone()));
} else {
- kDebug() << "cursor " << m_cursorPos << endl;
+ qCDebug(KLETTRES_LOG) << "cursor " << m_cursorPos << endl;
m_letterEdit->backspace();
- QObject::connect(m_letterEdit, SIGNAL(textChanged(const
QString&)),this,SLOT(slotProcess(const QString&)) );
+ QObject::connect(m_letterEdit, &KLineEdit::textChanged, this,
&KLettresView::slotProcess);
}
}
@@ -200,8 +200,8 @@ void KLettresView::slotProcess(const QString &inputLetter)
void KLettresView::slotTimerDone()
{
QString match = m_currentLetter.left(m_cursorPos );
- kDebug() << "match " << match.toUpper() << endl;
- kDebug() << "m_upperLetter " << m_upperLetter << endl;
+ qCDebug(KLETTRES_LOG) << "match " << match.toUpper() << endl;
+ qCDebug(KLETTRES_LOG) << "m_upperLetter " << m_upperLetter << endl;
if (match == m_upperLetter) {
if (m_cursorPos!=m_length) {//if text in lineEdit not equal to text on
button
@@ -210,18 +210,18 @@ void KLettresView::slotTimerDone()
m_letterEdit->setCursorPosition( m_cursorPos );
m_letterEdit->setFocus();
m_cursorPos ++;
- QObject::connect(m_letterEdit, SIGNAL(textChanged(QString)), this,
SLOT(slotProcess(QString)));
+ QObject::connect(m_letterEdit, &KLineEdit::textChanged, this,
&KLettresView::slotProcess);
} else {
game(); //another syllable
}
} else { //if not, cut it
- kDebug() << "wrong letter "<< endl;
+ qCDebug(KLETTRES_LOG) << "wrong letter "<< endl;
m_letterEdit->backspace(); //delete the char to the left and
position curseur accordingly
m_upperLetter.remove(m_upperLetter.size()-1, 1);
m_letterEdit->setFocus();
//play sound again
m_klettres->soundFactory->playSound(m_random);
- QObject::connect(m_letterEdit, SIGNAL(textChanged(QString)), this,
SLOT(slotProcess(QString)));
+ QObject::connect(m_letterEdit, &KLineEdit::textChanged, this,
&KLettresView::slotProcess);
}
}
@@ -238,4 +238,4 @@ void KLettresView::keyReleaseEvent(QKeyEvent * e)
}
}
-#include "klettresview.moc"
+
diff --git a/src/klettresview.h b/src/klettresview.h
index 82b022a..9b375dc 100644
--- a/src/klettresview.h
+++ b/src/klettresview.h
@@ -99,7 +99,7 @@ public slots:
///Start playing displaying a new letter/syllable, playing the associated
sound
void game();
-protected slots:
+public slots:
///Play the same sound again
void slotPlayAgain();
diff --git a/src/kltheme.cpp b/src/kltheme.cpp
index b3f75fb..b77e71f 100644
--- a/src/kltheme.cpp
+++ b/src/kltheme.cpp
@@ -20,7 +20,7 @@
//project headers
#include "kltheme.h"
-#include <KLocale>
+#include <KLocalizedString>
KLTheme::KLTheme()
{
diff --git a/src/langutils.cpp b/src/langutils.cpp
index d17ea23..2343cd9 100644
--- a/src/langutils.cpp
+++ b/src/langutils.cpp
@@ -20,11 +20,12 @@
//project headers
#include "langutils.h"
#include "prefs.h"
+#include "klettres_debug.h"
#include <QDir>
#include <KGlobal>
-#include <KLocale>
+#include <KLocalizedString>
#include <KStandardDirs>
bool LangUtils::hasSpecialChars(const QString& lang)
@@ -84,7 +85,7 @@ QStringList LangUtils::getLanguages()
}
//TODO TEST in FRENCH
m_languages.sort();
- kDebug() <<m_languages;
+ qCDebug(KLETTRES_LOG) <<m_languages;
return m_languages;
}
@@ -119,7 +120,7 @@ QStringList LangUtils::getLanguagesNames(QStringList
languagesList)
void LangUtils::writeLangConfig()
{
//write the present languages in config so they cannot be downloaded
- KConfigGroup config(KGlobal::config(), "KNewStuffStatus");
+ KConfigGroup config(KSharedConfig::openConfig(), "KNewStuffStatus");
QStringList m_languages = getLanguages();
for (int i=0; i<m_languages.count(); i++) {
QString tmp = m_languages[i];
diff --git a/src/main.cpp b/src/main.cpp
index 2caf2cf..b674078 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -21,11 +21,12 @@
/*****************************************************/
/* Please save with utf8 encoding, thanks */
/*****************************************************/
+#include <QApplication>
#include <kaboutdata.h>
-#include <kcmdlineargs.h>
-#include <klocale.h>
-#include <kapplication.h>
+
+#include <KLocalizedString>
+#include <QCommandLineParser>
#include "klettres.h"
#include "version.h"
@@ -39,46 +40,53 @@ static const char version[] = "2.1";
int main(int argc, char **argv)
{
- KAboutData about("klettres", 0, ki18n("KLettres"), KLETTRES_VERSION,
ki18n(description),
- KAboutData::License_GPL, ki18n("(C) 2001-2011 Anne-Marie
Mahfouf"),KLocalizedString(), "http://edu.kde.org/klettres", "submit at
bugs.kde.org");
- about.addAuthor( ki18n("Anne-Marie Mahfouf"), KLocalizedString(), "annma
AT kde DOT org", "http://annma.blogspot.com", "annma");
- about.addCredit(ki18n("Marc Cheng"),
- ki18n("Kids and grown-up oxygen icons"), "bdgraue AT web
DOT de");
- about.addCredit(ki18n("Danny Allen"),
- ki18n("SVG background pictures"), "dannya40uk AT yahoo DOT
co DOT uk");
- about.addCredit(ki18n("Robert Gogolok"),
- ki18n("Support and coding guidance"), "mail AT
robert-gogolok DOT de");
- about.addCredit(ki18n("Peter Hedlund"),
- ki18n("Code for generating special characters' icons"),
"peter DOT hedlund AT kdemail DOT net");
- about.addCredit(ki18n("Waldo Bastian"),
- ki18n("Port to KConfig XT, coding help"), "bastian AT kde
DOT org");
- about.addCredit(ki18n("Pino Toscano"),
- ki18n("Code cleaning, Theme class"), "toscano DOT pino AT
tiscali DOT it");
- about.addCredit(ki18n("Michael Goettsche"),
- ki18n("Timer setting widgets"), "michael.goettsche AT
kdemail DOT net");
- KCmdLineArgs::init(argc, argv, &about);
+ KAboutData about("klettres", i18n("KLettres"),
QLatin1String(KLETTRES_VERSION), i18n(description),
+ KAboutLicense::GPL, i18n("(C) 2001-2011 Anne-Marie
Mahfouf"),QString(), QLatin1String("http://edu.kde.org/klettres"),
QLatin1String("submit at bugs.kde.org"));
+ about.addAuthor( i18n("Anne-Marie Mahfouf"), QString(), "annma AT kde DOT
org", "http://annma.blogspot.com", "annma");
+ about.addCredit(i18n("Marc Cheng"),
+ i18n("Kids and grown-up oxygen icons"), "bdgraue AT web
DOT de");
+ about.addCredit(i18n("Danny Allen"),
+ i18n("SVG background pictures"), "dannya40uk AT yahoo DOT
co DOT uk");
+ about.addCredit(i18n("Robert Gogolok"),
+ i18n("Support and coding guidance"), "mail AT
robert-gogolok DOT de");
+ about.addCredit(i18n("Peter Hedlund"),
+ i18n("Code for generating special characters' icons"),
"peter DOT hedlund AT kdemail DOT net");
+ about.addCredit(i18n("Waldo Bastian"),
+ i18n("Port to KConfig XT, coding help"), "bastian AT kde
DOT org");
+ about.addCredit(i18n("Pino Toscano"),
+ i18n("Code cleaning, Theme class"), "toscano DOT pino AT
tiscali DOT it");
+ about.addCredit(i18n("Michael Goettsche"),
+ i18n("Timer setting widgets"), "michael.goettsche AT
kdemail DOT net");
+ QApplication app(argc, argv);
+ QCommandLineParser parser;
+ KAboutData::setApplicationData(about);
+ parser.addVersionOption();
+ parser.addHelpOption();
+ about.setupCommandLine(&parser);
+ parser.process(app);
+ about.processCommandLine(&parser);
- KCmdLineOptions options;
- KCmdLineArgs::addCmdLineOptions(options);
- KApplication app;
+ app.setApplicationName("klettres");
+ app.setApplicationVersion(version);
+ app.setOrganizationDomain("kde.org");
+ app.setApplicationDisplayName(i18n("Klettres"));
// see if we are starting with session management
if (app.isSessionRestored()) {
RESTORE(KLettres)
} else {
// no session.. just start up normally
- KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
- if (args->count() == 0) {
+ if (parser.positionalArguments().count() == 0) {
KLettres *widget = new KLettres;
widget->show();
} else {
int i = 0;
- for (; i < args->count(); i++) {
+ for (; i < parser.positionalArguments().count(); i++) {
KLettres *widget = new KLettres;
widget->show();
}
}
- args->clear();
+
}
return app.exec();
diff --git a/src/org.kde.klettres.desktop b/src/org.kde.klettres.desktop
new file mode 100644
index 0000000..e510645
--- /dev/null
+++ b/src/org.kde.klettres.desktop
@@ -0,0 +1,57 @@
+# KDE Config File
+[Desktop Entry]
+Type=Application
+Exec=klettres -caption %c %i
+Icon=klettres
+X-DocPath=klettres/index.html
+Comment=a KDE program to learn the alphabet
+Comment[ca]=Un programa del KDE per aprendre l'alfabet
+Comment[cs]=KDE program pro v?uku abecedy
+Comment[de]=Ein KDE-Programm zum Erlernen des Alphabets
+Comment[en_GB]=a KDE program to learn the alphabet
+Comment[es]=Un programa de KDE para aprender el alfabeto
+Comment[fi]=Ohjelma aakkosien harjoitteluun
+Comment[fr]=Un programme KDE pour apprendre l'alphabet
+Comment[it]=Un programma KDE per imparare l'alfabeto
+Comment[nl]=Een KDE-programma waarmee het alfabet geleerd kan worden
+Comment[pl]=Program do nauki alfabetu dla KDE
+Comment[pt]=Um programa do KDE para aprender o alfabeto
+Comment[pt_BR]=Um programa do KDE para aprender o alfabeto
+Comment[sk]=KDE program pre v?uku abecedy
+Comment[uk]=???????? ? ???????? ?????? ??? KDE
+Comment[x-test]=xxa KDE program to learn the alphabetxx
+Terminal=false
+Name=KLettres
+Name[ca]=KLettres
+Name[cs]=KLettres
+Name[de]=KLettres
+Name[en_GB]=KLettres
+Name[es]=KLettres
+Name[fi]=KLettres
+Name[fr]=KLettres
+Name[it]=KLettres
+Name[nl]=KLettres
+Name[pl]=KLettres
+Name[pt]=KLettres
+Name[pt_BR]=KLettres
+Name[sk]=KLettres
+Name[uk]=KLettres
+Name[x-test]=xxKLettresxx
+GenericName=Learn The Alphabet
+GenericName[ca]=Apreneu l'alfabet
+GenericName[cs]=V?uka abecedy
+GenericName[de]=Lerne das Alphabet
+GenericName[en_GB]=Learn The Alphabet
+GenericName[es]=Aprender el alfabeto
+GenericName[fi]=Opi aakkoset
+GenericName[fr]=Apprentissage de l'alphabet
+GenericName[it]=Impara l'alfabeto
+GenericName[nl]=Leer het alfabet
+GenericName[pl]=Nauka alfabetu
+GenericName[pt]=Aprender o Alfabeto
+GenericName[pt_BR]=Aprenda o alfabeto
+GenericName[sk]=V?uka abecedy
+GenericName[uk]=???????? ??????
+GenericName[x-test]=xxLearn The Alphabetxx
+Categories=Qt;KDE;Education;Languages;
+X-DBUS-ServiceName=org.kde.kletters
diff --git a/src/soundfactory.cpp b/src/soundfactory.cpp
index e423cad..8fcfd3f 100644
--- a/src/soundfactory.cpp
+++ b/src/soundfactory.cpp
@@ -23,12 +23,14 @@
#include "soundfactory.h"
+
#include <KMessageBox>
-#include <KLocale>
+#include <KLocalizedString>
#include <KRandomSequence>
#include <KStandardDirs>
-#include <Phonon/MediaObject>
+#include <phonon/MediaObject>
+#include "klettres_debug.h"
#include "klettres.h"
#include "prefs.h"
@@ -77,7 +79,7 @@ void SoundFactory::playSound(int mySound)
}
soundFile = KStandardDirs::locate("data", "klettres/" +
filesList[mySound]);
- kDebug() << "soundFile " << soundFile;
+ qCDebug(KLETTRES_LOG) << "soundFile " << soundFile;
if (soundFile.isEmpty()) {
return;
@@ -121,10 +123,10 @@ bool SoundFactory::loadLanguage(QDomDocument
&layoutDocument, const QString &cur
codeAttribute = languageElement.attributeNode("code");
if (currentLanguage != codeAttribute.value()) {
- kDebug() << "Fail reading language !!! ";
+ qCDebug(KLETTRES_LOG) << "Fail reading language !!! ";
return false;
} else {
- kDebug() << "current language " << currentLanguage;
+ qCDebug(KLETTRES_LOG) << "current language " << currentLanguage;
}
//check here if alphabet and syllables both exist
alphabetList = languageElement.elementsByTagName("alphabet");
@@ -143,7 +145,7 @@ bool SoundFactory::loadLanguage(QDomDocument
&layoutDocument, const QString &cur
if ((Prefs::level() == 3) || (Prefs::level() == 4)) {
if (syllablesList.count() != 1) {
Prefs::setLevel(1);
- Prefs::self()->writeConfig();
+ Prefs::self()->save();
return false;
}
@@ -153,7 +155,7 @@ bool SoundFactory::loadLanguage(QDomDocument
&layoutDocument, const QString &cur
}
//Counts the number of sounds
sounds = soundNamesList.count();
- kDebug() << "number of sounds" << sounds << endl;
+ qCDebug(KLETTRES_LOG) << "number of sounds" << sounds << endl;
if (sounds < 1) {
return false;
}
@@ -190,4 +192,4 @@ void SoundFactory::setSoundSequence()
randomSequence.randomize(randomList);
}
-#include "soundfactory.moc"
+
diff --git a/src/timer.cpp b/src/timer.cpp
index c75fbad..ecd5978 100644
--- a/src/timer.cpp
+++ b/src/timer.cpp
@@ -23,7 +23,7 @@
#include "timer.h"
-#include <KLocale>
+#include <KLocalizedString>
#include "prefs.h"
@@ -33,8 +33,8 @@ Timer::Timer()
ui_timer.setupUi(this);
ui_timer.timeGrownLabel->setText(QString::number(Prefs::grownTimer()) + '
' + i18n("tenths of second"));
ui_timer.timeKidLabel->setText(QString::number(Prefs::kidTimer()) + ' ' +
i18n("tenths of second"));
- connect(ui_timer.kcfg_GrownTimer, SIGNAL(valueChanged(int)), this,
SLOT(sliderValueChanged()));
- connect(ui_timer.kcfg_KidTimer, SIGNAL(valueChanged(int)), this,
SLOT(sliderValueChanged()));
+ connect(ui_timer.kcfg_GrownTimer, &QSlider::valueChanged, this,
&Timer::sliderValueChanged);
+ connect(ui_timer.kcfg_KidTimer, &QSlider::valueChanged, this,
&Timer::sliderValueChanged);
}
@@ -45,4 +45,4 @@ void Timer::sliderValueChanged()
}
-#include "timer.moc"
+
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index fcd21d3..9166494 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,9 +1,15 @@
-set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
+include(ECMMarkAsTest)
+set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
-set(malayalamtest_SOURCES malayalamtest.cpp)
+set(malayalamtest_SRCS
+ malayalamtest.cpp
+)
-kde4_add_unit_test(malayalamtest ${malayalamtest_SOURCES})
+add_executable(MalayalamTest ${malayalamtest_SRCS})
+add_test(MalayalamTest MalayalamTest)
+ecm_mark_as_test(MalayalamTest)
+target_link_libraries(MalayalamTest
+ Qt5::Test
+)
-target_link_libraries(malayalamtest ${KDE4_KDECORE_LIBS}
-${QT_QTTEST_LIBRARY})
diff --git a/tests/malayalamtest.cpp b/tests/malayalamtest.cpp
index 0c5a7cc..8b71eea 100644
--- a/tests/malayalamtest.cpp
+++ b/tests/malayalamtest.cpp
@@ -18,7 +18,7 @@
#include "malayalamtest.h"
-#include <QtTest/QtTest>
+#include <QTest>
#include <QString>
void MalayalamTest::matchChar()
@@ -49,7 +49,5 @@ void MalayalamTest::decomposeConsonant()
}
+QTEST_MAIN(MalayalamTest)
-QTEST_KDEMAIN_CORE( MalayalamTest )
-
-#include "malayalamtest.moc"
diff --git a/tests/malayalamtest.h b/tests/malayalamtest.h
index efd4482..c33f544 100644
--- a/tests/malayalamtest.h
+++ b/tests/malayalamtest.h
@@ -19,8 +19,7 @@
#ifndef MALAYALAMTEST_H
#define MALAYALAMTEST_H
-#include <qtest_kde.h>
-#include <QtCore/QObject>
+#include <QObject>
class MalayalamTest : public QObject
{