libkdegames/kggzgames
kggzrankingsdialog.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "kggzrankingsdialog.h"
00022
00023 #include <kggzmod/module.h>
00024
00025 #include <KDebug>
00026 #include <KScoreDialog>
00027 #include <KHighscore>
00028
00029 class KGGZRankingsDialogPrivate
00030 {
00031 public:
00032 KGGZRankingsDialogPrivate(KGGZRankingsDialog* qq);
00033
00034 KGGZRankingsDialog* q;
00035
00036 KGGZMod::Module *m_mod;
00037 QWidget *m_parent;
00038
00039
00040 void slotRankings(const KGGZMod::Event& event);
00041 };
00042
00043 KGGZRankingsDialog::KGGZRankingsDialog(QWidget *parent)
00044 : QObject(), d(new KGGZRankingsDialogPrivate(this))
00045 {
00046 d->m_parent = parent;
00047 d->m_mod = KGGZMod::Module::instance();
00048
00049 connect(d->m_mod,
00050 SIGNAL(signalEvent(const KGGZMod::Event&)),
00051 this,
00052 SLOT(slotRankings(const KGGZMod::Event&)));
00053 }
00054
00055 KGGZRankingsDialogPrivate::KGGZRankingsDialogPrivate(KGGZRankingsDialog* qq)
00056 : q(qq)
00057 {
00058 }
00059
00060 KGGZRankingsDialog::~KGGZRankingsDialog()
00061 {
00062 delete d;
00063 }
00064
00065 void KGGZRankingsDialogPrivate::slotRankings(const KGGZMod::Event& event)
00066 {
00067 if(event.type() == KGGZMod::Event::rankings)
00068 {
00069 KHighscore highscore;
00070 highscore.setHighscoreGroup("GGZ");
00071
00072 KGGZMod::RankingsEvent e(event);
00073 for(int i = 0; i < e.count(); i++)
00074 {
00075 QString name = e.name(i);
00076 int score = e.score(i);
00077 kDebug(11004) << "RANKINGS-DIALOG" << name << score;
00078 highscore.writeEntry(i + 1, "Name", name);
00079 highscore.writeEntry(i + 1, "Score", score);
00080 }
00081
00082 KScoreDialog ksdialog(KScoreDialog::Name, m_parent);
00083 ksdialog.setConfigGroup("GGZ");
00084 ksdialog.exec();
00085 }
00086 }
00087
00088 #include "kggzrankingsdialog.moc"