Example #1
0
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;
}
Example #5
0
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);
}
Example #6
0
QStringList ArchLinuxNewsReader::getEntriesNames()
{
    QMap<QString, QVariant> oldEntries;

    QSettings *settings = new QSettings();

    oldEntries = settings->value("newsreader/oldnewsitem").toMap();

    settings->deleteLater();

    return oldEntries.keys();
}
Example #7
0
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;
}
Example #8
0
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;
}
Example #10
0
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;
}
Example #11
0
void setAlwaysOnTop(bool alwaysOnTop)
{
    QSettings *ini = new QSettings("info.ini", QSettings::IniFormat);
    ini->deleteLater();
    ini->setValue("Interface/AlwaysOnTop", alwaysOnTop);
}
Example #12
0
bool getAlwaysOnTop()
{
    QSettings *ini = new QSettings("info.ini", QSettings::IniFormat);
    ini->deleteLater();
    return ini->value("Interface/AlwaysOnTop", true).toBool();
}
Example #13
0
void setLanguage(QString lang)
{
    QSettings *ini = new QSettings("info.ini", QSettings::IniFormat);
    ini->deleteLater();
    ini->setValue("Interface/Language", lang);
}
Example #14
0
QString getLanguage()
{
    QSettings *ini = new QSettings("info.ini", QSettings::IniFormat);
    ini->deleteLater();
    return ini->value("Interface/Language", "ru").toString();
}
Example #15
0
void setSnapToEdges(bool snapToEdges)
{
    QSettings *ini = new QSettings("info.ini", QSettings::IniFormat);
    ini->deleteLater();
    ini->setValue("Interface/SnapToEdges", snapToEdges);
}
Example #16
0
bool getSnapToEdges()
{
    QSettings *ini = new QSettings("info.ini", QSettings::IniFormat);
    ini->deleteLater();
    return ini->value("Interface/SnapToEdges", true).toBool();
}
Example #17
0
void setUpdateInterval(int updateInterval)
{
    QSettings *ini = new QSettings("info.ini", QSettings::IniFormat);
    ini->deleteLater();
    ini->setValue("Network/UpdateInterval", updateInterval);
}
Example #18
0
QString getLogin()
{
    QSettings *ini = new QSettings("./info.ini", QSettings::IniFormat);
    ini->deleteLater();
    return ini->value("Account/Login", "").toString();
}
Example #19
0
int getUpdateInterval()
{
    QSettings *ini = new QSettings("info.ini", QSettings::IniFormat);
    ini->deleteLater();
    return ini->value("Network/UpdateInterval", 20).toInt();
}
Example #20
0
void setLogin(QString login)
{
    QSettings *ini = new QSettings("info.ini", QSettings::IniFormat);
    ini->deleteLater();
    ini->setValue("Account/Login", login);
}
Example #21
0
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();
}