File indexing completed on 2023-05-30 10:45:26

0001 /*
0002     SPDX-FileCopyrightText: 2010 Peter Hedlund <peter.hedlund@kdemail.net>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef KWQQUIZVIEW_H
0007 #define KWQQUIZVIEW_H
0008 
0009 #include <QUrl>
0010 #include <QWidget>
0011 #include <phonon/MediaObject>
0012 #include <phonon/Path>
0013 #include <phonon/AudioOutput>
0014 #include <phonon/Global>
0015 
0016 #include <KActionCollection>
0017 
0018 class KWQQuizModel;
0019 
0020 /**
0021 @author Peter Hedlund
0022 */
0023 
0024 class KWQQuizView : public QWidget
0025 {
0026   Q_OBJECT
0027   public:
0028     explicit KWQQuizView(QWidget *parent, KActionCollection * actionCollection);
0029 
0030     void setQuiz(KWQQuizModel *quiz);
0031     virtual void init() = 0;
0032 
0033   public Q_SLOTS:
0034     virtual void slotCheck() = 0;
0035     virtual void slotApplySettings() = 0;
0036     void slotRepeat();
0037     void slotRestart();
0038     void slotAudioPlay();
0039 
0040   protected:
0041     KWQQuizModel *m_quiz;
0042     KActionCollection *m_actionCollection;
0043 
0044     void audioPlayAnswer();
0045     void audioPlayQuestion();
0046     void audioPlayFile(const QUrl &soundFile, bool);
0047 
0048   private:
0049     class Phonon::MediaObject *m_player;
0050 
0051 };
0052 
0053 #endif // KWQQUIZVIEW_H