[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