00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef AKONADI_SELFTESTDIALOG_P_H
00021 #define AKONADI_SELFTESTDIALOG_P_H
00022
00023 #include "akonadiprivate_export.h"
00024 #include "ui_selftestdialog.h"
00025
00026 #include <KDialog>
00027 #include <KLocalizedString>
00028
00029 class QStandardItem;
00030 class QStandardItemModel;
00031
00032 namespace Akonadi {
00033
00044 class AKONADI_TESTS_EXPORT SelfTestDialog : public KDialog
00045 {
00046 Q_OBJECT
00047 public:
00053 SelfTestDialog( QWidget *parent = 0 );
00054
00058 void hideIntroduction();
00059
00060 private slots:
00061 void selectionChanged( const QModelIndex &index );
00062 void saveReport();
00063 void copyReport();
00064 void linkActivated( const QString &link );
00065 void runTests();
00066
00067 private:
00068 enum ResultType {
00069 Skip,
00070 Success,
00071 Warning,
00072 Error
00073 };
00074 QStandardItem* report( ResultType type, const KLocalizedString &summary, const KLocalizedString &details );
00075 QVariant serverSetting( const QString &group, const char *key, const QVariant &def ) const;
00076 bool useStandaloneMysqlServer() const;
00077 bool runProcess( const QString &app, const QStringList &args, QString &result ) const;
00078
00079 void testSQLDriver();
00080 void testMySQLServer();
00081 void testMySQLServerLog();
00082 void testMySQLServerConfig();
00083 void testPSQLServer();
00084 void testAkonadiCtl();
00085 void testServerStatus();
00086 void testSearchStatus();
00087 void testProtocolVersion();
00088 void testResources();
00089 void testServerLog();
00090 void testControlLog();
00091 void testRootUser();
00092
00093 QString createReport();
00094
00095 Ui::SelfTestDialog ui;
00096 QStandardItemModel* mTestModel;
00097 };
00098
00099 }
00100
00101 #endif