vnote.cpp 2.8 KB

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