static void allKeys(HKEY parentHandle, const QString &rSubKey, NameSet *result) { HKEY handle = openKey(parentHandle, KEY_READ, rSubKey); if (handle == 0) return; QStringList childKeys = childKeysOrGroups(handle, QSettingsPrivate::ChildKeys); QStringList childGroups = childKeysOrGroups(handle, QSettingsPrivate::ChildGroups); RegCloseKey(handle); for (int i = 0; i < childKeys.size(); ++i) { QString s = rSubKey; if (!s.isEmpty()) s += QLatin1Char('\\'); s += childKeys.at(i); result->insert(s, QString()); } for (int i = 0; i < childGroups.size(); ++i) { QString s = rSubKey; if (!s.isEmpty()) s += QLatin1Char('\\'); s += childGroups.at(i); allKeys(parentHandle, s, result); } }
QStringList QWinSettingsPrivate::children(const QString &uKey, ChildSpec spec) const { NameSet result; QString rKey = escapedKey(uKey); for (int i = 0; i < regList.size(); ++i) { HKEY parent_handle = regList.at(i).handle(); if (parent_handle == 0) continue; HKEY handle = openKey(parent_handle, KEY_READ, rKey); if (handle == 0) continue; if (spec == AllKeys) { NameSet keys; allKeys(handle, QLatin1String(""), &keys); mergeKeySets(&result, keys); } else { // ChildGroups or ChildKeys QStringList names = childKeysOrGroups(handle, spec); mergeKeySets(&result, names); } RegCloseKey(handle); if (!fallbacks) return result.keys(); } return result.keys(); }
void Allegro5Touch::handleTouch(const Util::ReferenceCount<TouchTrack> & touch, std::map<Key, bool> & new_buttons, bool press){ std::vector<Key> all = allKeys(); for (std::vector<Key>::iterator it = all.begin(); it != all.end(); it++){ if (inZone(*it, touch->x, touch->y)){ new_buttons[*it] = press; } } }
/* Generate a 'pressed' event if the current state was not pressd and the new state is pressed. * Similarly, generate a 'release' event if the current state was pressed and the new state was not pressed * */ void Allegro5Touch::generateEvents(std::map<Key, bool> & new_buttons){ std::vector<Key> all = allKeys(); for (std::vector<Key>::iterator it = all.begin(); it != all.end(); it++){ Key key = *it; if (buttons[key] ^ new_buttons[key]){ events.push_back(Event(key, new_buttons[key])); } } }
void Settings::createBackup(QString suffix) { QSettings backup(fileName() + suffix, QSettings::IniFormat); backup.clear(); QStringList keys = allKeys(); foreach (QString key, keys) { backup.setValue(key, settings().value(key)); }
Value operator[](const std::string& key) const { auto i= values_.find(key); if (i == values_.end()) { std::vector<std::string> keys(allKeys()); std::ostringstream msg; msg << "Legal values are \"" << util::join(keys.begin(), keys.end(), "\", \"") << "\""; throw FormatError(key, msg.str()); } return i->second; }
DevSettings::DevSettings(QWidget *p) : QSettings(p) { dlg = new QDialog(p, Qt::Dialog | Qt::WindowStaysOnTopHint); QVBoxLayout *box = new QVBoxLayout; QTabWidget *tab = new QTabWidget(dlg); QFrame *frame; QGridLayout *grid; // <General> frame = new QFrame; frame->setFrameShape(QFrame::Box); frame->setFrameShadow(QFrame::Sunken); grid = new QGridLayout; frame->setLayout(grid); tab->addTab(frame, tr("General") ); // </General> // <Compiler> frame = new QFrame; frame->setFrameShape(QFrame::Box); frame->setFrameShadow(QFrame::Sunken); grid = new QGridLayout; frame->setLayout(grid); tab->addTab(frame, tr("Compilation") ); // </Compiler> // <Editors> frame = new QFrame; frame->setFrameShape(QFrame::Box); frame->setFrameShadow(QFrame::Sunken); grid = new QGridLayout; frame->setLayout(grid); tab->addTab(frame, tr("Editors") ); // </Editors> // <Highlight> frame = new QFrame; frame->setFrameShape(QFrame::Box); frame->setFrameShadow(QFrame::Sunken); grid = new QGridLayout; frame->setLayout(grid); tab->addTab(frame, tr("Highlighting") ); // </Highlight> box->addWidget(tab); QHBoxLayout *but = new QHBoxLayout; b_Default = new QPushButton(QIcon(":/default.png"), tr("&Default")); but->addWidget(b_Default); b_Valid = new QPushButton(QIcon(":/ok.png"), tr("&Ok")); but->addWidget(b_Valid); b_Cancel = new QPushButton(QIcon(":/cancel.png"), tr("&Cancel")); but->addWidget(b_Cancel); box->addLayout(but); dlg->setLayout(box); m = new QMenu(tr("&Reopen..."), p); m->setIcon(QIcon(":/reopen.png")); aClear = new QAction(QIcon(":/clear.png"), tr("&Clear history"), this); connect(aClear , SIGNAL( triggered() ), this , SLOT ( clearRecents() ) ); recent(); if ( allKeys().isEmpty() ) { ;//dlg->exec(); } else { ; } }