From kde-commits Mon Jul 20 14:15:00 2009 From: Javier Goday Date: Mon, 20 Jul 2009 14:15:00 +0000 To: kde-commits Subject: KDE/kdepimlibs/akonadi Message-Id: <1248099300.519007.13322.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=124809931111341 SVN commit 999859 by jgoday: Postgresql error details in akonadi selftestdialog M +36 -3 selftestdialog.cpp M +1 -0 selftestdialog_p.h --- trunk/KDE/kdepimlibs/akonadi/selftestdialog.cpp #999858:999859 @@ -41,6 +41,7 @@ #include #include #include +#include // @cond PRIVATE @@ -131,10 +132,16 @@ void SelfTestDialog::runTests() { + const QString driver = serverSetting( QLatin1String("General"), "Driver", QLatin1String("QMYSQL") ).toString(); testSQLDriver(); - testMySQLServer(); - testMySQLServerLog(); - testMySQLServerConfig(); + if (driver == QLatin1String( "QPSQL" )) { + testPSQLServer(); + } + else { + testMySQLServer(); + testMySQLServerLog(); + testMySQLServerConfig(); + } testAkonadiCtl(); testServerStatus(); testProtocolVersion(); @@ -329,6 +336,32 @@ } } +void SelfTestDialog::testPSQLServer() +{ + const QString dbname = serverSetting( QLatin1String( "QPSQL" ), "Name", QLatin1String( "akonadi" )).toString(); + const QString hostname = serverSetting( QLatin1String( "QPSQL" ), "Host", QLatin1String( "localhost" )).toString(); + const QString username = serverSetting( QLatin1String( "QPSQL" ), "User", QLatin1String( "akonadi" )).toString(); + const QString password = serverSetting( QLatin1String( "QPSQL" ), "Password", QLatin1String( "akonadi" )).toString(); + const int port = serverSetting( QLatin1String( "QPSQL" ), "Port", 5432).toInt(); + + QSqlDatabase db = QSqlDatabase::addDatabase( QLatin1String( "QPSQL" ) ); + db.setHostName( hostname ); + db.setDatabaseName( dbname ); + db.setUserName( username ); + db.setPassword( password ); + db.setPort( port ); + + if ( !db.open() ) { + const KLocalizedString details = ki18n( db.lastError().text().toLatin1() ); + report( Error, ki18n( "Cannot connect to PostgreSQL server." ), details); + } + else { + report( Success, ki18n( "PostgreSQL server found." ), + ki18n( "The PostgreSQL server was found and connection is working.")); + } + db.close(); +} + void SelfTestDialog::testAkonadiCtl() { const QString path = KStandardDirs::findExe( QLatin1String("akonadictl") ); --- trunk/KDE/kdepimlibs/akonadi/selftestdialog_p.h #999858:999859 @@ -80,6 +80,7 @@ void testMySQLServer(); void testMySQLServerLog(); void testMySQLServerConfig(); + void testPSQLServer(); void testAkonadiCtl(); void testServerStatus(); void testProtocolVersion();