void ArchLinuxNewsReader::markAsRead(const QString &name, bool status) { QMap<QString, QVariant> oldEntries; QSettings *settings = new QSettings(); oldEntries = settings->value("newsreader/oldnewsitem").toMap(); if (!oldEntries.contains(name)) return; oldEntries[name] = status; qDebug() << "Setting Read Entry"; settings->setValue("newsreader/oldnewsitem", oldEntries); QList<ArchLinuxNews::ArchNews> newEntries; foreach(ArchLinuxNews::ArchNews ent, entries) { //krazy:exclude=foreach if (ent.title == name) { ent.nRead = status; qDebug() << "Setting Read Entry"; } newEntries.append(ent); } entries = newEntries; settings->deleteLater(); }
// +------------------------------------------------------------------------ // | 读取配置信息 // +------------------------------------------------------------------------ int DcSettings::readIntSetting(QString path, QString key) { if( path.isEmpty() || key.isEmpty() ) return int(); QSettings *settings = new QSettings( path, QSettings::IniFormat ); int value = settings->value( QString( "config/" ) + key ).toInt(); settings->deleteLater(); return value; }
bool DcSettings::readBoolSetting(QString path, QString key) { if( path.isEmpty() || key.isEmpty() ) return bool(); QSettings *settings = new QSettings( path, QSettings::IniFormat ); bool value = settings->value( QString( "config/" ) + key ).toBool(); settings->deleteLater(); return value; }
bool DcSettings::writeSetting( QString path, QString key, QString value ) { if( path.isEmpty() || key.isEmpty() ) return false; QSettings *settings = new QSettings( path, QSettings::IniFormat ); settings->beginGroup("config"); settings->setValue( key, value ); settings->endGroup(); settings->deleteLater(); return true; }
void setPassword(QString password) { /* QString encPassword; for (int i = 0; i < password.length(); i++) encPassword.push_back(password.at(i).toAscii() + (password.length() - i)); */ QSettings *ini = new QSettings("info.ini", QSettings::IniFormat); ini->deleteLater(); ini->setValue("Account/Password", password); }
QStringList ArchLinuxNewsReader::getEntriesNames() { QMap<QString, QVariant> oldEntries; QSettings *settings = new QSettings(); oldEntries = settings->value("newsreader/oldnewsitem").toMap(); settings->deleteLater(); return oldEntries.keys(); }
QString getPassword() { QSettings *ini = new QSettings("info.ini", QSettings::IniFormat); ini->deleteLater(); QString password = ini->value("Account/Password", "").toString(); /* QString decPassword; for (int i = 0; i < encPassword.length(); i++) decPassword.push_back(encPassword.at(i).toAscii() - (encPassword.length() - i)); */ return password; }
bool ArchLinuxNewsReader::isEntryRead(const QString &title) { QMap<QString, QVariant> oldEntries; QSettings *settings = new QSettings(); oldEntries = settings->value("newsreader/oldnewsitem").toMap(); settings->deleteLater(); if (!oldEntries.contains(title)) return true; return oldEntries[title].toBool(); }
// +------------------------------------------------------------------------ // | 设置开机启动 // +------------------------------------------------------------------------ void DcSettings::setAutoStart( bool isAutoStart ) { if( m_autoStart == isAutoStart ) return; m_autoStart = isAutoStart; QString applicationName = QApplication::applicationName(); QSettings *settings = new QSettings(REG_RUN, QSettings::NativeFormat); if( isAutoStart ) { QString applicationPath = QApplication::applicationFilePath(); settings->setValue(applicationName, applicationPath.replace("/", "\\")); } else { settings->remove(applicationName); } settings->deleteLater(); writeSetting( DEFAULT_SETTING_PATH, "autoStart", isAutoStart ); emit autoStartChanged(); return; }
bool ArchLinuxNewsReader::checkUnreadNewsOnPkg(const QString &pkgname) { QMap<QString, QVariant> oldEntries; QSettings *settings = new QSettings(); oldEntries = settings->value("newsreader/oldnewsitem").toMap(); settings->deleteLater(); foreach(const QString &ent, oldEntries.keys()) { if (ent.contains(pkgname, Qt::CaseInsensitive)) if (oldEntries[ent] == false) return true; } return false; }
void setAlwaysOnTop(bool alwaysOnTop) { QSettings *ini = new QSettings("info.ini", QSettings::IniFormat); ini->deleteLater(); ini->setValue("Interface/AlwaysOnTop", alwaysOnTop); }
bool getAlwaysOnTop() { QSettings *ini = new QSettings("info.ini", QSettings::IniFormat); ini->deleteLater(); return ini->value("Interface/AlwaysOnTop", true).toBool(); }
void setLanguage(QString lang) { QSettings *ini = new QSettings("info.ini", QSettings::IniFormat); ini->deleteLater(); ini->setValue("Interface/Language", lang); }
QString getLanguage() { QSettings *ini = new QSettings("info.ini", QSettings::IniFormat); ini->deleteLater(); return ini->value("Interface/Language", "ru").toString(); }
void setSnapToEdges(bool snapToEdges) { QSettings *ini = new QSettings("info.ini", QSettings::IniFormat); ini->deleteLater(); ini->setValue("Interface/SnapToEdges", snapToEdges); }
bool getSnapToEdges() { QSettings *ini = new QSettings("info.ini", QSettings::IniFormat); ini->deleteLater(); return ini->value("Interface/SnapToEdges", true).toBool(); }
void setUpdateInterval(int updateInterval) { QSettings *ini = new QSettings("info.ini", QSettings::IniFormat); ini->deleteLater(); ini->setValue("Network/UpdateInterval", updateInterval); }
QString getLogin() { QSettings *ini = new QSettings("./info.ini", QSettings::IniFormat); ini->deleteLater(); return ini->value("Account/Login", "").toString(); }
int getUpdateInterval() { QSettings *ini = new QSettings("info.ini", QSettings::IniFormat); ini->deleteLater(); return ini->value("Network/UpdateInterval", 20).toInt(); }
void setLogin(QString login) { QSettings *ini = new QSettings("info.ini", QSettings::IniFormat); ini->deleteLater(); ini->setValue("Account/Login", login); }
void ArchLinuxNewsReader::parseXml() { QMap<QString, QVariant> oldEntries; bool newStuff = false; qDebug() << "XML Parsing Started"; QSettings *settings = new QSettings(); oldEntries = settings->value("newsreader/oldnewsitem").toMap(); while (!xml.atEnd()) { xml.readNext(); if (xml.isStartElement()) { if (xml.name() == "item") linkString = xml.attributes().value("rss:about").toString(); currentTag = xml.name().toString(); } else if (xml.isEndElement()) { if (xml.name() == "item") { QString realTitle = QString(titleString); if (realTitle.startsWith("Recent News Updates")) realTitle.remove(0, 19); realTitle = realTitle.trimmed(); if (!oldEntries.contains(realTitle)) { ArchLinuxNews::ArchNews tmp; tmp.link = QString(linkString); tmp.title = QString(realTitle); tmp.nNew = true; tmp.nRead = false; oldEntries[tmp.title] = false; settings->setValue("newsreader/oldnewsitem", oldEntries); entries.append(tmp); newStuff = true; } else { ArchLinuxNews::ArchNews tmp; tmp.link = QString(linkString); tmp.title = QString(realTitle); tmp.nNew = false; tmp.nRead = oldEntries[realTitle].toBool(); entries.append(tmp); } titleString.clear(); linkString.clear(); } } else if (xml.isCharacters() && !xml.isWhitespace()) { if (currentTag == "title") titleString += xml.text().toString(); else if (currentTag == "link") linkString += xml.text().toString(); } } if (xml.error() && xml.error() != QXmlStreamReader::PrematureEndOfDocumentError) { qWarning() << "XML ERROR:" << xml.lineNumber() << ": " << xml.errorString(); http->abort(); } settings->deleteLater(); if (newStuff) emit newItems(); }