[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-doc-english
Subject:    [kde-doc-english]
From:       Francesco Riosa <francesco+kde () pnpitalia ! it>
Date:       2011-05-11 14:27:15
Message-ID: 20110511142715.B03D5A60B4 () git ! kde ! org
[Download RAW message or body]

Git commit 8907ceb5ee89b4d822fec8d20433894439be125c by Francesco Riosa.
Committed on 11/05/2011 at 16:17.
Pushed by riosa into branch 'master'.

appliction disable "internal database"

When internal database has been disabled at compile time we don't know
how to start a server and widget should not show the option to use one.

Also for how cmake machinery work mysqldPath option is not empty but
contain "SERVERCMD_MYSQL-NOTFOUND", add a check for that.

When a digikam w/o mysqld support encounter a configuration file which
point to a "internal database" it threat the database as external and
will fail to connect to.

GUI:
BUG: 254533

M  +1    -1    databaseserver/databaseserver.cpp     
M  +10   -1    libs/database/databaseparameters.cpp     
M  +9    -0    libs/widgets/common/databasewidget.cpp     

http://commits.kde.org/digikam/8907ceb5ee89b4d822fec8d20433894439be125c

diff --git a/databaseserver/databaseserver.cpp b/databaseserver/databaseserver.cpp
index 80cd2e7..a877d89 100644
--- a/databaseserver/databaseserver.cpp
+++ b/databaseserver/databaseserver.cpp
@@ -157,7 +157,7 @@ DatabaseServerError DatabaseServer::startMYSQLDatabaseProcess()
     const QString mysqldPath(DatabaseConfigElement::element(dbType).dbServerCmd);
     //const QString mysqldPath("/usr/sbin/mysqld");
 
-    if ( mysqldPath.isEmpty() )
+    if ( mysqldPath.isEmpty() || mysqldPath.compare( QLatin1String( \
"SERVERCMD_MYSQL-NOTFOUND" ) ))  {
         kDebug() << "No path to mysqld set in server configuration!";
         return DatabaseServerError(DatabaseServerError::StartError, i18n("No path to \
                mysqld set in server configuration."));
diff --git a/libs/database/databaseparameters.cpp \
b/libs/database/databaseparameters.cpp index 98cd070..f483ad7 100644
--- a/libs/database/databaseparameters.cpp
+++ b/libs/database/databaseparameters.cpp
@@ -7,7 +7,7 @@
  * Description : Storage container for database connection parameters.
  *
  * Copyright (C) 2007-2008 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
- * Copyright (C) 2010 by Holger F�rster <hamsi2k at freenet dot de>
+ * Copyright (C) 2010 by Holger Foerster <hamsi2k at freenet dot de>
  *
  * This program is free software; you can redistribute it
  * and/or modify it under the terms of the GNU General
@@ -27,6 +27,7 @@
 #endif
 */
 
+#include "config-digikam.h"
 #include "databaseparameters.h"
 
 // Qt includes
@@ -97,12 +98,16 @@ DatabaseParameters::DatabaseParameters(const KUrl& url)
         port = queryPort.toInt();
     }
 
+#ifdef HAVE_INTERNALMYSQL
     QString queryServer = url.queryItem("internalServer");
 
     if (!queryServer.isNull())
     {
         internalServer = (queryServer == "true");
     }
+#else
+    internalServer = false;
+#endif // HAVE_INTERNALMYSQL
 
     userName       = url.queryItem("userName");
     password       = url.queryItem("password");
@@ -207,7 +212,11 @@ void DatabaseParameters::readFromConfig(KSharedConfig::Ptr \
                config, const QString
     userName                 = group.readEntry(configDatabaseUsername, QString());
     password                 = group.readEntry(configDatabasePassword, QString());
     connectOptions           = group.readEntry(configDatabaseConnectOptions, \
QString()); +#ifdef HAVE_INTERNALMYSQL
     internalServer           = group.readEntry(configInternalDatabaseServer, false);
+#else
+    internalServer           = false;
+#endif // HAVE_INTERNALMYSQL
 
     if (isSQLite() && !databaseName.isNull())
     {
diff --git a/libs/widgets/common/databasewidget.cpp \
b/libs/widgets/common/databasewidget.cpp index fef3fed..560371f 100644
--- a/libs/widgets/common/databasewidget.cpp
+++ b/libs/widgets/common/databasewidget.cpp
@@ -45,6 +45,7 @@
 
 // Local includes
 
+#include "config-digikam.h"
 #include "databaseparameters.h"
 #include "databaseserverstarter.h"
 
@@ -130,7 +131,9 @@ void DatabaseWidget::setupMainArea()
     QFormLayout* expertSettinglayout    = new QFormLayout();
     d->expertSettings->setLayout(expertSettinglayout);
 
+#ifdef HAVE_INTERNALMYSQL
     expertSettinglayout->addRow(internalServerLabel, internalServer);
+#endif // HAVE_INTERNALMYSQL
     expertSettinglayout->addRow(hostNameLabel, hostName);
     expertSettinglayout->addRow(hostPortLabel, hostPort);
     expertSettinglayout->addRow(databaseNameLabel, databaseName);
@@ -177,8 +180,10 @@ void DatabaseWidget::setupMainArea()
     connect(databaseType, SIGNAL(currentIndexChanged(int)),
             this, SLOT(slotHandleDBTypeIndexChanged(int)));
 
+#ifdef HAVE_INTERNALMYSQL
     connect(internalServer, SIGNAL(stateChanged(int)),
             this, SLOT(slotHandleInternalServerCheckbox(int)));
+#endif // HAVE_INTERNALMYSQL
 
     connect(checkDatabaseConnectionButton, SIGNAL(clicked()),
             this, SLOT(checkDatabaseConnection()));
@@ -317,7 +322,11 @@ void DatabaseWidget::setParametersFromSettings(const \
AlbumSettings* settings)  originalDbType = settings->getDatabaseType();
     databasePathEdit->setUrl(settings->getDatabaseFilePath());
 
+#ifdef HAVE_INTERNALMYSQL
     internalServer->setChecked(settings->getInternalDatabaseServer());
+#else
+    internalServer->setChecked(false);
+#endif // HAVE_INTERNALMYSQL
     databaseName->setText(settings->getDatabaseName());
     databaseNameThumbnails->setText(settings->getDatabaseNameThumbnails());
     hostName->setText(settings->getDatabaseHostName());
_______________________________________________
kde-doc-english mailing list
kde-doc-english@kde.org
https://mail.kde.org/mailman/listinfo/kde-doc-english


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic