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