[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-edu-devel
Subject:    [kde-edu-devel] Another patch for flashKard
From:       cfaun <cfaun () rcn ! com>
Date:       2002-04-21 18:41:02
[Download RAW message or body]

It is attached
["flashkard-patch.diff" (text/x-diff)]

Index: flashkard/flashkard.kdevprj
===================================================================
RCS file: /home/kde/kdeedu/flashkard/flashkard.kdevprj,v
retrieving revision 1.1
diff -u -3 -p -r1.1 flashkard.kdevprj
--- flashkard/flashkard.kdevprj	11 Apr 2002 07:29:42 -0000	1.1
+++ flashkard/flashkard.kdevprj	21 Apr 2002 18:30:57 -0000
@@ -26,7 +26,7 @@ ldadd=\s$(LIB_KFILE) $(LIB_KDEUI) $(LIB_
 ldflags=\s\s
 
 [General]
-AMChanged=true
+AMChanged=false
 author=Scott Wheeler
 configure_args=\s--build=i386-linux --host=i386-linux --target=i386-linux\s
 email=scott@slackorama.net
Index: flashkard/flashkard.kdevses
===================================================================
RCS file: /home/kde/kdeedu/flashkard/flashkard.kdevses,v
retrieving revision 1.1
diff -u -3 -p -r1.1 flashkard.kdevses
--- flashkard/flashkard.kdevses	11 Apr 2002 07:29:42 -0000	1.1
+++ flashkard/flashkard.kdevses	21 Apr 2002 18:30:57 -0000
@@ -3,5 +3,21 @@
 <KDevPrjSession>
  <LastCompileConfig>(Default)</LastCompileConfig>
  <Mainframe MaximizeMode="1" />
- <DocsAndViews NumberOfDocuments="0" />
+ <DocsAndViews NumberOfDocuments="5" >
+  <Doc0 CursorPosLine="28" Type="KWriteDoc" NumberOfViews="1" CursorPosCol="0" \
FileName="/home/cfaun/kdeedu/flashkard/flashkard/guesswidget.h" > +   <View0 Top="24" \
Width="400" Attach="1" Height="300" Left="3" Focus="0" Type="KWriteView" \
MinMaxMode="0" /> +  </Doc0>
+  <Doc1 CursorPosLine="30" Type="KWriteDoc" NumberOfViews="1" CursorPosCol="0" \
FileName="/home/cfaun/kdeedu/flashkard/flashkard/guesswidget.cpp" > +   <View0 \
Top="46" Width="758" Attach="1" Height="410" Left="25" Focus="0" Type="KWriteView" \
MinMaxMode="0" /> +  </Doc1>
+  <Doc2 CursorPosLine="27" Type="KWriteDoc" NumberOfViews="1" CursorPosCol="0" \
FileName="/home/cfaun/kdeedu/flashkard/flashkard/quizwidget.h" > +   <View0 Top="68" \
Width="758" Attach="1" Height="410" Left="47" Focus="0" Type="KWriteView" \
MinMaxMode="0" /> +  </Doc2>
+  <Doc3 CursorPosLine="106" Type="KWriteDoc" NumberOfViews="1" CursorPosCol="46" \
FileName="/home/cfaun/kdeedu/flashkard/flashkard/quizwidget.cpp" > +   <View0 \
Top="66" Width="764" Attach="1" Height="437" Left="66" Focus="1" Type="KWriteView" \
MinMaxMode="2" /> +  </Doc3>
+  <Doc4 CursorPosLine="23" Type="KWriteDoc" NumberOfViews="1" CursorPosCol="0" \
FileName="/home/cfaun/kdeedu/flashkard/flashkard/xmlparser.h" > +   <View0 Top="112" \
Width="758" Attach="1" Height="410" Left="91" Focus="0" Type="KWriteView" \
MinMaxMode="0" /> +  </Doc4>
+ </DocsAndViews>
 </KDevPrjSession>
Index: flashkard/flashkard/flashkard.cpp
===================================================================
RCS file: /home/kde/kdeedu/flashkard/flashkard/flashkard.cpp,v
retrieving revision 1.7
diff -u -3 -p -r1.7 flashkard.cpp
--- flashkard/flashkard/flashkard.cpp	20 Apr 2002 03:33:08 -0000	1.7
+++ flashkard/flashkard/flashkard.cpp	21 Apr 2002 18:30:58 -0000
@@ -236,6 +236,8 @@ void FlashKard::fileSave()
 void FlashKard::fileSaveAs()
 {
   fileName = KFileDialog::getSaveFileName(QString::null, fileMask, this, \
QString::null); +  if(fileName.find(".kvml") == -1)
+    fileName += ".kvml";
   if(!fileName.isEmpty())
     fileSave();
 }
Index: flashkard/flashkard/guesswidget.cpp
===================================================================
RCS file: /home/kde/kdeedu/flashkard/flashkard/guesswidget.cpp,v
retrieving revision 1.5
diff -u -3 -p -r1.5 guesswidget.cpp
--- flashkard/flashkard/guesswidget.cpp	20 Apr 2002 03:33:08 -0000	1.5
+++ flashkard/flashkard/guesswidget.cpp	21 Apr 2002 18:30:58 -0000
@@ -33,6 +33,7 @@ GuessWidget::GuessWidget(KStatusBar *sta
 {
   random = randomQuiz;
   answer = QString::null;
+  numCorrect = 0;
 
   showFeedbackLabel();
   setupLayout();
@@ -112,13 +113,15 @@ void GuessWidget::checkAnswer()
 {
   if(guessLineEdit->text() == answer) {
     setFeedbackMessage(i18n("Correct!"));
-    getCard(random);
-    guessLineEdit->setFocus();
+    numCorrect++;
   }
-  else {
-    setFeedbackMessage(i18n("Incorrect."));    
+  else
+    setFeedbackMessage(i18n("Incorrect."));
+
+    getCard(random, numCorrect);
+    if (last == true)
+      numCorrect = 0;
     guessLineEdit->setFocus();
-  }
 }
 
 void GuessWidget::showAnswer()
Index: flashkard/flashkard/guesswidget.h
===================================================================
RCS file: /home/kde/kdeedu/flashkard/flashkard/guesswidget.h,v
retrieving revision 1.2
diff -u -3 -p -r1.2 guesswidget.h
--- flashkard/flashkard/guesswidget.h	19 Apr 2002 09:51:29 -0000	1.2
+++ flashkard/flashkard/guesswidget.h	21 Apr 2002 18:30:58 -0000
@@ -41,6 +41,7 @@ private:
   virtual void showCard(Card card);
   
   bool random;
+  int numCorrect;
   QString answer;
   QLabel *cardLabel;
   KLineEdit *guessLineEdit;
Index: flashkard/flashkard/quizwidget.cpp
===================================================================
RCS file: /home/kde/kdeedu/flashkard/flashkard/quizwidget.cpp,v
retrieving revision 1.5
diff -u -3 -p -r1.5 quizwidget.cpp
--- flashkard/flashkard/quizwidget.cpp	20 Apr 2002 03:33:08 -0000	1.5
+++ flashkard/flashkard/quizwidget.cpp	21 Apr 2002 18:30:58 -0000
@@ -42,6 +42,7 @@ QuizWidget::QuizWidget(KStatusBar *statu
 
   progressBar = 0;
   feedbackLabel = 0;
+  last = false;
 
   setupLayout();
 }
@@ -93,12 +94,28 @@ QFont QuizWidget::labelFont()
   return(font);
 }
 
-Card QuizWidget::getCard(bool random)
+Card QuizWidget::getCard(bool random, int numCorrect)
 {
+  if(numCorrect !=-1)
+    last = false;
   if(!completeCardList->isEmpty()) {
     if(remainingCardList.isEmpty()) {
-      KMessageBox::information( this, i18n("Restarting the deck."), \
                i18n("FlashKard"));
-      remainingCardList = *completeCardList;
+      if(numCorrect != -1) {
+        progressBar->setValue(100);
+        last = true;
+        int perNum = 100*(numCorrect/completeCardList->count());
+        int total = completeCardList->count();
+        QString perStr;
+        perStr.sprintf("The percentage you got correct was %d%%.", perNum);
+        KMessageBox::information(this, i18n("Restarting the deck.") + perStr);
+        remainingCardList = *completeCardList;
+      }
+      else
+      {
+          progressBar->setValue(100);
+          KMessageBox::information( this, i18n("Restarting the deck."), \
i18n("FlashKard")); +          remainingCardList = *completeCardList;
+      }
     }
     
     int cardNumber;
@@ -113,7 +130,7 @@ Card QuizWidget::getCard(bool random)
     showCard(card);
 
     if(completeCardList->count() > 0)
-      progressBar->setValue(int(100.0 * (1.0 - float(remainingCardList.count()) / \
float(completeCardList->count() - 1)) + .5)); +      progressBar->setValue(int(100.0 \
* (float((completeCardList->count()-1)-remainingCardList.count()) / \
float(completeCardList->count()))));  
     return(card);
   }
Index: flashkard/flashkard/quizwidget.h
===================================================================
RCS file: /home/kde/kdeedu/flashkard/flashkard/quizwidget.h,v
retrieving revision 1.3
diff -u -3 -p -r1.3 quizwidget.h
--- flashkard/flashkard/quizwidget.h	20 Apr 2002 03:33:08 -0000	1.3
+++ flashkard/flashkard/quizwidget.h	21 Apr 2002 18:30:58 -0000
@@ -39,13 +39,14 @@ public: 
   virtual bool hasSelectedText() = 0;
 
 public slots:
-  Card getCard(bool random = true);
+  Card getCard(bool random = true, int numCorrect = -1);
 
 protected:
   void setFeedbackMessage(const QString message);
   void showFeedbackLabel(bool show = true);
   QFont labelFont();
   QBoxLayout *layout();
+  bool last;
   bool eventFilter(QObject *object, QEvent *event);
 
 private:


_______________________________________________
kde-edu-devel mailing list
kde-edu-devel@mail.kde.org
http://mail.kde.org/mailman/listinfo/kde-edu-devel

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic