1. #ifndef __K_GLOBAL_DATA_H__
    2. #define __K_GLOBAL_DATA_H__
    3. #include <iostream>
    4. #include <qstring.h>
    5. #include <Windows.h>
    6. #include <qmutex.h>
    7. class KGlobalData
    8. {
    9. public:
    10. class KAutoDestory
    11. {
    12. public:
    13. KAutoDestory() {}
    14. ~KAutoDestory();
    15. };
    16. static KGlobalData* getGlobalDataIntance();
    17. ~KGlobalData();
    18. void setMonitorDir(QString dir);
    19. QString getMonitorDir();
    20. void setMonitorDir2(QString dir);
    21. QString getMonitorDir2();
    22. void setFileNotifyChangeHandle(DWORD handle);
    23. DWORD getFileNotifyChangeHandle();
    24. void setWatchSubTree(BOOL val);
    25. BOOL getWatchSubTree();
    26. void setLogText(QString log);
    27. QString getLogText();
    28. void setSearchText(QString text);
    29. QString getSearchText();
    30. void setAttribute(bool val);
    31. bool getAttribute();
    32. void setSize(bool val);
    33. bool getSize();
    34. void setFilterEx(QString str);
    35. QString getFilterEx();
    36. void setFilterIn(QString str);
    37. QString getFilterIn();
    38. void setWatchFlag(bool val);
    39. bool getWatchFlag();
    40. private:
    41. KGlobalData();
    42. KGlobalData(const KGlobalData& other) {}
    43. static KGlobalData* s_globalDataObj;
    44. static KAutoDestory m_autoDestory;
    45. QString m_monitorDir;
    46. QString m_monitorDir2;
    47. DWORD m_configHandle;
    48. QString m_log;
    49. BOOL m_subTree;
    50. bool m_attribute;
    51. bool m_size;
    52. QString m_searchText;
    53. QString m_filterEx;
    54. QString m_filterIn;
    55. bool m_watchFlag;
    56. QMutex m_mutex;
    57. };
    58. #endif // __K_GLOBAL_DATA_H__
    1. #include "kglobaldata.h"
    2. #include <qdebug.h>
    3. KGlobalData* KGlobalData::s_globalDataObj = NULL;
    4. KGlobalData::KAutoDestory KGlobalData::m_autoDestory;
    5. KGlobalData* KGlobalData::getGlobalDataIntance()
    6. {
    7. if (s_globalDataObj == NULL)
    8. s_globalDataObj = new KGlobalData;
    9. return s_globalDataObj;
    10. }
    11. KGlobalData::KGlobalData()
    12. : m_monitorDir("")
    13. , m_monitorDir2("")
    14. , m_configHandle(0)
    15. , m_log("")
    16. , m_subTree(FALSE)
    17. , m_searchText("")
    18. , m_attribute(false)
    19. , m_size(NULL)
    20. , m_filterEx("")
    21. , m_filterIn("")
    22. , m_watchFlag(true)
    23. {
    24. }
    25. KGlobalData::~KGlobalData()
    26. {
    27. }
    28. KGlobalData::KAutoDestory::~KAutoDestory()
    29. {
    30. if (s_globalDataObj != NULL)
    31. {
    32. delete s_globalDataObj;
    33. s_globalDataObj = NULL;
    34. }
    35. }
    36. void KGlobalData::setMonitorDir(QString dir)
    37. {
    38. m_monitorDir = dir;
    39. }
    40. QString KGlobalData::getMonitorDir()
    41. {
    42. return m_monitorDir;
    43. }
    44. void KGlobalData::setMonitorDir2(QString dir)
    45. {
    46. m_monitorDir2 = dir;
    47. }
    48. QString KGlobalData::getMonitorDir2()
    49. {
    50. return m_monitorDir2;
    51. }
    52. void KGlobalData::setFileNotifyChangeHandle(DWORD handle)
    53. {
    54. m_configHandle += handle;
    55. }
    56. DWORD KGlobalData::getFileNotifyChangeHandle()
    57. {
    58. return m_configHandle;
    59. }
    60. void KGlobalData::setWatchSubTree(BOOL val)
    61. {
    62. m_subTree = val;
    63. }
    64. BOOL KGlobalData::getWatchSubTree()
    65. {
    66. return m_subTree;
    67. }
    68. void KGlobalData::setLogText(QString log)
    69. {
    70. m_mutex.lock();
    71. m_log = log;
    72. m_mutex.unlock();
    73. }
    74. QString KGlobalData::getLogText()
    75. {
    76. return m_log;
    77. }
    78. void KGlobalData::setSearchText(QString text)
    79. {
    80. m_searchText = text;
    81. }
    82. QString KGlobalData::getSearchText()
    83. {
    84. return m_searchText;
    85. }
    86. void KGlobalData::setAttribute(bool val)
    87. {
    88. m_attribute = val;
    89. }
    90. bool KGlobalData::getAttribute()
    91. {
    92. return m_attribute;
    93. }
    94. void KGlobalData::setSize(bool val)
    95. {
    96. m_size = val;
    97. }
    98. bool KGlobalData::getSize()
    99. {
    100. return m_size;
    101. }
    102. void KGlobalData::setFilterEx(QString str)
    103. {
    104. m_filterEx = str;
    105. }
    106. QString KGlobalData::getFilterEx()
    107. {
    108. return m_filterEx;
    109. }
    110. void KGlobalData::setFilterIn(QString str)
    111. {
    112. m_filterIn = str;
    113. }
    114. QString KGlobalData::getFilterIn()
    115. {
    116. return m_filterIn;
    117. }
    118. void KGlobalData::setWatchFlag(bool val)
    119. {
    120. m_watchFlag = val;
    121. }
    122. bool KGlobalData::getWatchFlag()
    123. {
    124. return m_watchFlag;
    125. }