Hello community,

here is the log from the commit of package ktouch for openSUSE:Factory checked 
in at 2014-07-16 16:18:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ktouch (Old)
 and      /work/SRC/openSUSE:Factory/.ktouch.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ktouch"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ktouch/ktouch.changes    2014-06-19 
13:16:19.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ktouch.new/ktouch.changes       2014-07-16 
16:18:38.000000000 +0200
@@ -1,0 +2,7 @@
+Thu Jul 10 22:20:17 UTC 2014 - [email protected]
+
+- Update to 4.13.80
+   * KDE 4.14 Beta 1 release
+   * See http://www.kde.org/announcements/announce-4.14-beta1.php
+
+-------------------------------------------------------------------

Old:
----
  ktouch-4.13.2.tar.xz

New:
----
  ktouch-4.13.80.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ktouch.spec ++++++
--- /var/tmp/diff_new_pack.glo0RN/_old  2014-07-16 16:18:39.000000000 +0200
+++ /var/tmp/diff_new_pack.glo0RN/_new  2014-07-16 16:18:39.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           ktouch
-Version:        4.13.2
+Version:        4.13.80
 Release:        0
 Summary:        Touch Typing Tutor
 License:        GPL-2.0+
@@ -53,12 +53,15 @@
 
 %files
 %defattr(-,root,root)
-%_kde4_bindir/ktouch
-%_kde4_applicationsdir/ktouch.desktop
-%_kde4_htmldir/en/ktouch/
-%_kde4_iconsdir/hicolor/*/apps/ktouch.*
-%_kde4_appsdir/ktouch/
-%_kde4_sharedir/config.kcfg/ktouch.kcfg
-%_kde4_mandir/man1/ktouch.1.gz
+%doc AUTHORS COPYING* README
+%dir %{_kde4_datadir}/appdata
+%doc %lang(en) %{_kde4_htmldir}/en/ktouch/
+%{_kde4_applicationsdir}/ktouch.desktop
+%{_kde4_appsdir}/ktouch/
+%{_kde4_bindir}/ktouch
+%{_kde4_configkcfgdir}/ktouch.kcfg
+%{_kde4_datadir}/appdata/ktouch.appdata.xml
+%{_kde4_iconsdir}/hicolor/*/apps/ktouch.*
+%{_kde4_mandir}/man1/ktouch.1.gz
 
 %changelog

++++++ ktouch-4.13.2.tar.xz -> ktouch-4.13.80.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ktouch-4.13.2/CMakeLists.txt 
new/ktouch-4.13.80/CMakeLists.txt
--- old/ktouch-4.13.2/CMakeLists.txt    2014-04-28 15:40:19.000000000 +0200
+++ new/ktouch-4.13.80/CMakeLists.txt   2014-07-05 03:48:06.000000000 +0200
@@ -19,5 +19,6 @@
 
 # files to install in the ktouch project root directory
 install( PROGRAMS ktouch.desktop  DESTINATION  ${XDG_APPS_INSTALL_DIR} )
+install(FILES ktouch.appdata.xml DESTINATION ${SHARE_INSTALL_PREFIX}/appdata/)
 
 macro_display_feature_log()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ktouch-4.13.2/data/courses/de.dvorak.xml 
new/ktouch-4.13.80/data/courses/de.dvorak.xml
--- old/ktouch-4.13.2/data/courses/de.dvorak.xml        2014-04-28 
15:40:19.000000000 +0200
+++ new/ktouch-4.13.80/data/courses/de.dvorak.xml       2014-07-05 
03:48:06.000000000 +0200
@@ -1353,7 +1353,7 @@
 PLZ  Postleitzahl
 PVC  Polyvinyl-Chlorid (Kunststoff)
 RAF  Rote Armee Fraktion (linksradikale deutsche
-     Terrorvereinigung aus den70ern)
+     Terrorvereinigung aus den 70ern)
 SOS  Morsenotruf ... --- ... (Eselsbrücke: "Save Our Souls")
 THW  Technisches Hilfswerk
 TNT  Trinitrotoluol (Sprengstoff)
@@ -2539,7 +2539,7 @@
 Benutzers.
 ps Liefert eine Liste aller Prozesse.
 rm löscht Dateien.
-rmdir Löscht ein Verzeichnis mit dessen Inhalt.
+rmdir Löscht ein leeres Verzeichnis.
 su Wechselt den aktuellen Benutzer.
 sudo Wird dieses Kommando vor ein anderes geschrieben (mit
 Leerzeichen) so wird es mit root-Rechten (Administrator)
@@ -2577,7 +2577,7 @@
 more [Datei] Zeigt Inhalt einer Datei seitenweise an. more
 123.txt
 touch [Datei] Erzeugt leere Datei. touch 123.txt
-whereis [Prog] Sucht nach Programm. whereis Firefox
+whereis [Prog] Sucht nach Programm. whereis firefox
 find . | grep [DATEI] sucht eine Datei im Verzeichnis. find
 . | grep 123.txt
 grep [KEY] [DATEI] Sucht nach Begriff in einer Datei. grep
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ktouch-4.13.2/data/courses/de.neo.xml 
new/ktouch-4.13.80/data/courses/de.neo.xml
--- old/ktouch-4.13.2/data/courses/de.neo.xml   2014-04-28 15:40:19.000000000 
+0200
+++ new/ktouch-4.13.80/data/courses/de.neo.xml  2014-07-05 03:48:06.000000000 
+0200
@@ -485,49 +485,16 @@
 nkn nhn nkd nkt nkr nkd nkt nkr nkd nkt nkr nkd nkt nkr nkd
 nkt nkr knd knt knr kne kna kni knu knd knt knr kne kna kni
 knu knd ack ack ack kat kat kat ack kat ack kat ack kat ack
-kat ack kiwi kiwi kiwi wolke wolke wolke kiwi kiwi winkel
-winkel winkel kuwait kuwait kuwait winkel winkel kuwait
-kuwait weltkarte weltkarte weltkarte kunstwerk kunstwerk
-kunstwerk weltkarte weltkarte kunstwerk kunstwerk weinkeller
-weinkeller weinkeller krankenwagen krankenwagen krankenwagen
-weinkeller weinkeller krankenwagen krankenwagen weglocken
-weglocken weglocken kilowatt kilowatt kilowatt weglocken
-weglocken kilowatt kilowatt wohlklang wohlklang wohlklang
-karawane karawane karawane wohlklang wohlklang karawane
-karawane wirklich wirklich wirklich kauderwelsch
-kauderwelsch kauderwelsch wirklich wirklich kauderwelsch
-kauderwelsch wecker wecker wecker krankenschwester
-krankenschwester krankenschwester wecker wecker
-krankenschwester krankenschwester wickeln wickeln wickeln
-wunderkind wunderkind wunderkind wickeln wickeln wunderkind
-wunderkind</text>
+kat ack </text>
   </lesson>
   <lesson>
    <id>{4ff2f2cc-f227-4b9d-ac09-9fe56d602b72}</id>
    <title>Wir üben: w und k</title>
    <newCharacters></newCharacters>
-   <text>ece ewe ewe ewe ece ewe ece ewe ece ewe ewe ewe ece ewe ece
-nhn nkn nkn nkn nhn nkn nhn nkn nhn nkn nkn nkn nhn nkn nhn
-ewu ewi ewa ewe ewo ewu ewi ewa ewe ewo ewu ewi ewa ewe ewo
-nkd nkt nkr nkn nks nkd nkt nkr nkn nks nkd nkt nkr nkn nks
-ews ewk ewn ewh ewr ewg ewt ewd ews ewk ewn ewh ewr ewg ewt
-ewd nko nkw nke nkc nka nkl nki nku nko nkw nke nkc nka nkl
-nki nku wow wew wcw waw wlw wiw wuw wow wew wcw waw wlw wiw
-wuw ksk knk khk krk kgk ktk kdk ksk knk khk krk kgk ktk kdk
-wsw wkw wnw whw wrw wgw wtw wdw wsw wkw wnw whw wrw wgw wtw
-wdw kok kwk kek kck kak klk kik kuk kok kwk kek kck kak klk
-kik kuk wed wet wer wen wed wet wer wen wed wet wer wen wed
-wet wer wer wer wer was was was wer wer wer was was was wer
-wer wer wie wie wie wut wut wut wie wie wie wut wut wut wie
-wie wie wer was wie wut wut wie was wer wer was wie wut wut
-wie was nhn nkn nkn nkn nhn nkn nhn nkn nhn nkn nkn nkn nhn
-nkn nhn nkd nkt nkr nkd nkt nkr nkd nkt nkr nkd nkt nkr nkd
-nkt nkr knd knt knr kne kna kni knu knd knt knr kne kna kni
-knu knd ack ack ack kat kat kat ack kat ack kat ack kat ack
-kat ack kiwi kiwi kiwi wolke wolke wolke kiwi kiwi winkel
-winkel winkel kuwait kuwait kuwait winkel winkel kuwait
-kuwait weltkarte weltkarte weltkarte kunstwerk kunstwerk
-kunstwerk weltkarte weltkarte kunstwerk kunstwerk weinkeller
+   <text>kiwi kiwi kiwi wolke wolke wolke kiwi kiwi winkel winkel
+winkel kuwait kuwait kuwait winkel winkel kuwait kuwait
+weltkarte weltkarte weltkarte kunstwerk kunstwerk kunstwerk
+weltkarte weltkarte kunstwerk kunstwerk weinkeller
 weinkeller weinkeller krankenwagen krankenwagen krankenwagen
 weinkeller weinkeller krankenwagen krankenwagen weglocken
 weglocken weglocken kilowatt kilowatt kilowatt weglocken
@@ -2276,7 +2243,7 @@
 PLZ  Postleitzahl
 PVC  Polyvinyl-Chlorid (Kunststoff)
 RAF  Rote Armee Fraktion (linksradikale deutsche
-     Terrorvereinigung aus den70ern)
+     Terrorvereinigung aus den 70ern)
 SOS  Morsenotruf ... --- ... (Eselsbrücke: „Save Our Souls“)
 THW  Technisches Hilfswerk
 TNT  Trinitrotoluol (Sprengstoff)
@@ -2796,7 +2763,7 @@
 Benutzers.
 ps Liefert eine Liste aller Prozesse.
 rm löscht Dateien.
-rmdir Löscht ein Verzeichnis mit dessen Inhalt.
+rmdir Löscht ein leeres Verzeichnis.
 su Wechselt den aktuellen Benutzer.
 sudo Wird dieses Kommando vor ein anderes geschrieben (mit
 Leerzeichen) so wird es mit root-Rechten (Administrator)
@@ -2834,7 +2801,7 @@
 more [Datei] Zeigt Inhalt einer Datei seitenweise an. more
 123.txt
 touch [Datei] Erzeugt leere Datei. touch 123.txt
-whereis [Prog] Sucht nach Programm. whereis Firefox
+whereis [Prog] Sucht nach Programm. whereis firefox
 find . | grep [DATEI] sucht eine Datei im Verzeichnis. find
 . | grep 123.txt
 grep [KEY] [DATEI] Sucht nach Begriff in einer Datei. grep
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ktouch-4.13.2/doc/index.docbook 
new/ktouch-4.13.80/doc/index.docbook
--- old/ktouch-4.13.2/doc/index.docbook 2014-04-28 15:40:19.000000000 +0200
+++ new/ktouch-4.13.80/doc/index.docbook        2014-07-05 03:48:06.000000000 
+0200
@@ -52,8 +52,8 @@
 
 <legalnotice>&FDLNotice;</legalnotice>
 
-<date>2013-11-07</date>
-<releaseinfo>2.2.0</releaseinfo>
+<date>2014-05-01</date>
+<releaseinfo>2.3.0</releaseinfo>
 
 <abstract>
 <para>&i18n-ktouch; is a program for learning to touch type.  &i18n-ktouch;
@@ -514,6 +514,9 @@
 </mediaobject>
 </screenshot>
 <para>
+  The <guilabel>Enforce correction of typing errors</guilabel> check box can 
be used to control whether typing errors have to be corrected.
+</para>
+<para>
   You can control the visibility of statistics and keyboard panes during
 training using <guilabel>Show keyboard</guilabel> and <guilabel>Show real-time
 statistics</guilabel> check boxes.
Files old/ktouch-4.13.2/doc/training_options.png and 
new/ktouch-4.13.80/doc/training_options.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ktouch-4.13.2/ktouch.appdata.xml 
new/ktouch-4.13.80/ktouch.appdata.xml
--- old/ktouch-4.13.2/ktouch.appdata.xml        1970-01-01 01:00:00.000000000 
+0100
+++ new/ktouch-4.13.80/ktouch.appdata.xml       2014-07-05 03:48:06.000000000 
+0200
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component type="desktop">
+  <id>ktouch.desktop</id>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>GPL-2.0+</project_license>
+  <name>KTouch</name>
+  <name xml:lang="cs">KTouch</name>
+  <name xml:lang="es">KTouch</name>
+  <name xml:lang="fi">KTouch</name>
+  <name xml:lang="lt">KTouch</name>
+  <name xml:lang="nds">KTouch</name>
+  <name xml:lang="nl">KTouch</name>
+  <name xml:lang="pl">KTouch</name>
+  <name xml:lang="pt">KTouch</name>
+  <name xml:lang="pt-BR">KTouch</name>
+  <name xml:lang="sk">KTouch</name>
+  <name xml:lang="sv">Ktouch</name>
+  <name xml:lang="uk">KTouch</name>
+  <name xml:lang="x-test">xxKTouchxx</name>
+  <summary>Touch Typing Tutor</summary>
+  <summary xml:lang="cs">Výuka psaní na stroji</summary>
+  <summary xml:lang="es">Tutor de mecanografía al tacto</summary>
+  <summary xml:lang="fi">Konekirjoituksen ohjaaja</summary>
+  <summary xml:lang="nds">Schriefmaschien öven</summary>
+  <summary xml:lang="nl">Typcursus</summary>
+  <summary xml:lang="pl">Nauczyciel bezwzrokowego pisania</summary>
+  <summary xml:lang="pt">Professor de Dactilografia</summary>
+  <summary xml:lang="pt-BR">Aulas de digitação</summary>
+  <summary xml:lang="sk">Výuka písania na stroji</summary>
+  <summary xml:lang="sv">Maskinskrivningsträning</summary>
+  <summary xml:lang="uk">Навчання комп’ютерного набору</summary>
+  <summary xml:lang="x-test">xxTouch Typing Tutorxx</summary>
+  <description>
+    <p>KTouch is a typewriter trainer for learning to touch type. It provides 
you with text to train on and adjusts to different levels depending on how good 
you are. It displays your keyboard and indicates which key to press next and 
which is the correct finger to use. You learn typing with all fingers, step by 
step, without having to look down at the keyboard to find your keys. It is 
convenient for all ages and the perfect typing tutor for schools, universities, 
and personal use. KTouch ships with dozens of different courses in many 
languages and a comfortable course editor. Different keyboard layouts are 
supported and new user-defined layouts can be created. During training, KTouch 
collects comprehensive statistical information to help you or your teacher to 
analyze your progress.</p>
+    <p xml:lang="nds">KTouch is en Programm, mit dat Du Schriefmaschien 
schrieven lehren kannst. Dat stellt Di de Öövtexten praat un passt de Sworheit 
dor na an, wo goot Du al büst. Dat wiest Dien Tastatuur, de Tast, de Du drücken 
schallst un den richtigen Finger dor för. Du lehrst dat Tippen mit all Fingers 
Schritt för Schritt, un ok, ahn dat Du na nerrn op de Tasten un Dien Fingers 
kieken muttst. Dat is goot för jünger un ok för öller Lüüd un en goot 
Tipplehrer för Scholen un Universiteten. Dor sünd KTouch en Barg verscheden 
Lexen in vele Spraken bi un en kommood Lexeneditor. dat ünnerstütt verscheden 
Tastanornen, Du kannst ok Dien egen Anornen opstellen. Bi't Öven sammelt KTouch 
Statistikinformatschonen, mit de Du oder Dien Lehrer Dien Vörankamen bekieken 
kannst.</p>
+    <p xml:lang="nl">KTouch is een oefenprogramma voor blindtypen. Het geeft u 
oefenteksten en past het oefenniveau aan aan uw huidige vaardigheid. Het 
toetsenbord wordt getoond, en de volgende toets die u moet aanslaan, en met 
welke vinger. U leert met alle vingers te typen, stap voor stap, zonder dat u 
op het toetsenbord naar de toetsen kijkt. Het is voor alle leeftijden geschikt, 
en perfect om te leren typen op school, de universiteit, of thuis. KTouch komt 
met tientallen verschillende cursussen in vele talen, en bevat een handige 
cursusbewerker. Diverse toetsenbordindelingen worden ondersteund, en u kunt ook 
nieuwe zelf aanmaken. Tijdens de oefeningen verzamelt KTouch uitvoerige 
statistische informatie, voor het beoordelen van uw vorderingen.</p>
+    <p xml:lang="pl">KTouch jest trenerem bezwzrokowego pisania na 
klawiaturze. Dostarcza teksty do ćwiczeń i dostosowuje się do poziomu 
użytkownika. Wyświetla klawiaturę, wskazuje, które klawisze nacisnąć i jakim 
palcem. Dzięki programowi uczysz się pisać wszystkimi palcami. Jest wygodny dla 
użytkowników w różnym wieku i idealny do ćwiczenia pisania w szkołach, 
uniwersytetach i czasie prywatnym. KTouch jest dostarczany z wieloma kursami w 
różnych językach oraz wygodnym edytorem kursów. Obsługiwane są różne układy 
klawiatury, można także dodawać układy stworzone przez użytkownika. Podczas 
ćwiczeń, KTouch zbiera wiele informacji statystycznych, aby pomóc tobie lub 
twojemu nauczycielowi analizować twój postęp.</p>
+    <p xml:lang="pt">O KTouch é um treinador de dactilografia que o ensina a 
escrever à máquina. Oferece-lhe algum texto para treinar e ajusta-se a 
diferentes níveis, dependendo de quão bom você é. Ele mostra o seu teclado e 
indica a tecla a carregar a seguir e qual o dedo correcto a usar. Você aprende 
a escrever com todos os dedos, passo-a-passo, sem ter de olhar para baixo para 
o teclado e descobrir as suas teclas. É conveniente para todas as idades e é o 
tutor de escrita perfeito para escolas, universidades e uso pessoal. O KTouch 
vem com dezenas de exercícios diferentes em várias línguas e tem um editor de 
exercícios confortável. São suportados diferentes formatos de teclado e poderá 
criar novos formatos definidos pelo utilizador. Durante o exercício, o KTouch 
recolhe alguma informação estatística completa para o ajudar ou ao seu 
professor a analisar o seu progresso.</p>
+    <p xml:lang="pt-BR">KTouch é um programa que ensina a usar um teclado para 
digitação. Ele disponibiliza alguns textos para treinar e ajusta-se a 
diferentes níveis, dependendo da sua habilidade. Ele mostra o seu teclado e 
indica a próxima tecla a pressionar e qual o dedo correto a ser usado. Você 
aprende a digitar com todos os dedos, passo a passo, sem precisar olhar para o 
teclado e encontrar as teclas. É conveniente para todas as idades e é o tutor 
de digitação perfeito para escolas, universidades e uso pessoal. O KTouch vem 
com dezenas de exercícios diferentes em vários idiomas e tem um confortável 
editor de exercícios. São suportados diferentes leiautes de teclado e novos 
leiautes podem ser criados pelo usuário. Durante o treino, o KTouch recolhe 
informações estatísticas para ajudar você ou seu professor a analisar o seu 
progresso.</p>
+    <p xml:lang="sk">KTouch je tréner písacieho stroja na výuku písania na 
stroji. Poskytuje vám texty na tréning a úpravu na rôzne úrovne v závislosti od 
vašej pokročilosti. Zobrazuje klávesnicu a ukazuje, ktoré klávesy treba 
najbližšie stlačiť a ktorý je správny prst na použitie. Naučíte sa písať 
všetkými prstami, krok za krokom bez nutnosti pozerať sa dolu na klávesnicu, 
aby ste našli klávesy. Je vhodný pre všetky vekové skupiny a výborný program 
pre školy, univerzity a osobné použitie. KTouch obsahuje mnoho rôznych kurzov v 
mnohých jazykoch a komfortný editor kurzov. Podporuje rôzne rozloženia 
klávesnice a umožňuje vytvoriť vlastné rozloženia. Počas tréningu zbiera 
štatistické informácie, aby vám pomohol analyzovať váš postup.</p>
+    <p xml:lang="sv">Ktouch är ett program för att lära sig maskinskrivning. 
Det tillhandahåller en text att öva på, och justeras till olika nivåer, 
beroende på hur bra du är. Det visar tangentbordet och vilken tangent som ska 
tryckas ner härnäst, och det riktiga fingret som ska användas. Man lär sig att 
skriva med alla fingrar, steg för steg, utan att behöva titta ner på 
tangentbordet hela tiden för att hitta rätt tangenter. Det är bekvämt för alla 
åldrar och är perfekt för skrivmaskinsövning på skolor, universitet och vid 
personlig användning. Ktouch levereras med dussintals kurser på många språk och 
en bekväm kurseditor. Olika tangentbordslayouter stöds och nya 
användardefinierade layouter kan skapas. Under övningar samlar Ktouch in 
omfattande statistisk information för att hjälpa dig eller din lärare att 
analysera dina framsteg.</p>
+    <p xml:lang="uk">KTouch — програма для навчання машинопису. Ви вводитимете 
навчальний текст, а програма визначатиме рівень складності цього тексту, 
залежно від ваших навичок. У вікні програми ви зможете бачити клавіатуру, 
підсвічування для клавіш, які слід натискати, та рекомендації щодо пальця, яким 
це слід робити. Ви зможете навчитися десятипальцевому набору, крок за кроком, 
не дивлячись на клавіатуру і не шукаючи на ній потрібних вам клавіш. Програму 
пристосовано для користувачів будь-якого віку, вона є чудовим засобом навчання 
для шкіл, університетів та особистих потреб. Разом з KTouch постачаються 
десятки різних курсів багатьма мовами, а також зручний редактор курсів. 
Передбачено підтримку різних розкладок клавіатур та можливість визначення 
власних розкладок. Під час навчання KTouch збирає статистичні дані, які 
допоможуть вам та вашому наставнику проаналізувати поступ навчання.</p>
+    <p xml:lang="x-test">xxKTouch is a typewriter trainer for learning to 
touch type. It provides you with text to train on and adjusts to different 
levels depending on how good you are. It displays your keyboard and indicates 
which key to press next and which is the correct finger to use. You learn 
typing with all fingers, step by step, without having to look down at the 
keyboard to find your keys. It is convenient for all ages and the perfect 
typing tutor for schools, universities, and personal use. KTouch ships with 
dozens of different courses in many languages and a comfortable course editor. 
Different keyboard layouts are supported and new user-defined layouts can be 
created. During training, KTouch collects comprehensive statistical information 
to help you or your teacher to analyze your progress.xx</p>
+  </description>
+  <url type="homepage">http://edu.kde.org/ktouch/</url>
+  <url 
type="bugtracker">https://bugs.kde.org/enter_bug.cgi?format=guided&amp;product=ktouch</url>
+  <url type="help">http://docs.kde.org/stable/en/kdeedu/ktouch/index.html</url>
+  <screenshots>
+    <screenshot type="default">
+      <image>http://edu.kde.org/images/screenshots/ktouch.png</image>
+    </screenshot>
+  </screenshots>
+  <project_group>KDE</project_group>
+  <provides>
+    <binary>ktouch</binary>
+  </provides>
+</component>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ktouch-4.13.2/src/declarativeitems/traininglinecore.cpp 
new/ktouch-4.13.80/src/declarativeitems/traininglinecore.cpp
--- old/ktouch-4.13.2/src/declarativeitems/traininglinecore.cpp 2014-04-28 
15:40:19.000000000 +0200
+++ new/ktouch-4.13.80/src/declarativeitems/traininglinecore.cpp        
2014-07-05 03:48:06.000000000 +0200
@@ -104,6 +104,9 @@
 
 bool TrainingLineCore::isCorrect() const
 {
+    if (!Preferences::enforceTypingErrorCorrection())
+        return true;
+
     return m_actualLine == m_referenceLine.left(m_actualLine.length());
 }
 
@@ -143,7 +146,7 @@
         return;
     }
 
-    if (m_referenceLine == m_actualLine)
+    if (isCorrect() && m_referenceLine.length() == m_actualLine.length())
     {
         if (Preferences::nextLineWithReturn())
         {
@@ -293,7 +296,7 @@
             m_trainingStats->logCharacter(referenceCharacter, 
characterIsCorrect? TrainingStats::CorrectCharacter: 
TrainingStats::IncorrectCharacter);
         }
 
-        correct = correct && characterIsCorrect;
+        correct = correct && (!Preferences::enforceTypingErrorCorrection() || 
characterIsCorrect);
 
         if (correct)
         {
@@ -313,7 +316,7 @@
 {
     const int actualLength = m_actualLine.length();
 
-    if (actualLength > 0)
+    if (actualLength > 0 && Preferences::enforceTypingErrorCorrection())
     {
         m_actualLine = m_actualLine.left(actualLength - 1);
         emit actualLineChanged();
@@ -329,7 +332,7 @@
 {
     const int actualLength = m_actualLine.length();
 
-    if (actualLength > 0)
+    if (actualLength > 0 && Preferences::enforceTypingErrorCorrection())
     {
         QTextBoundaryFinder finder(QTextBoundaryFinder::Word, m_actualLine);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ktouch-4.13.2/src/ktouch.kcfg 
new/ktouch-4.13.80/src/ktouch.kcfg
--- old/ktouch-4.13.2/src/ktouch.kcfg   2014-04-28 15:40:19.000000000 +0200
+++ new/ktouch-4.13.80/src/ktouch.kcfg  2014-07-05 03:48:06.000000000 +0200
@@ -11,6 +11,10 @@
     </entry>
   </group>
   <group name="Training">
+    <entry name="EnforceTypingErrorCorrection" type="Bool">
+      <label>Controls whether typing errors have to be corrected or 
not.</label>
+      <default>true</default>
+    </entry>
     <entry name="ShowKeyboard" type="Bool">
       <label>Controls the visibility of the keyboard during training.</label>
       <default>true</default>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ktouch-4.13.2/src/qml/CMakeLists.txt 
new/ktouch-4.13.80/src/qml/CMakeLists.txt
--- old/ktouch-4.13.2/src/qml/CMakeLists.txt    2014-04-28 15:40:19.000000000 
+0200
+++ new/ktouch-4.13.80/src/qml/CMakeLists.txt   2014-07-05 03:48:06.000000000 
+0200
@@ -33,6 +33,7 @@
     ScoreScreen.qml
     LearningProgressChart.qml
 
+    DetailedRadioButton.qml
     InformationTable.qml
     InfoItem.qml
     InlineToolbar.qml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ktouch-4.13.2/src/qml/DetailedRadioButton.qml 
new/ktouch-4.13.80/src/qml/DetailedRadioButton.qml
--- old/ktouch-4.13.2/src/qml/DetailedRadioButton.qml   1970-01-01 
01:00:00.000000000 +0100
+++ new/ktouch-4.13.80/src/qml/DetailedRadioButton.qml  2014-07-05 
03:48:06.000000000 +0200
@@ -0,0 +1,82 @@
+/*
+ *  Copyright 2014  Sebastian Gottfried <[email protected]>
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License as
+ *  published by the Free Software Foundation; either version 2 of
+ *  the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import QtQuick 1.1
+import org.kde.plasma.core 0.1 as PlasmaCore
+import org.kde.plasma.components 0.1 as PlasmaComponents
+
+Column {
+    id: root
+
+    property alias checked: radioButton.checked
+    property alias enabled: radioButton.enabled
+    property alias label: label.text
+    property alias hint: hint.text
+
+    spacing: 10
+
+    Row {
+        id: radioButtonRow
+        width: parent.width
+        spacing: Math.round(label.height / 4)
+
+        PlasmaComponents.RadioButton {
+            id: radioButton
+            anchors.verticalCenter: parent.verticalCenter
+        }
+
+        PlasmaComponents.Label {
+            id: label
+            anchors.verticalCenter: parent.verticalCenter
+            height: paintedHeight
+            /*
+             * The text wrapping of the label doesn't work if it is invible
+             * (wrapped at every character), hence the following hack.
+             */
+            width: visible? parent.width - radioButton.width - parent.spacing: 0
+            wrapMode: Text.Wrap
+            opacity: radioButton.opacity
+            MouseArea {
+                anchors.fill: parent
+                enabled: radioButton.enabled
+                onClicked: {
+                    radioButton.checked = true
+                }
+            }
+        }
+    }
+
+    Row {
+        width: parent.width
+        spacing: radioButtonRow.spacing
+
+        Item {
+            width: radioButton.width
+            height: hint.height
+        }
+
+        PlasmaComponents.Label {
+            id: hint
+            font.pointSize: theme.smallestFont.pointSize
+            font.italic: true
+            height: paintedHeight
+            width: visible? parent.width - radioButton.width - parent.spacing: 0
+            wrapMode: Text.Wrap
+            opacity: radioButton.opacity
+        }
+    }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ktouch-4.13.2/src/qml/ProfileForm.qml 
new/ktouch-4.13.80/src/qml/ProfileForm.qml
--- old/ktouch-4.13.2/src/qml/ProfileForm.qml   2014-04-28 15:40:19.000000000 
+0200
+++ new/ktouch-4.13.80/src/qml/ProfileForm.qml  2014-07-05 03:48:06.000000000 
+0200
@@ -32,6 +32,11 @@
     property alias doneButtonText: doneBtn.text
     signal done()
 
+    onSkillLevelChanged: {
+        beginnerRadioButton.checked = skillLevel == Profile.Beginner
+        advancedRadioButton.checked = skillLevel == Profile.Advanced
+    }
+
     spacing: 15
 
     PlasmaComponents.Label {
@@ -46,80 +51,39 @@
         placeholderText: i18n("Name")
     }
 
-    PlasmaComponents.RadioButton {
-        id: beginnerRadioBox
-        onClicked: {
+    DetailedRadioButton {
+        id: beginnerRadioButton
+        width: parent.width
+        enabled: root.skillLevelSelectionEnabled
+        label: i18n("I have no or only very little experience in machine 
typing")
+        hint: i18n("Lessons are unlocked as your typing skills improve over 
time.")
+        onCheckedChanged: {
             if (checked) {
-                advancedRadioBox.checked = false;
                 root.skillLevel = Profile.Beginner
-            }
-            else {
-                checked = true
+                advancedRadioButton.checked = false
             }
         }
-        enabled: root.skillLevelSelectionEnabled
-        checked: root.skillLevel === Profile.Beginner
-        width: parent.width
-        text: i18n("I have no or only very little experience in machine 
typing")
     }
 
-    Row {
+    DetailedRadioButton {
+        id: advancedRadioButton
         width: parent.width
-
-        Item {
-            width: 30
-            height: parent.height
-        }
-
-        PlasmaComponents.Label {
-            font.pointSize: theme.smallestFont.pointSize
-            height: paintedHeight
-            opacity: advancedRadioBox.opacity
-            font.italic: true
-            text: i18n("Lessons are unlocked as your typing skills improve 
over time.")
-        }
-    }
-
-    PlasmaComponents.RadioButton {
-        id: advancedRadioBox
-        onClicked: {
+        enabled: root.skillLevelSelectionEnabled
+        label: i18n("I am an experienced machine typist and want to improve my 
skills")
+        hint: i18n("All lessons are unlocked immediately.")
+        onCheckedChanged: {
             if (checked) {
-                beginnerRadioBox.checked = false;
                 root.skillLevel = Profile.Advanced
+                beginnerRadioButton.checked = false
             }
-            else {
-                checked = true
-            }
-        }
-        enabled: root.skillLevelSelectionEnabled
-        checked: root.skillLevel === Profile.Advanced
-        width: parent.width
-        text: i18n("I am an experienced machine typist and want to improve my 
skills")
-    }
-
-    Row {
-        width: parent.width
-
-        Item {
-            width: 30
-            height: parent.height
         }
-
-        PlasmaComponents.Label {
-            font.pointSize: theme.smallestFont.pointSize
-            height: paintedHeight
-            opacity: advancedRadioBox.opacity
-            font.italic: true
-            text: i18n("All lessons are unlocked immediately.")
-        }
-
     }
 
     PlasmaComponents.Button {
         id: doneBtn
         anchors.horizontalCenter: parent.horizontalCenter
         text: i18n("Done")
-        enabled: nameTextField.text !== "" && (beginnerRadioBox.checked || 
advancedRadioBox.checked)
+        enabled: nameTextField.text !== "" && (beginnerRadioButton.checked || 
advancedRadioButton.checked)
         iconSource: "dialog-ok"
         onClicked: done()
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ktouch-4.13.2/src/ui/trainingconfigwidget.ui 
new/ktouch-4.13.80/src/ui/trainingconfigwidget.ui
--- old/ktouch-4.13.2/src/ui/trainingconfigwidget.ui    2014-04-28 
15:40:19.000000000 +0200
+++ new/ktouch-4.13.80/src/ui/trainingconfigwidget.ui   2014-07-05 
03:48:06.000000000 +0200
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>361</width>
-    <height>259</height>
+    <width>344</width>
+    <height>267</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -19,12 +19,6 @@
   <layout class="QVBoxLayout" name="verticalLayout">
    <item>
     <layout class="QFormLayout" name="formLayout_2">
-     <property name="sizeConstraint">
-      <enum>QLayout::SetFixedSize</enum>
-     </property>
-     <property name="fieldGrowthPolicy">
-      <enum>QFormLayout::ExpandingFieldsGrow</enum>
-     </property>
      <item row="0" column="0">
       <widget class="QLabel" name="trainingLabel">
        <property name="text">
@@ -33,6 +27,13 @@
       </widget>
      </item>
      <item row="0" column="1">
+      <widget class="QCheckBox" name="kcfg_EnforceTypingErrorCorrection">
+       <property name="text">
+        <string>Enforce correction of typing errors</string>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1">
       <widget class="QCheckBox" name="kcfg_ShowKeyboard">
        <property name="minimumSize">
         <size>
@@ -45,14 +46,14 @@
        </property>
       </widget>
      </item>
-     <item row="1" column="1">
+     <item row="2" column="1">
       <widget class="QCheckBox" name="kcfg_ShowStatistics">
        <property name="text">
         <string>Show real-time statistics</string>
        </property>
       </widget>
      </item>
-     <item row="2" column="1">
+     <item row="3" column="1">
       <spacer name="verticalSpacer">
        <property name="orientation">
         <enum>Qt::Vertical</enum>
@@ -63,26 +64,26 @@
        <property name="sizeHint" stdset="0">
         <size>
          <width>20</width>
-         <height>10</height>
+         <height>13</height>
         </size>
        </property>
       </spacer>
      </item>
-     <item row="3" column="0">
+     <item row="4" column="0">
       <widget class="QLabel" name="nextLineLabel">
        <property name="text">
         <string>Go to next line with:</string>
        </property>
       </widget>
      </item>
-     <item row="3" column="1">
+     <item row="4" column="1">
       <widget class="QRadioButton" name="kcfg_NextLineWithReturn">
        <property name="text">
         <string>Return</string>
        </property>
       </widget>
      </item>
-     <item row="4" column="1">
+     <item row="5" column="1">
       <widget class="QRadioButton" name="kcfg_NextLineWithSpace">
        <property name="text">
         <string>Space</string>

--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to