--- libs/libmyth/dbsettings.cpp.db 2005-03-04 19:00:39.000000000 -0500 +++ libs/libmyth/dbsettings.cpp 2006-04-15 16:59:24.000000000 -0400 @@ -48,6 +48,7 @@ protected: TransientLabel *info; TransientLineEdit *dbHostName; + TransientLineEdit *dbPort; TransientLineEdit *dbName; TransientLineEdit *dbUserName; TransientLineEdit *dbPassword; @@ -130,6 +131,13 @@ "the machine hosting the database. " "This information is required.")); addChild(dbHostName); + + dbPort = new TransientLineEdit(true); + dbPort->setLabel(QObject::tr("Host Port")); + dbPort->setHelpText(QObject::tr("The port number the database is running " + "on, if it's not the default database " + "port.")); + addChild(dbPort); dbName = new TransientLineEdit(true); dbName->setLabel(QObject::tr("Database")); @@ -245,6 +253,10 @@ dbHostName->setValue(params.dbHostName); if (params.dbHostName.isEmpty()) dbHostName->setLabel("* " + dbHostName->getLabel()); + + if (params.dbPort) + dbPort->setValue(QString::number(params.dbPort)); + dbUserName->setValue(params.dbUserName); if (params.dbUserName.isEmpty()) dbUserName->setLabel("* " + dbUserName->getLabel()); @@ -279,6 +291,7 @@ DatabaseParams params = gContext->GetDatabaseParams(); params.dbHostName = dbHostName->getValue(); + params.dbPort = dbPort->getValue().toInt(); params.dbUserName = dbUserName->getValue(); params.dbPassword = dbPassword->getValue(); params.dbName = dbName->getValue(); --- libs/libmyth/mythcontext.cpp.db 2006-01-25 05:22:57.000000000 -0500 +++ libs/libmyth/mythcontext.cpp 2006-04-15 17:01:10.000000000 -0400 @@ -590,8 +590,12 @@ VERBOSE(VB_IMPORTANT, QString("Writing settings file %1").arg(path)); QTextStream s(f); - s << "DBHostName=" << params.dbHostName << endl - << "DBUserName=" << params.dbUserName << endl + s << "DBHostName=" << params.dbHostName << endl; + + if (params.dbPort) + s << "DBPort=" << params.dbPort << endl; + + s << "DBUserName=" << params.dbUserName << endl << "DBPassword=" << params.dbPassword << endl << "DBName=" << params.dbName << endl << "DBType=" << params.dbType << endl @@ -752,6 +756,8 @@ params.dbHostName = getResponse("Database host name:", params.dbHostName); + params.dbPort = intResponse("Database non-default port:", + params.dbPort); params.dbName = getResponse("Database name:", params.dbName); params.dbUserName = getResponse("Database user name:", @@ -2730,6 +2736,7 @@ DatabaseParams params; params.dbHostName = d->m_settings->GetSetting("DBHostName", "localhost"); + params.dbPort = d->m_settings->GetNumSetting("DBPort", 0); params.dbUserName = d->m_settings->GetSetting("DBUserName", "mythtv"); params.dbPassword = d->m_settings->GetSetting("DBPassword", "mythtv"); params.dbName = d->m_settings->GetSetting("DBName", "mythconverg"); @@ -2766,6 +2773,7 @@ // only rewrite file if it has changed if (params.dbHostName != cur_params.dbHostName || + params.dbPort != cur_params.dbPort || params.dbUserName != cur_params.dbUserName || params.dbPassword != cur_params.dbPassword || params.dbName != cur_params.dbName || --- libs/libmyth/mythcontext.h.db 2006-01-21 23:29:43.000000000 -0500 +++ libs/libmyth/mythcontext.h 2006-04-15 16:45:22.000000000 -0400 @@ -130,6 +130,7 @@ struct DatabaseParams { QString dbHostName; ///< database server + int dbPort; ///< database port QString dbUserName; ///< DB user name QString dbPassword; ///< DB password QString dbName; ///< database name --- libs/libmyth/mythdbcon.cpp.db 2006-02-03 17:24:39.000000000 -0500 +++ libs/libmyth/mythdbcon.cpp 2006-04-15 16:51:12.000000000 -0400 @@ -55,6 +55,8 @@ m_db->setUserName(dbparms.dbUserName); m_db->setPassword(dbparms.dbPassword); m_db->setHostName(dbparms.dbHostName); + if (dbparms.dbPort) + m_db->setPort(dbparms.dbPort); connected = m_db->open(); if (!connected && dbparms.wolEnabled)