Esempio n. 1
0
BufferViewConfig::BufferViewConfig(int bufferViewId, const QVariantMap &properties, QObject *parent)
    : SyncableObject(parent),
    _bufferViewId(bufferViewId)
{
    fromVariantMap(properties);
    setObjectName(QString::number(bufferViewId));
}
void CoreHighlightSettingsPage::save()
{
    if (!hasChanged())
        return;

    if (!_initialized)
        return;

    auto ruleManager = Client::highlightRuleManager();
    if (ruleManager == nullptr)
        return;

    auto clonedManager = HighlightRuleManager();
    clonedManager.fromVariantMap(ruleManager->toVariantMap());
    clonedManager.clear();

    for (auto &rule : highlightList) {
        clonedManager.addHighlightRule(rule.id, rule.name, rule.isRegEx, rule.isCaseSensitive, rule.isEnabled, false,
                                       rule.sender, rule.chanName);
    }

    for (auto &rule : ignoredList) {
        clonedManager.addHighlightRule(rule.id, rule.name, rule.isRegEx, rule.isCaseSensitive, rule.isEnabled, true,
                                       rule.sender, rule.chanName);
    }

    auto highlightNickType = ui.highlightNicksComboBox->itemData(ui.highlightNicksComboBox->currentIndex()).value<int>();

    clonedManager.setHighlightNick(HighlightRuleManager::HighlightNickType(highlightNickType));
    clonedManager.setNicksCaseSensitive(ui.nicksCaseSensitive->isChecked());

    ruleManager->requestUpdate(clonedManager.toVariantMap());
    setChangedState(false);
    load();
}
Esempio n. 3
0
NodeModel::NodeModel(const QVariantMap &map){
    hasOutlet = false;

    netDevice = 0;
    noiseSource = 0;

    fromVariantMap(map);
}
Esempio n. 4
0
CoreNetworkConfig::CoreNetworkConfig(const QString &objectName, CoreSession *session)
    : NetworkConfig(objectName, session)
{
    setAllowClientUpdates(true);

    if (!session) {
        qWarning() << Q_FUNC_INFO << "No CoreSession set, cannot load network configuration!";
        return;
    }

    fromVariantMap(Core::getUserSetting(session->user(), objectName).toMap());
}
void CoreHighlightSettingsPage::importRules()
{
    NotificationSettings notificationSettings;

    const auto localHighlightList = notificationSettings.highlightList();

    // Re-use translations of "Legacy/Local Highlights" as this is a word-for-word reference,
    // forcing all spaces to non-breaking
    QString localHighlightsName;
    if (Quassel::runMode() == Quassel::Monolithic) {
        localHighlightsName = tr("Legacy Highlights").replace(" ", "&nbsp;");
    } else {
        localHighlightsName = tr("Local Highlights").replace(" ", "&nbsp;");
    }

    if (localHighlightList.count() == 0) {
        // No highlight rules exist to import, do nothing
        QMessageBox::information(this,
                                 tr("No highlights to import"),
                                 tr("No highlight rules in <i>%1</i>."
                                    ).arg(localHighlightsName));
        return;
    }

    int ret = QMessageBox::question(this,
                                    tr("Import highlights?"),
                                    tr("Import all highlight rules from <i>%1</i>?"
                                       ).arg(localHighlightsName),
                                    QMessageBox::Yes|QMessageBox::No,
                                    QMessageBox::No);

    if (ret != QMessageBox::Yes) {
        // Only two options, Yes or No, return if not Yes
        return;
    }

    auto clonedManager = HighlightRuleManager();
    clonedManager.fromVariantMap(Client::highlightRuleManager()->toVariantMap());

    for (const auto &variant : notificationSettings.highlightList()) {
        auto highlightRule = variant.toMap();

        clonedManager.addHighlightRule(
                clonedManager.nextId(),
                highlightRule["Name"].toString(),
                highlightRule["RegEx"].toBool(),
                highlightRule["CS"].toBool(),
                highlightRule["Enable"].toBool(),
                false,
                "",
                highlightRule["Channel"].toString()
        );
    }

    Client::highlightRuleManager()->requestUpdate(clonedManager.toVariantMap());
    setChangedState(false);
    load();

    // Give a heads-up that all succeeded
    QMessageBox::information(this,
                             tr("Imported highlights"),
                             tr("%1 highlight rules successfully imported."
                                ).arg(QString::number(localHighlightList.count())));
}