[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeedu/kgeography
From: Laurent Garnier <lauranger () free ! fr>
Date: 2009-10-15 20:17:51
Message-ID: 1255637871.509278.5769.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1035761 by lauranger:
Adding optional tags for (english) question patterns and titles to kgm format, to \
give answer to bug 209889
M +4 -0 data/world_continents.kgm
M +3 -2 src/capitaldivisionasker.cpp
M +2 -2 src/divisioncapitalasker.cpp
M +2 -2 src/kgeography.cpp
M +42 -0 src/map.cpp
M +12 -0 src/map.h
M +44 -1 src/mapparser.cpp
M +4 -0 src/mapsdatatranslation.cpp
M +1 -1 src/placeasker.cpp
M +16 -0 src/script.cpp
--- trunk/KDE/kdeedu/kgeography/data/world_continents.kgm #1035760:1035761
@@ -2,6 +2,10 @@
<mapFile>world_continents.png</mapFile>
<name>World continents (from North Pole)</name>
<divisionsName>Continents</divisionsName>
+ <divisionToCapitalPattern>What is the highest summit of %1 \
?</divisionToCapitalPattern> + <divisionToCapitalTitle>Continents by highest \
summit</divisionToCapitalTitle> + <capitalToDivisionPattern>Which has %1 as highest \
summit ?</capitalToDivisionPattern> + <capitalToDivisionTitle>Highest summit of \
continents</capitalToDivisionTitle> <author>Laurent Garnier</author>
<division>
<name>Frontier</name>
--- trunk/KDE/kdeedu/kgeography/src/capitaldivisionasker.cpp #1035760:1035761
@@ -31,7 +31,7 @@
p_currentAnswer.setCorrectAnswer(i18nc("@option:radio <City> is the capital \
of...", "%1", i18nc(p_map -> getFileName().toUtf8(), division.toUtf8())));
QString capitalName = i18nc(p_map -> getFileName().toUtf8(), p_capital.toUtf8());
- setQuestion(i18nc("@title:group", "%1 is the capital of...", capitalName));
+ setQuestion(i18nc("@title:group", \
p_map->getCapitalToDivisionQuestionPattern().toUtf8(), capitalName)); p_rb[i] -> \
setText(i18nc("@option:radio <City> is the capital of...", "%1", i18nc(p_map -> \
getFileName().toUtf8(), division.toUtf8()))); b = true;
}
@@ -62,5 +62,6 @@
QString capitalDivisionAsker::getQuestionHook() const
{
QString divisionType = i18nc(p_map -> getFileName().toUtf8(), \
p_map->getDivisionsString().toUtf8());
- return i18nc("@title", "%1 by Capital", divisionType);
+ return i18nc("@title", p_map->getCapitalToDivisionTitle().toUtf8());
+ //return i18nc("@title", p_map->getCapitalToDivisionTitle().toUtf8(), \
divisionType); }
--- trunk/KDE/kdeedu/kgeography/src/divisioncapitalasker.cpp #1035760:1035761
@@ -28,7 +28,7 @@
if (isAnswer)
{
QString divisionName = i18nc(p_map -> getFileName().toUtf8(), division.toUtf8());
- setQuestion(i18nc("@title:group", "The capital of %1 is...", divisionName));
+ setQuestion(i18nc("@title:group", \
p_map->getDivisionToCapitalQuestionPattern().toUtf8(), divisionName)); \
p_currentAnswer.setQuestion(i18nc("@item:intable column Question, %1 is region name", \
"%1", i18nc(p_map -> getFileName().toUtf8(), division.toUtf8()))); p_capital = p_map \
-> getDivisionCapital(division); \
p_currentAnswer.setCorrectAnswer(i18nc("@option:radio The capital of <Region> is...", \
"%1", i18nc(p_map -> getFileName().toUtf8(), p_capital.toUtf8()))); @@ -78,5 +78,5 @@
QString divisionCapitalAsker::getQuestionHook() const
{
QString divisionType = i18nc(p_map -> getFileName().toUtf8(), \
p_map->getDivisionsString().toUtf8());
- return i18nc("@title", "Capital of %1", divisionType);
+ return i18nc("@title", p_map->getDivisionToCapitalTitle().toUtf8());
}
--- trunk/KDE/kdeedu/kgeography/src/kgeography.cpp #1035760:1035761
@@ -379,8 +379,8 @@
p_askMap->setText(i18n("&Location of %1", divisionType));
p_askPlaceMap->setText(i18n("&Place %1 in the Map", divisionType));
- p_askCapitalDivisions->setText(i18n("%1 by Capital", divisionType));
- p_askDivisionCapitals->setText(i18n("&Capitals of %1", divisionType));
+ p_askCapitalDivisions->setText(i18nc("@title", \
p_map->getCapitalToDivisionTitle().toUtf8())); \
+ p_askDivisionCapitals->setText(i18nc("@title", \
p_map->getDivisionToCapitalTitle().toUtf8())); p_askFlagDivisions->setText(i18n("%1 \
by Flag", divisionType)); p_askDivisionFlags->setText(i18n("&Flags of %1", \
divisionType));
--- trunk/KDE/kdeedu/kgeography/src/map.cpp #1035760:1035761
@@ -22,6 +22,8 @@
KGmap::KGmap()
{
+ p_capitalToDivisionPattern = "%1 is the capital of...";
+ p_divisionToCapitalPattern = "The capital of %1 is...";
}
KGmap::~KGmap()
@@ -68,6 +70,26 @@
p_author = s;
}
+void KGmap::setCapitalToDivisionQuestionPattern(const QString &str)
+{
+ p_capitalToDivisionPattern = str;
+}
+
+void KGmap::setDivisionToCapitalQuestionPattern(const QString &str)
+{
+ p_divisionToCapitalPattern = str;
+}
+
+void KGmap::setCapitalToDivisionTitle(const QString &str)
+{
+ p_capitalToDivisionTitle = str;
+}
+
+void KGmap::setDivisionToCapitalTitle(const QString &str)
+{
+ p_divisionToCapitalTitle = str;
+}
+
uint KGmap::count(division::askMode am) const
{
uint count = 0;
@@ -93,6 +115,26 @@
return getDivision(divisionName) -> getFalseCapitals();
}
+QString KGmap::getCapitalToDivisionQuestionPattern() const
+{
+ return p_capitalToDivisionPattern;
+}
+
+QString KGmap::getDivisionToCapitalQuestionPattern() const
+{
+ return p_divisionToCapitalPattern;
+}
+
+QString KGmap::getCapitalToDivisionTitle() const
+{
+ return p_capitalToDivisionTitle;
+}
+
+QString KGmap::getDivisionToCapitalTitle() const
+{
+ return p_divisionToCapitalTitle;
+}
+
QString KGmap::getFile() const
{
return p_file;
--- trunk/KDE/kdeedu/kgeography/src/map.h #1035760:1035761
@@ -29,6 +29,10 @@
void setName(const QString &s);
void setDivisionsString(const QString &s);
void setAuthor(const QString &s);
+ void setCapitalToDivisionQuestionPattern(const QString &str);
+ void setDivisionToCapitalQuestionPattern(const QString &str);
+ void setCapitalToDivisionTitle(const QString &str);
+ void setDivisionToCapitalTitle(const QString &str);
// return the number of askable divisions
uint count(division::askMode am) const;
@@ -46,6 +50,10 @@
QString getAuthor() const;
QColor getColor(const QString &s) const;
const QList<division*> getIgnoredDivisions(division::askMode am) const;
+ QString getCapitalToDivisionQuestionPattern() const;
+ QString getDivisionToCapitalQuestionPattern() const;
+ QString getCapitalToDivisionTitle() const;
+ QString getDivisionToCapitalTitle() const;
private:
division *getDivision(const QString &divisionName) const;
@@ -55,6 +63,10 @@
QString p_name, p_file, p_mapFile;
QString p_divisionsString;
+ QString p_capitalToDivisionPattern;
+ QString p_divisionToCapitalPattern;
+ QString p_capitalToDivisionTitle;
+ QString p_divisionToCapitalTitle;
QString p_author;
};
--- trunk/KDE/kdeedu/kgeography/src/mapparser.cpp #1035760:1035761
@@ -14,6 +14,7 @@
#include <QFileInfo>
#include <klocale.h>
+#include <kdebug.h>
#include "division.h"
#include "map.h"
@@ -49,7 +50,49 @@
}
// Divisions string
- kgmap -> setDivisionsString( getElementString("divisionsName", root, Mandatory) \
); + QString divisionKindName = getElementString("divisionsName", root, \
Mandatory); + kgmap -> setDivisionsString(divisionKindName);
+
+ QString pat = getElementString("capitalToDivisionPattern", root, Optional);
+ if ( pat.contains('%') )
+ {
+ kgmap->setCapitalToDivisionQuestionPattern(pat);
+ }
+ else if ( ! pat.isEmpty() )
+ {
+ kDebug() << "capitalToDivisionPattern element should contain one '%%' in map " \
<< kgmap->getName(); + }
+
+ pat = getElementString("divisionToCapitalPattern", root, Optional);
+ if ( pat.contains('%') )
+ {
+ kgmap->setDivisionToCapitalQuestionPattern(pat);
+ }
+ else if ( ! pat.isEmpty() )
+ {
+ kDebug() << "divisionToCapitalPattern element should contain one '%%' in map " \
<< kgmap->getName(); + }
+
+ QString title = getElementString("capitalToDivisionTitle", root, Optional);
+ if ( ! title.isEmpty() )
+ {
+ kgmap->setCapitalToDivisionTitle(title);
+ }
+ else
+ {
+ kgmap->setCapitalToDivisionTitle(i18n("%1 by Capital", divisionKindName));
+ }
+
+ title = getElementString("divisionToCapitalTitle", root, Optional);
+ if ( ! title.isEmpty() )
+ {
+ kgmap->setDivisionToCapitalTitle(title);
+ }
+ else
+ {
+ kgmap->setDivisionToCapitalTitle(i18n("&Capitals of %1", divisionKindName));
+ }
+
// Author string
kgmap -> setAuthor( getElementString("author", root, Mandatory) );
--- trunk/KDE/kdeedu/kgeography/src/mapsdatatranslation.cpp #1035760:1035761
@@ -6802,6 +6802,10 @@
i18nc("world.kgm", "Nuuk");
i18nc("world_continents.kgm", "World continents (from North Pole)");
i18nc("world_continents.kgm", "Continents");
+i18nc("@title:group", "What is the highest summit of %1 ?");
+i18nc("@title", "Continents by highest summit");
+i18nc("@title:group", "Which has %1 as highest summit ?");
+i18nc("@title", "Highest summit of continents");
i18nc("world_continents.kgm", "Frontier");
i18nc("world_continents.kgm", "Water");
i18nc("world_continents.kgm", "Africa");
--- trunk/KDE/kdeedu/kgeography/src/placeasker.cpp #1035760:1035761
@@ -179,7 +179,7 @@
for (int y = minY; y < maxY; y++)
{
if (p_mapImage->pixel(x,y) == divColor)
- p_currentDivisionImage->setPixel(x - minX, y - minY, p_mapImage->pixel(x,y));
+ p_currentDivisionImage->setPixel(x - minX, y - minY, divColor);
}
}
}
--- trunk/KDE/kdeedu/kgeography/src/script.cpp #1035760:1035761
@@ -83,6 +83,22 @@
{
os << "i18nc(\"" << *it << "\", \"" << n.firstChild().nodeValue() << "\");\n";
}
+ else if (n.nodeName() == "divisionToCapitalPattern")
+ {
+ os << "i18nc(\"@title:group\", \"" << n.firstChild().nodeValue() << "\");\n";
+ }
+ else if (n.nodeName() == "capitalToDivisionPattern")
+ {
+ os << "i18nc(\"@title:group\", \"" << n.firstChild().nodeValue() << "\");\n";
+ }
+ else if (n.nodeName() == "divisionToCapitalTitle")
+ {
+ os << "i18nc(\"@title\", \"" << n.firstChild().nodeValue() << "\");\n";
+ }
+ else if (n.nodeName() == "capitalToDivisionTitle")
+ {
+ os << "i18nc(\"@title\", \"" << n.firstChild().nodeValue() << "\");\n";
+ }
}
f -> close();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic