[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/edu/kanagram/src
From: Joshua Keel <joshuakeel () gmail ! com>
Date: 2005-07-28 18:46:24
Message-ID: 1122576384.813504.8958.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 439716 by jkeel:
Add preliminary NewStuff support, make vocab switching work better (forward and \
backward)
M +3 -5 Makefile.am
M +14 -4 kanagram.cpp
M +2 -1 kanagram.h
M +4 -0 kanagram.kcfg
M +34 -9 kanagramgame.cpp
M +3 -0 kanagramgame.h
A newstuff.cpp [License: no copyright]
A newstuff.h [License: no copyright]
A newstuffwidget.ui
--- trunk/playground/edu/kanagram/src/Makefile.am #439715:439716
@@ -2,7 +2,7 @@
INCLUDES = $(all_includes)
# these are the headers for your project
-noinst_HEADERS = kanagram.h kanagramgame.h fontutils.h vocabsettings.h vocabedit.h \
vocabsettingswidget.h vocabeditwidget.h mainsettingswidget.h +noinst_HEADERS = \
kanagram.h kanagramgame.h fontutils.h vocabsettings.h vocabedit.h \
vocabsettingswidget.h vocabeditwidget.h mainsettingswidget.h newstuffwidget.h \
newstuff.h
# let automoc handle all of the meta source files (moc)
METASOURCES = AUTO
@@ -21,10 +21,9 @@
bin_PROGRAMS = kanagram
# the application source, library search path, and link libraries
-kanagram_SOURCES = main.cpp kanagram.cpp kanagramgame.cpp fontutils.cpp \
kanagramsettings.kcfgc mainsettingswidget.ui vocabsettingswidget.ui \
vocabeditwidget.ui vocabsettings.cpp vocabedit.cpp keduvocdocument.cpp \
keduvocexpression.cpp keduvockvtmlreader.cpp keduvockvtmlwriter.cpp leitnerbox.cpp \
leitnersystem.cpp multiplechoice.cpp grammarmanager.cpp leitnersystemview.cpp \
+kanagram_SOURCES = main.cpp kanagram.cpp kanagramgame.cpp fontutils.cpp \
kanagramsettings.kcfgc mainsettingswidget.ui vocabsettingswidget.ui \
vocabeditwidget.ui vocabsettings.cpp vocabedit.cpp keduvocdocument.cpp \
keduvocexpression.cpp keduvockvtmlreader.cpp keduvockvtmlwriter.cpp leitnerbox.cpp \
leitnersystem.cpp multiplechoice.cpp grammarmanager.cpp leitnersystemview.cpp \
newstuffwidget.ui newstuff.cpp kanagram_LDFLAGS = $(KDE_RPATH) $(all_libraries)
-#TODO -libkdeeducore will have to be changed to \
../../libkdeedu/kdeeducore/libkdeeducore.la when kanagram gets in \
kdeedu module
-kanagram_LDADD = $(LIB_KDEUI) -lkio
+kanagram_LDADD = $(LIB_KDEUI) $(LIB_KNEWSTUFF) $(LIB_KIO)
kde_kcfg_DATA=kanagram.kcfg
@@ -36,4 +35,3 @@
# TODO does this app need an ui.rc ? If it does put it here
# shellrcdir = $(kde_datadir)/kanagram
# shellrc_DATA = kanagramui.rc
-
--- trunk/playground/edu/kanagram/src/kanagram.cpp #439715:439716
@@ -41,14 +41,14 @@
#include <kconfigdialog.h>
#include <kconfigskeleton.h>
#include <krandomsequence.h>
-#include <knewstuff/downloaddialog.h>
-#include <knewstuff/knewstuff.h>
+#include <kdebug.h>
#include "kanagram.h"
#include "fontutils.h"
#include "kanagramsettings.h"
#include "mainsettingswidget.h"
#include "vocabsettings.h"
+#include "newstuff.h"
Kanagram::Kanagram() : QWidget(0, 0, WStaticContents | WNoAutoErase), \
m_overNewWord(false), m_overSettings(false), m_overHelp(false), m_overQuit(false), \
m_overReveal(false), m_overHint(false), m_overTry(false), m_showHint(false) @@ -100,6 \
+100,8 @@ f.setPointSize(17);
m_inputBox->setFont(f);
m_inputBox->show();
+
+ m_buttonFont = KGlobalSettings::generalFont();
}
Kanagram::~Kanagram()
@@ -125,6 +127,8 @@
m_blackboardFont = KGlobalSettings::generalFont();
else
m_blackboardFont = QFont("squeaky chalk sound");
+
+ m_defaultVocab = KanagramSettings::defaultVocab();
}
void Kanagram::paintEvent(QPaintEvent *)
@@ -142,7 +146,7 @@
drawText(p, i18n("Quit"), QPoint(543, 391), false, 0, 0, 0, m_overQuit, true, \
m_font, m_fontColor, m_fontHighlightColor); drawText(p, i18n("reveal word"), \
QPoint(336, 353), false, 0, 0, 0, m_overReveal, true, m_blackboardFont, m_chalkColor, \
m_chalkHighlightColor, 14); drawText(p, i18n("hint"), QPoint(70, 353), false, 0, 0, \
0, m_overHint, true, m_blackboardFont, m_chalkColor, \
m_chalkHighlightColor, 14);
- drawText(p, i18n("Try"), QPoint(369, 442), true, 10, 5, &m_tryRect, m_overTry, \
true, m_font, QColor(126, 126, 126), m_chalkHighlightColor); + drawText(p, \
i18n("Try"), QPoint(369, 442), true, 10, 5, &m_tryRect, m_overTry, true, \
m_buttonFont, QColor(126, 126, 126), m_chalkHighlightColor);
drawSwitcherText(p, m_game.getDocTitle());
if(m_overSwitcher)
@@ -255,8 +259,13 @@
if(m_switcherRect.contains(e->pos()) || m_arrowRect.contains(e->pos()))
{
- m_game.nextVocab();
+ if(!(e->button() == RightButton))
+ m_game.nextVocab();
+ else
+ m_game.previousVocab();
m_game.nextAnagram();
+ KanagramSettings::setDefaultVocab(m_game.getFilename());
+ KanagramSettings::writeConfig();
update();
}
@@ -531,6 +540,7 @@
m_configDialog = new KConfigDialog( this, "settings", KanagramSettings::self() );
m_configDialog->addPage( new MainSettingsWidget( m_configDialog ), i18n( "Settings" \
), "configure" ); m_configDialog->addPage( new VocabSettings( m_configDialog ), \
i18n("Vocabularies"), "edit" ); + m_configDialog->addPage( new NewStuff( \
m_configDialog ), i18n("New Stuff"), "new"); connect(m_configDialog, \
SIGNAL(settingsChanged()), this, SLOT(loadSettings())); m_configDialog->show();
}
--- trunk/playground/edu/kanagram/src/kanagram.h #439715:439716
@@ -83,8 +83,9 @@
//Values for settings
int m_hintHideTime;
bool m_useSounds, m_standardBlackboardFonts, m_standardInterfaceFonts;
+ QString m_defaultVocab;
- QFont m_font, m_blackboardFont;
+ QFont m_font, m_blackboardFont, m_buttonFont;
KHelpMenu *m_helpMenu;
--- trunk/playground/edu/kanagram/src/kanagram.kcfg #439715:439716
@@ -16,5 +16,9 @@
<label>Uses a standard font for the blackboard</label>
<default>false</default>
</entry>
+<entry name="defaultVocab" type="Path">
+ <label>Set the default vocabulary</label>
+ <default>/usr/share/apps/kanagram/data/objects.kvtml</default>
+</entry>
</group>
</kcfgfile>
--- trunk/playground/edu/kanagram/src/kanagramgame.cpp #439715:439716
@@ -29,9 +29,12 @@
#include "kanagramsettings.h"
-KanagramGame::KanagramGame()
+KanagramGame::KanagramGame() : m_index(0)
{
- nextVocab();
+ //m_fileList.append(KanagramSettings::defaultVocab());
+ //KEduVocDocument *doc = new KEduVocDocument(this);
+ //doc->open(KURL(locate("appdata", m_fileList[m_index])), false);
+ //m_docTitle = doc->getTitle();
nextAnagram();
}
@@ -39,10 +42,22 @@
{
}
+void KanagramGame::previousVocab()
+{
+ m_index--;
+ m_fileList = KGlobal::dirs()->findAllResources("appdata", "data/*.kvtml");
+ if(m_index < 0)
+ m_index = m_fileList.size() - 1;
+ KEduVocDocument *doc = new KEduVocDocument(this);
+ doc->open(KURL(locate("appdata", m_fileList[m_index])), false);
+ m_docTitle = doc->getTitle();
+}
+
void KanagramGame::nextVocab()
{
+ if(!m_fileList.empty())
+ m_index++;
m_fileList = KGlobal::dirs()->findAllResources("appdata", "data/*.kvtml");
- m_index++;
if(m_index >= m_fileList.size())
m_index = 0;
KEduVocDocument *doc = new KEduVocDocument(this);
@@ -55,16 +70,26 @@
return m_docTitle;
}
+QString KanagramGame::getFilename()
+{
+ if(m_fileList.empty())
+ return m_filename;
+ else
+ return m_fileList[m_index];
+}
+
void KanagramGame::nextAnagram()
{
- //TODO: Fix this so that it doesn't load the list every time
- //Make sure that no word gets repeated twice
-
KEduVocDocument *doc = new KEduVocDocument(this);
- doc->open(KURL(locate("appdata", m_fileList[m_index])), false);
- kdDebug() << m_fileList[m_index] << endl;
+ if(m_fileList.empty())
+ {
+ doc->open(KURL(KanagramSettings::defaultVocab()), false);
+ m_docTitle = doc->getTitle();
+ m_filename = KanagramSettings::defaultVocab();
+ }
+ else
+ doc->open(KURL(locate("appdata", m_fileList[m_index])), false);
int totalWords = doc->numEntries();
- kdDebug() << "Number of entries:" << totalWords << endl;
int wordNumber = m_random.getLong(totalWords);
while(m_anagram == doc->getEntry(wordNumber)->getOriginal())
{
--- trunk/playground/edu/kanagram/src/kanagramgame.h #439715:439716
@@ -34,11 +34,13 @@
~KanagramGame();
void nextAnagram();
void nextVocab();
+ void previousVocab();
QString getAnagram();
QString getHint();
QString getWord();
void restoreWord();
QString getDocTitle();
+ QString getFilename();
private:
QString createAnagram(QString original);
KRandomSequence m_random;
@@ -49,6 +51,7 @@
int m_index;
QStringList m_fileList;
QString m_docTitle;
+ QString m_filename;
};
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic