[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeedu/ktouch
From: Andreas Nicolai <Andreas.Nicolai () gmx ! net>
Date: 2007-06-10 13:24:04
Message-ID: 1181481844.834876.21171.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 673530 by ghorwin:
Build file update. Keyboard list in main menu switched to xml keyboards.
M +1 -0 keyboards/CMakeLists.txt
M +5 -4 keyboards/de.keyboard.xml
M +0 -1 src/CMakeLists.txt
M +44 -13 src/ktouch.cpp
--- trunk/KDE/kdeedu/ktouch/keyboards/CMakeLists.txt #673529:673530
@@ -5,6 +5,7 @@
########### install files ###############
install( FILES
+ de.keyboard.xml
be.keyboard
bg.keyboard
cz.keyboard
--- trunk/KDE/kdeedu/ktouch/keyboards/de.keyboard.xml #673529:673530
@@ -1,6 +1,7 @@
<KTouchKeyboard>
- <Title>de.keyboard</Title>
- <Language>de (German)</Language>
+ <Title>German</Title>
+ <FontSuggestions>Sans Serif,9,-1,5,50,0,0,0,0,0</FontSuggestions>
+ <Language>de</Language>
<Keys>
<Key Width="80" X="180" Y="200" Height="80" Type="FINGER" >
<Char Unicode="65" Position="TopLeft" >A</Char>
@@ -29,11 +30,11 @@
<Key Width="130" X="0" Y="100" Height="80" Type="TAB" />
<Key Width="100" X="1380" Y="100" Height="180" Type="ENTER" />
<Key Width="250" X="1230" Y="300" Height="80" Type="SHIFT" />
- <Key Width="130" X="1200" KeyText="Alt Gr" Y="400" Height="80" Type="OTHER" />
+ <Key Width="180" X="1150" KeyText="Alt Gr" Y="400" Height="80" Type="OTHER" />
<Key Width="130" X="1350" KeyText="Strg" Y="400" Height="80" Type="OTHER" />
<Key Width="130" X="150" KeyText="Alt" Y="400" Height="80" Type="OTHER" />
<Key Width="130" X="0" KeyText="Strg" Y="400" Height="80" Type="OTHER" />
- <Key Width="880" X="300" Y="400" Height="80" Type="SPACE" />
+ <Key Width="830" X="300" Y="400" Height="80" Type="SPACE" />
<Key Width="110" X="0" Y="300" Height="80" Type="SHIFT" />
<Key Width="160" X="0" Y="200" Height="80" Type="CAPSLOCK" />
<Key Width="180" X="1300" Y="0" Height="80" Type="BACKSPACE" />
--- trunk/KDE/kdeedu/ktouch/src/CMakeLists.txt #673529:673530
@@ -32,7 +32,6 @@
ktouchkeyboardwidget.cpp
ktouchkeyconnector.cpp
ktouchkey.cpp
- ktouchkeys.cpp
ktouchlecture.cpp
ktouchleveldata.cpp
ktouchtextlinewidget.cpp
--- trunk/KDE/kdeedu/ktouch/src/ktouch.cpp #673529:673530
@@ -13,6 +13,9 @@
#include "ktouch.h"
#include "ktouch.moc"
+// Qt Header
+#include <QtXml>
+
// KDE Header
#include <kselectaction.h>
#include <kactioncollection.h>
@@ -732,24 +735,50 @@
// This function populates the file lists with the installed training, keyboard and
// examination files.
void KTouch::updateFileLists() {
+ // first search for all installed new format keyboard files
KStandardDirs *dirs = KGlobal::dirs();
+ m_keyboardFiles = dirs->findAllResources("data","ktouch/*.keyboard.xml");
- // first search for all installed keyboard files
- // TODO : search in i18n() directories
- m_keyboardFiles = dirs->findAllResources("data","ktouch/*.keyboard");
-
- // remove the number layout, since this is the necessary default layout and will be
- // added anyway
- int index = m_keyboardFiles.indexOf("number.keyboard");
- if (index != -1) m_keyboardFiles.removeAt(index);
-
+ // extract titles from keyboard files and store them in the
+ // m_keyboardTitles string list
m_keyboardTitles.clear();
for (QStringList::const_iterator cit = m_keyboardFiles.constBegin();
cit != m_keyboardFiles.constEnd(); ++cit)
{
- // extract titles from keyboard files and store them in the
- // m_keyboardTitles string list
+ KUrl url = (*cit);
+ kDebug() << url << endl;
+ QString target;
+ // try to read language code and keyboard name from file
+ if (!KIO::NetAccess::download(url, target, this)) continue;
+ // Ok, that was successful, store the lectureURL and read the file
+ QFile infile(target);
+ if ( !infile.open( QIODevice::ReadOnly ) ) continue;
+ QDomDocument doc;
+ doc.setContent( &infile );
+ QDomElement root = doc.documentElement();
+ if (root.isNull() || root.tagName() != "KTouchKeyboard") continue;
+
+ // get the title
+ QString title;
+ QDomElement e = root.firstChildElement("Title");
+ if (!e.isNull()) title = e.firstChild().nodeValue();
+ else title = i18n("untitled keyboard layout");
+ QString langid;
+ // retrieve the language id
+ e = root.firstChildElement("Language");
+ if (!e.isNull()) langid = e.firstChild().nodeValue();
+ // compose title for main menu
+ if (!langid.isEmpty())
+ title = QString("%1 (%2)").arg(title).arg(langid);
+ m_keyboardTitles.append( title );
+ kDebug() << m_keyboardTitles.back() << endl;
+ }
+/*
+ for (QStringList::const_iterator cit = m_keyboardFiles.constBegin();
+ cit != m_keyboardFiles.constEnd(); ++cit)
+ {
+
// get the filename alone
QString fname = KUrl(*cit).fileName();
// get the filename without the .keyboard
@@ -768,13 +797,15 @@
m_keyboardTitles.append( lang_name );
// kDebug() << m_keyboardTitles.back() << endl;
}
+*/
// now sort the files and titles accordingly
sort_lists(m_keyboardTitles, m_keyboardFiles);
// and add the number keypad to the front
- m_keyboardFiles.push_front("number.keyboard");
- m_keyboardTitles.push_front(i18n("Keypad/Number block"));
+// m_keyboardFiles.push_front("number.keyboard");
+// m_keyboardTitles.push_front(i18n("Keypad/Number block"));
+
// Now lets find the lecture files.
// TODO : search in i18n() directories
QStringList lectureFiles = dirs->findAllResources("data","ktouch/*.ktouch.xml");
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic