1 
2 
3 #ifndef CODECOPTIMIZATIONS_H
4 #define CODECOPTIMIZATIONS_H
5 
6 #include <KDialog>
7 
8 class QRadioButton;
9 
10 
11 /**
12  * @short Shows a message box with suggestions for optimizing the backend order
13  * @author Daniel Faust <hessijames@gmail.com>
14  * @version 1.0
15  */
16 class CodecOptimizations : public KDialog
17 {
18     Q_OBJECT
19 public:
20     struct Optimization {
21         QString codecName;
22         enum Mode {
23             Encode,
24             Decode,
25             ReplayGain
26         } mode;
27         QString currentBackend;
28         QString betterBackend;
29         enum Solution {
30             Fix,
31             Ignore,
32             Undecided
33         } solution;
34     };
35 
36     /** Default Constructor */
37     CodecOptimizations( const QList<Optimization>& optimizationList, QWidget *parent, Qt::WFlags f=0 );
38 
39     /** Default Destructor */
40     ~CodecOptimizations();
41 
42 private:
43     QList<Optimization> optimizationList;
44     QList<QRadioButton*> solutionFixButtons;
45 
46 private slots:
47     void okClicked();
48 
49 signals:
50     void solutions( const QList<CodecOptimizations::Optimization>& solutions );
51 };
52 
53 #endif // CODECOPTIMIZATIONS_H
54