Timesheets-Server
Timesheets server
Načítám...
Vyhledávám...
Nebylo nic nalezeno
Dokumentace třídy MSettings

Globální QSettings objekt. ...

#include <msettings.h>

Diagram dědičnosti pro třídu MSettings:

Veřejné metody

bool logAll () const
 
QString logInclude () const
 
QString logExclude () const
 
QString logFile () const
 
QString dbPlugin () const
 
QString dbServer () const
 
QString dbName () const
 
QString dbUser () const
 
QString dbPassword () const
 
int dbPort () const
 
QString dbFilesDirectory () const
 
QString httpdUser () const
 
QString httpdPassword () const
 
bool httpdAuthorize () const
 
QString serverName () const
 
QString serverDescription () const
 
bool serverEnableRemoteRestart () const
 

Statické veřejné metody

static MSettingsinstance (QObject *parent=NULL)
 Vytváří signleton instanci třídy, vyhledá konfigurační soubor.
 

Statické veřejné atributy

static constexpr const char * LogAll = "log/all"
 
static constexpr const char * LogInclude = "log/include"
 
static constexpr const char * LogExclude = "log/exclude"
 
static constexpr const char * LogFile = "log/file"
 
static constexpr const char * DbPlugin = "db/plugin"
 
static constexpr const char * DbServer = "db/server"
 
static constexpr const char * DbName = "db/name"
 
static constexpr const char * DbUser = "db/user"
 
static constexpr const char * DbPassword = "db/password"
 
static constexpr const char * DbPort = "db/port"
 
static constexpr const char * DbFilesDirectory = "db/files-directory"
 
static constexpr const char * HttpdUser = "httpd/user"
 
static constexpr const char * HttpdPassword = "httpd/password"
 
static constexpr const char * HttpdAuthorize = "httpd/authorize"
 
static constexpr const char * ServerName = "server/name"
 
static constexpr const char * ServerDescription = "server/description"
 
static constexpr const char * ServerEnableRemoteRestart = "server/enable-remote-restart"
 

Chráněné metody

void setValue (const QString &key, const QVariant &value)
 Nastaví hodnotu v konfiguračním souboru.
 
QVariant value (const QString &key, const QVariant &defaultValue=QVariant()) const
 Vrátí hodnotu z konfiguračního souboru.
 

Privátní metody

 MSettings (const QString &filename, QObject *parent)
 Konstruktor, otevře zadaný soubor.
 

Detailní popis

Globální QSettings objekt.

Během práce zůstává otevřený a přistupuje se k němu přes makro MSETTINGS. Umožňuje přesunout konfigurační soubor na libovolné místo, například /etc.

Singleton instance by měla být přístupná i v QML pod jménem MSETTINGS.

Definice je uvedena na řádku 117 v souboru msettings.h.

Dokumentace konstruktoru a destruktoru

◆ ~MSettings()

MSettings::~MSettings ( )

Definice je uvedena na řádku 17 v souboru msettings.cpp.

17 {
18 m_mSettings = NULL;
19}

◆ MSettings()

MSettings::MSettings ( const QString & filename,
QObject * parent )
private

Konstruktor, otevře zadaný soubor.

Definice je uvedena na řádku 22 v souboru msettings.cpp.

22 : QSettings(filename, QSettings::NativeFormat, parent) {
23 m_mSettings = this;
24 setIniCodec("UTF-8");
25}

Dokumentace členských funkcí

◆ dbFilesDirectory()

QString MSettings::dbFilesDirectory ( ) const
inline

Definice je uvedena na řádku 162 v souboru msettings.h.

162{ return value(DbFilesDirectory).toString(); }
QVariant value(const QString &key, const QVariant &defaultValue=QVariant()) const
Vrátí hodnotu z konfiguračního souboru.
Definition msettings.cpp:34

◆ dbName()

QString MSettings::dbName ( ) const
inline

Definice je uvedena na řádku 158 v souboru msettings.h.

158{ return value(DbName, "timesheet").toString(); }

◆ dbPassword()

QString MSettings::dbPassword ( ) const
inline

Definice je uvedena na řádku 160 v souboru msettings.h.

160{ return value(DbPassword).toString(); }

◆ dbPlugin()

QString MSettings::dbPlugin ( ) const
inline

Definice je uvedena na řádku 156 v souboru msettings.h.

156{ return value(DbPlugin, "postgres").toString(); }

◆ dbPort()

int MSettings::dbPort ( ) const
inline

Definice je uvedena na řádku 161 v souboru msettings.h.

161{ return value(DbPort, 5432).toInt(); }

◆ dbServer()

QString MSettings::dbServer ( ) const
inline

Definice je uvedena na řádku 157 v souboru msettings.h.

157{ return value(DbServer).toString(); }

◆ dbUser()

QString MSettings::dbUser ( ) const
inline

Definice je uvedena na řádku 159 v souboru msettings.h.

159{ return value(DbUser, "timesheet").toString(); }

◆ httpdAuthorize()

bool MSettings::httpdAuthorize ( ) const
inline

Definice je uvedena na řádku 168 v souboru msettings.h.

168{ return value(HttpdAuthorize).toBool(); }

◆ httpdPassword()

QString MSettings::httpdPassword ( ) const
inline

Definice je uvedena na řádku 167 v souboru msettings.h.

167{ return value(HttpdPassword).toString(); }

◆ httpdUser()

QString MSettings::httpdUser ( ) const
inline

Definice je uvedena na řádku 166 v souboru msettings.h.

166{ return value(HttpdUser).toString(); }

◆ instance()

MSettings * MSettings::instance ( QObject * parent = NULL)
static

Vytváří signleton instanci třídy, vyhledá konfigurační soubor.

Konfigurační soubor vyhledává v tomto pořadí (jména adresářů se mohou lišit v závislosti na uživateli):

  • z povelové řádky, parametr -C jméno_souboru
  • ~/.config/hobrasoft.cz/timesheet-server.conf
  • ~/.timesheet-server.conf
  • /etc/timesheet-server.conf

Definice je uvedena na řádku 48 v souboru msettings.cpp.

48 {
49 if (m_mSettings == NULL) {
50 Q_ASSERT(parent);
51
52 QString filename;
53
54 while (true) {
55
56 // Konfigurační soubor z povelové řádky
57 QString configFileName;
58 QStringList arguments = QCoreApplication::arguments();
59 for (int i=0; i<arguments.size(); i++) {
60 const QString& argument = arguments[i];
61 if (argument == "-C" && i<arguments.size()-1) {
62 configFileName = arguments[i+1];
63 PDEBUG << "trying" << configFileName;
64 }
65 }
66 if (!configFileName.isEmpty()) {
67 QFileInfo fileinfo(configFileName);
68 if (fileinfo.exists() && fileinfo.isReadable()) {
69 filename = configFileName;
70 break;
71 }
72 }
73
74
75 // Konfigurační soubor ~/.config/hobrasoft.cz/timesheet-server.conf
76 QFileInfo fileinfo1( QDir::homePath() + "/.config/hobrasoft.cz/timesheet-server.conf");
77 PDEBUG << "Testing: " << fileinfo1.filePath();
78 if (fileinfo1.exists() && fileinfo1.isReadable()) {
79 filename = fileinfo1.filePath();
80 break;
81 }
82
83 // Konfigurační soubor ~/.mdcv04ip.conf"
84 QFileInfo fileinfo2( QDir::homePath() + "/.timesheet-server.conf");
85 PDEBUG << "Testing: " << fileinfo2.filePath();
86 if (fileinfo2.exists() && fileinfo2.isReadable()) {
87 filename = fileinfo2.filePath();
88 break;
89 }
90
91
92 // "/etc/mdcv04ip.conf"
93 QFileInfo fileinfo3("/etc/timesheet-server.conf");
94 PDEBUG << "Testing: " << fileinfo3.filePath();
95 if (fileinfo3.exists() && fileinfo3.isReadable()) {
96 filename = fileinfo3.filePath();
97 break;
98 }
99
100 break;
101 }
102
103 PDEBUG << "Using configuration file: " << filename;
104 new MSettings(filename, parent);
105 }
106 return m_mSettings;
107}
MSettings(const QString &filename, QObject *parent)
Konstruktor, otevře zadaný soubor.
Definition msettings.cpp:22

◆ logAll()

bool MSettings::logAll ( ) const
inline

Definice je uvedena na řádku 150 v souboru msettings.h.

150{ return value(LogAll, true).toBool(); }

◆ logExclude()

QString MSettings::logExclude ( ) const
inline

Definice je uvedena na řádku 152 v souboru msettings.h.

152{ return value(LogInclude).toString(); }

◆ logFile()

QString MSettings::logFile ( ) const
inline

Definice je uvedena na řádku 153 v souboru msettings.h.

153{ return value(LogFile).toString(); }

◆ logInclude()

QString MSettings::logInclude ( ) const
inline

Definice je uvedena na řádku 151 v souboru msettings.h.

151{ return value(LogInclude).toString(); }

◆ serverDescription()

QString MSettings::serverDescription ( ) const
inline

Definice je uvedena na řádku 172 v souboru msettings.h.

172{ return value(ServerDescription).toString(); }

◆ serverEnableRemoteRestart()

bool MSettings::serverEnableRemoteRestart ( ) const
inline

Definice je uvedena na řádku 173 v souboru msettings.h.

173{ return value(ServerEnableRemoteRestart, false).toBool(); }

◆ serverName()

QString MSettings::serverName ( ) const
inline

Definice je uvedena na řádku 171 v souboru msettings.h.

171{ return value(ServerName).toString(); }

◆ setValue()

void MSettings::setValue ( const QString & key,
const QVariant & value )
protected

Nastaví hodnotu v konfiguračním souboru.

Metoda je přetížená z QSettings::setValue() a přesunutá do protected, aby nebylo možné zavolat tuto metodu přímo z aplikace. Vždy je nutné doplnit pro parametr přístupovou metodu.

Definice je uvedena na řádku 28 v souboru msettings.cpp.

28 {
29 QSettings::setValue(key, value);
30 sync();
31}

◆ value()

QVariant MSettings::value ( const QString & key,
const QVariant & defaultValue = QVariant() ) const
protected

Vrátí hodnotu z konfiguračního souboru.

Metoda je přetížená z QSettings::value() a přesunutá do protected, aby nebylo možné zavolat tuto metodu přímo z aplikace. Vždy je nutné doplnit pro parametr přístupovou metodu.

Definice je uvedena na řádku 34 v souboru msettings.cpp.

34 {
35 return QSettings::value(key, defaultValue);
36}

Dokumentace datových členů

◆ DbFilesDirectory

const char* MSettings::DbFilesDirectory = "db/files-directory"
staticconstexpr

Definice je uvedena na řádku 136 v souboru msettings.h.

◆ DbName

const char* MSettings::DbName = "db/name"
staticconstexpr

Definice je uvedena na řádku 132 v souboru msettings.h.

◆ DbPassword

const char* MSettings::DbPassword = "db/password"
staticconstexpr

Definice je uvedena na řádku 134 v souboru msettings.h.

◆ DbPlugin

const char* MSettings::DbPlugin = "db/plugin"
staticconstexpr

Definice je uvedena na řádku 130 v souboru msettings.h.

◆ DbPort

const char* MSettings::DbPort = "db/port"
staticconstexpr

Definice je uvedena na řádku 135 v souboru msettings.h.

◆ DbServer

const char* MSettings::DbServer = "db/server"
staticconstexpr

Definice je uvedena na řádku 131 v souboru msettings.h.

◆ DbUser

const char* MSettings::DbUser = "db/user"
staticconstexpr

Definice je uvedena na řádku 133 v souboru msettings.h.

◆ HttpdAuthorize

const char* MSettings::HttpdAuthorize = "httpd/authorize"
staticconstexpr

Definice je uvedena na řádku 139 v souboru msettings.h.

◆ HttpdPassword

const char* MSettings::HttpdPassword = "httpd/password"
staticconstexpr

Definice je uvedena na řádku 138 v souboru msettings.h.

◆ HttpdUser

const char* MSettings::HttpdUser = "httpd/user"
staticconstexpr

Definice je uvedena na řádku 137 v souboru msettings.h.

◆ LogAll

const char* MSettings::LogAll = "log/all"
staticconstexpr

Definice je uvedena na řádku 126 v souboru msettings.h.

◆ LogExclude

const char* MSettings::LogExclude = "log/exclude"
staticconstexpr

Definice je uvedena na řádku 128 v souboru msettings.h.

◆ LogFile

const char* MSettings::LogFile = "log/file"
staticconstexpr

Definice je uvedena na řádku 129 v souboru msettings.h.

◆ LogInclude

const char* MSettings::LogInclude = "log/include"
staticconstexpr

Definice je uvedena na řádku 127 v souboru msettings.h.

◆ ServerDescription

const char* MSettings::ServerDescription = "server/description"
staticconstexpr

Definice je uvedena na řádku 141 v souboru msettings.h.

◆ ServerEnableRemoteRestart

const char* MSettings::ServerEnableRemoteRestart = "server/enable-remote-restart"
staticconstexpr

Definice je uvedena na řádku 142 v souboru msettings.h.

◆ ServerName

const char* MSettings::ServerName = "server/name"
staticconstexpr

Definice je uvedena na řádku 140 v souboru msettings.h.


Dokumentace pro tuto třídu byla vygenerována z následujících souborů: