vnote.cpp 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #include <QSettings>
  2. #include <QDebug>
  3. #include "vnote.h"
  4. const QString VNote::orgName = QString("tamlok");
  5. const QString VNote::appName = QString("VNote");
  6. VNote::VNote()
  7. : curNotebookIndex(0)
  8. {
  9. }
  10. void VNote::readGlobalConfig()
  11. {
  12. QSettings settings(QSettings::IniFormat, QSettings::UserScope,
  13. orgName, appName);
  14. // [global] section
  15. settings.beginGroup("global");
  16. curNotebookIndex = settings.value("current_notebook", 0).toInt();
  17. qDebug() << "read current_notebook=" << curNotebookIndex;
  18. settings.endGroup();
  19. readGlobalConfigNotebooks(settings);
  20. }
  21. void VNote::writeGlobalConfig()
  22. {
  23. QSettings settings(QSettings::IniFormat, QSettings::UserScope,
  24. orgName, appName);
  25. // [global] section
  26. settings.beginGroup("global");
  27. settings.setValue("current_notebook", curNotebookIndex);
  28. qDebug() << "write current_notebook=" << curNotebookIndex;
  29. settings.endGroup();
  30. writeGlobalConfigNotebooks(settings);
  31. }
  32. void VNote::readGlobalConfigNotebooks(QSettings &settings)
  33. {
  34. notebooks.clear();
  35. int size = settings.beginReadArray("notebooks");
  36. for (int i = 0; i < size; ++i) {
  37. settings.setArrayIndex(i);
  38. VNotebook notebook;
  39. QString name = settings.value("name").toString();
  40. QString path = settings.value("path").toString();
  41. notebook.setName(name);
  42. notebook.setPath(path);
  43. notebooks.append(notebook);
  44. }
  45. settings.endArray();
  46. qDebug() << "read" << notebooks.size()
  47. << "notebook items from [notebooks] section";
  48. }
  49. void VNote::writeGlobalConfigNotebooks(QSettings &settings)
  50. {
  51. settings.beginWriteArray("notebooks");
  52. for (int i = 0; i < notebooks.size(); ++i) {
  53. settings.setArrayIndex(i);
  54. settings.setValue("name", notebooks[i].getName());
  55. settings.setValue("path", notebooks[i].getPath());
  56. }
  57. settings.endArray();
  58. qDebug() << "write" << notebooks.size()
  59. << "notebook items in [notebooks] section";
  60. }
  61. const QVector<VNotebook>& VNote::getNotebooks()
  62. {
  63. return notebooks;
  64. }
  65. int VNote::getCurNotebookIndex() const
  66. {
  67. return curNotebookIndex;
  68. }
  69. void VNote::setCurNotebookIndex(int index)
  70. {
  71. curNotebookIndex = index;
  72. // Update settings
  73. QSettings settings(QSettings::IniFormat, QSettings::UserScope,
  74. orgName, appName);
  75. settings.setValue("global/current_notebook", curNotebookIndex);
  76. qDebug() << "write current_notebook=" << curNotebookIndex;
  77. }