#ifndef LOAPPCONFIG_H
#define LOAPPCONFIG_H

#include <QDir>
#include <QFile>
#include <QString>
#include <QStandardPaths>
#include <globaldefine.h>
#define PAGEDEL_SUFFIX "@D$E$L&20111005&"
#define RECTF_INVALID  QRectF(-1000, -1000, 0, 0)
#define RECTL_NEWFILE  256
#define TICK_INTERVAL  330

class LoAppConfig
{
private:
    LoAppConfig();

public:
    static LoAppConfig* getInstance();

public:
    QString OrganizationName()   const { return m_OrganizationName; }
    QString OrganizationDomain() const { return m_OrganizationDomain; }
    QString ApplicationName()    const { return m_ApplicationName; }
    QString DocumentsLocation()  const { return m_DocumentsLocation; }
    QString NProgramsLocation()  const { return m_NProgramsLocation; }
    QString SearchPath()         const { return m_SearchPath; }

public:
    QString     OpenGLVendor()     const { return m_OpenGLVendor; }
    QString     OpenGLRenderer()   const { return m_OpenGLRenderer; }
    QString     OpenGLVersion()    const { return m_OpenGLVersion; }
    QStringList OpenGLExtensions() const { return m_OpenGLExtensions; }

public:
    QString styleSheet();

public:
    void setSearchPath(const QString &path) { m_SearchPath = path; }

private:
    static LoAppConfig *m_instance;

private:
    QString m_OrganizationName;
    QString m_OrganizationDomain;
    QString m_ApplicationName;
    QString m_DocumentsLocation;
    QString m_NProgramsLocation;
    QString m_SearchPath;

private:
    QString     m_OpenGLVendor;
    QString     m_OpenGLRenderer;
    QString     m_OpenGLVersion;
    QStringList m_OpenGLExtensions;
};

#endif // LOAPPCONFIG_H
