summaryrefslogtreecommitdiffstats
path: root/kgeography/src/flagdivisionasker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kgeography/src/flagdivisionasker.cpp')
-rw-r--r--kgeography/src/flagdivisionasker.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/kgeography/src/flagdivisionasker.cpp b/kgeography/src/flagdivisionasker.cpp
new file mode 100644
index 00000000..365da9ef
--- /dev/null
+++ b/kgeography/src/flagdivisionasker.cpp
@@ -0,0 +1,52 @@
+/***************************************************************************
+ * Copyright (C) 2004-2005 by Albert Astals Cid *
+ * tsdgeos@terra.es *
+ * *
+ * 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. *
+ ***************************************************************************/
+
+#include <klocale.h>
+
+#include <qimage.h>
+#include <qlayout.h>
+#include <qradiobutton.h>
+
+#include "flagdivisionasker.h"
+#include "map.h"
+
+flagDivisionAsker::flagDivisionAsker(QWidget *parent, KGmap *m, QWidget *w, uint count) : boxAsker(parent, m, w, count)
+{
+ p_flag = new QWidget(this);
+ p_lay -> insertWidget(0, p_flag);
+ setQuestion(i18n("This flag belongs to:"));
+ init();
+}
+
+bool flagDivisionAsker::nextBoxAskerQuestionHook(const QString &division, int i, bool isAnswer)
+{
+ if (isAnswer)
+ {
+ // we put the flag image
+ QImage image(p_map -> getDivisionFlagFile(division));
+ p_flag -> setPaletteBackgroundPixmap(image);
+ p_flag -> setFixedSize(image.size());
+
+ p_currentAnswer.setQuestion(image.smoothScale(image.width()/5, image.height()/5));
+ p_currentAnswer.setCorrectAnswer(i18n(p_map -> getFileName().utf8(), division.utf8()));
+ }
+ p_rb[i] -> setText(i18n(p_map -> getFileName().utf8(), division.utf8()));
+ return true;
+}
+
+void flagDivisionAsker::setAnswerHook(int userSays)
+{
+ p_currentAnswer.setAnswer(p_rb[userSays] -> text());
+}
+
+QString flagDivisionAsker::getQuestionHook() const
+{
+ return i18n("Division From Its Flag");
+}