completers.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include "completers.h"
  2. #include <QStringListModel>
  3. #include <QSettings>
  4. #include <QPointer>
  5. QStringListModel* Completers::nameModel(QObject* parent) {
  6. static QPointer<QStringListModel> retval;
  7. QSettings s;
  8. QMap<QString, QVariant> m = map();
  9. if (retval == 0) {
  10. retval = new QStringListModel(m.keys(), parent);
  11. }
  12. else {
  13. retval->setStringList(m.keys());
  14. }
  15. return retval.data();
  16. }
  17. QStringListModel* Completers::urlModel(QObject *parent) {
  18. static QPointer<QStringListModel> retval;
  19. QMap<QString, QVariant> m = map();
  20. QStringList urls;
  21. foreach (QVariant v, m.values()) {
  22. urls << v.toString();
  23. }
  24. if (retval == 0) {
  25. retval = new QStringListModel(urls, parent);
  26. }
  27. return retval;
  28. }
  29. QMap<QString, QVariant> Completers::map() {
  30. QSettings s;
  31. return s.value("history/map").toMap();
  32. }
  33. void Completers::add(QString name, QString url) {
  34. QSettings s;
  35. QMap<QString, QVariant> m = map();
  36. m[name]=url;
  37. s.setValue("history/map", m);
  38. }