comparison base/RecentFiles.cpp @ 935:f960d67ce842 tonioni

Merge from branch warnfix_no_size_t
author Chris Cannam
date Wed, 18 Jun 2014 13:42:01 +0100
parents 6a94bb528e9d
children 452b48b29c2d
comparison
equal deleted inserted replaced
925:3efc20c59a94 935:f960d67ce842
19 19
20 #include <QFileInfo> 20 #include <QFileInfo>
21 #include <QSettings> 21 #include <QSettings>
22 #include <QRegExp> 22 #include <QRegExp>
23 23
24 RecentFiles::RecentFiles(QString settingsGroup, size_t maxCount) : 24 RecentFiles::RecentFiles(QString settingsGroup, int maxCount) :
25 m_settingsGroup(settingsGroup), 25 m_settingsGroup(settingsGroup),
26 m_maxCount(maxCount) 26 m_maxCount(maxCount)
27 { 27 {
28 read(); 28 read();
29 } 29 }
38 { 38 {
39 m_names.clear(); 39 m_names.clear();
40 QSettings settings; 40 QSettings settings;
41 settings.beginGroup(m_settingsGroup); 41 settings.beginGroup(m_settingsGroup);
42 42
43 for (size_t i = 0; i < 100; ++i) { 43 for (int i = 0; i < 100; ++i) {
44 QString key = QString("recent-%1").arg(i); 44 QString key = QString("recent-%1").arg(i);
45 QString name = settings.value(key, "").toString(); 45 QString name = settings.value(key, "").toString();
46 if (name == "") break; 46 if (name == "") break;
47 if (i < m_maxCount) m_names.push_back(name); 47 if (i < m_maxCount) m_names.push_back(name);
48 else settings.setValue(key, ""); 48 else settings.setValue(key, "");
55 RecentFiles::write() 55 RecentFiles::write()
56 { 56 {
57 QSettings settings; 57 QSettings settings;
58 settings.beginGroup(m_settingsGroup); 58 settings.beginGroup(m_settingsGroup);
59 59
60 for (size_t i = 0; i < m_maxCount; ++i) { 60 for (int i = 0; i < m_maxCount; ++i) {
61 QString key = QString("recent-%1").arg(i); 61 QString key = QString("recent-%1").arg(i);
62 QString name = ""; 62 QString name = "";
63 if (i < m_names.size()) name = m_names[i]; 63 if (i < (int)m_names.size()) name = m_names[i];
64 settings.setValue(key, name); 64 settings.setValue(key, name);
65 } 65 }
66 66
67 settings.endGroup(); 67 settings.endGroup();
68 } 68 }
69 69
70 void 70 void
71 RecentFiles::truncateAndWrite() 71 RecentFiles::truncateAndWrite()
72 { 72 {
73 while (m_names.size() > m_maxCount) { 73 while (int(m_names.size()) > m_maxCount) {
74 m_names.pop_back(); 74 m_names.pop_back();
75 } 75 }
76 write(); 76 write();
77 } 77 }
78 78
79 std::vector<QString> 79 std::vector<QString>
80 RecentFiles::getRecent() const 80 RecentFiles::getRecent() const
81 { 81 {
82 std::vector<QString> names; 82 std::vector<QString> names;
83 for (size_t i = 0; i < m_maxCount; ++i) { 83 for (int i = 0; i < m_maxCount; ++i) {
84 if (i < m_names.size()) { 84 if (i < (int)m_names.size()) {
85 names.push_back(m_names[i]); 85 names.push_back(m_names[i]);
86 } 86 }
87 } 87 }
88 return names; 88 return names;
89 } 89 }
90 90
91 void 91 void
92 RecentFiles::add(QString name) 92 RecentFiles::add(QString name)
93 { 93 {
94 bool have = false; 94 bool have = false;
95 for (size_t i = 0; i < m_names.size(); ++i) { 95 for (int i = 0; i < int(m_names.size()); ++i) {
96 if (m_names[i] == name) { 96 if (m_names[i] == name) {
97 have = true; 97 have = true;
98 break; 98 break;
99 } 99 }
100 } 100 }
102 if (!have) { 102 if (!have) {
103 m_names.push_front(name); 103 m_names.push_front(name);
104 } else { 104 } else {
105 std::deque<QString> newnames; 105 std::deque<QString> newnames;
106 newnames.push_back(name); 106 newnames.push_back(name);
107 for (size_t i = 0; i < m_names.size(); ++i) { 107 for (int i = 0; i < int(m_names.size()); ++i) {
108 if (m_names[i] == name) continue; 108 if (m_names[i] == name) continue;
109 newnames.push_back(m_names[i]); 109 newnames.push_back(m_names[i]);
110 } 110 }
111 m_names = newnames; 111 m_names = newnames;
112 } 112 }