| 295 | |
| 296 | |
| 297 | void NddSetting::close() |
| 298 | { |
| 299 | if (s_reference > 0) |
| 300 | { |
| 301 | --s_reference; |
| 302 | |
| 303 | if (s_reference == 0) |
| 304 | { |
| 305 | s_isExistDb = false; |
| 306 | |
| 307 | //做一次真正的保存 |
| 308 | if (s_isContentChanged) |
| 309 | { |
| 310 | s_nddSet->sync(); |
| 311 | delete s_nddSet; |
| 312 | s_nddSet = nullptr; |
| 313 | s_isContentChanged = false; |
| 314 | } |
| 315 | |
| 316 | //在这里保存一下子窗口的位置。不排除有可能子窗口还在,主窗口已经退出的情况,不过问题不大。 |
| 317 | if (s_nddDelaySet != nullptr) |
| 318 | { |
| 319 | s_nddDelaySet->sync(); |
| 320 | s_nddDelaySet = nullptr; |
| 321 | } |
| 322 | } |
| 323 | } |
| 324 | } |
| 325 | |
| 326 | //子窗口的位置,单独放在一个winpos.ini文件中,而且启动程序时,不需要读取,可避免启动时拖慢速度 |
| 327 | QByteArray NddSetting::getWinPos(QString key) |
no outgoing calls
no test coverage detected