4#include "ParameterDatabase.h"
6CParameterDatabase::CParameterDatabase(QObject *parent,
const QString &szPrefix)
8 , m_Net(this,
"Database")
14int CParameterDatabase::OnLoad(QSettings &set)
16 set.beginGroup(
"Database");
17 SetType(set.value(
"Type", GetType()).toString());
18 SetDatabaseName(set.value(
"DatabaseName", GetDatabaseName()).toString());
19 SetOptions(set.value(
"Options", GetOptions()).toString());
24int CParameterDatabase::OnSave(QSettings &set)
26 set.beginGroup(
"Database");
27 set.setValue(
"Type", GetType());
28 set.setValue(
"DatabaseName", GetDatabaseName());
29 set.setValue(
"Options", GetOptions());
34QString CParameterDatabase::GetType()
const
39void CParameterDatabase::SetType(
const QString &newType)
41 if(m_szType == newType)
47QString CParameterDatabase::GetDatabaseName()
const
49 return m_szDatabaseName;
52void CParameterDatabase::SetDatabaseName(
const QString &newDatabaseName)
54 if(m_szDatabaseName == newDatabaseName)
56 m_szDatabaseName = newDatabaseName;
60QString CParameterDatabase::GetOptions()
const
65void CParameterDatabase::SetOptions(
const QString &newOptions)
67 if(m_szOptions == newOptions)
69 m_szOptions = newOptions;
73QSet<QString> CParameterDatabase::GetSupportDatabase()
75 QSet<QString> supportDrivers;
76 supportDrivers <<
"QSQLITE" <<
"QMYSQL" <<
"QODBC";
77 return supportDrivers;
80const QString CParameterDatabase::Details()
const
82 auto supportDrivers = GetSupportDatabase();
83 QString szDetail =
"## " + tr(
"Database drivers") +
"\n";
84 foreach(
auto d, QSqlDatabase::drivers()){
85 szDetail +=
" - " + d;
87 szDetail +=
" (" + tr(
"Current used") +
")";
88 }
else if(supportDrivers.contains(d))
89 szDetail +=
" (" + tr(
"Supported") +
")";
99 m_szType = in.m_szType;
100 m_szDatabaseName = in.m_szDatabaseName;
101 m_szOptions = in.m_szOptions;
int SetModified(bool bModified=true)
在设置参数时,如果有修改,则调用。