Пример #1
0
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();
}
Пример #2
0
void CTransaction::proRobotDevice(ROBOT_DATA t_data, QByteArray s_data)
{
    if(changing)
        return;
    int change = 0, i = 0;
    for(i = 0; i < statusDataBuf.count();i++)
    {
        if(t_data.hrg_num == statusDataBuf[i].hrg_num)
        {
            t_data = checkMeaningful(statusDataBuf[i], t_data, change);
            if(change)
            {
                statusDataBuf.removeAt(i);
                i = 0;
            }
            break;
        }
    }
    if(change == 1 ||
            statusDataBuf.count() == i)
    {
        robotStatusData * deviceData= new robotStatusData(t_data);
        QVariantMap deviceMap = toVariantMap(deviceData);
        QVariant deviceJson = toJsonVariant(deviceMap);
        emit uploadRobotDevice(deviceJson);
        deviceMap.clear();
        deviceJson.clear();
        statusDataBuf.append(t_data);
        if(deviceData != NULL)
        {
            delete deviceData;
            deviceData = NULL;
        }
    }
}
Пример #3
0
/**
 *
 * Recursively finds children in the connection list and re-parents them
 *
 * @return void
 */
void ConnectionSettings::reparentChildren(
        std::vector<ConnectionSettings *> &connectionList,
        ConnectionSettings *currentSettings)
{
    if (!currentSettings->contains("children")) {

        // This connection has no children. Look no further.
        return;
    }

    // Get children for the current connection settings
    auto children = currentSettings->get("children").toVariantVector();

    // Remove children vector
    currentSettings->remove("children");

    // Iterate collection
    for (auto it = children.begin(); it != children.end(); ++it) {

        // Initialize settings
        auto connectionSettings = new ConnectionSettings();

        // Load from map
        *connectionSettings << it->toVariantMap();

        // Set the parent for this connection to the correct parent
        connectionSettings->setParent(currentSettings);

        // Add to collection
        connectionList.push_back(connectionSettings);

        // Extract children
        reparentChildren(connectionList, connectionSettings);
    }
}
Пример #4
0
// currently we don't have a possibility to configure disableDecoration
// if we have an old config this value can be true which is... bad.
// so we upgrade the core stored bufferViewConfig.
// This can be removed with the next release
void ClientBufferViewConfig::ensureDecoration()
{
    if (!disableDecoration())
        return;
    setDisableDecoration(false);
    requestUpdate(toVariantMap());
}
QVariantMap RayPickScriptingInterface::getPrevRayPickResult(unsigned int uid) {
    QVariantMap result;
    auto pickResult = DependencyManager::get<PickManager>()->getPrevPickResult(uid);
    if (pickResult) {
        result = pickResult->toVariantMap();
    }
    return result;
}
Пример #6
0
void MarketingunitController::edit(const QString &pk)
{
    auto marketingunit = Marketingunit::get(pk.toInt());
    if (!marketingunit.isNull()) {
        renderEdit(marketingunit.toVariantMap());
    } else {
        redirect(urla("entry"));
    }
}
Пример #7
0
void AssetsunitmanagerController::edit(const QString &pk)
{
    auto assetsunitmanager = Assetsunitmanager::get(pk.toInt());
    if (!assetsunitmanager.isNull()) {
        renderEdit(assetsunitmanager.toVariantMap());
    } else {
        redirect(urla("entry"));
    }
}
Пример #8
0
void ParksController::edit(const QString &pk)
{
    auto parks = Parks::get(pk.toInt());
    if (!parks.isNull()) {
        renderEdit(parks.toVariantMap());
    } else {
        redirect(urla("entry"));
    }
}
Пример #9
0
void CmsController::changemanager(const QString &managerID)
{
    auto assetsunitmanager = Assetsunitmanager::get(managerID);
    if(!assetsunitmanager.isNull()){
       renderEdit2(assetsunitmanager.toVariantMap());
    }else{
        redirect(urla("change"));
    }
}
Пример #10
0
void CmsController::edit(const QString &pk)
{
    auto operators = Operators::get(pk);
    if (!operators.isNull()) {
        renderEdit(operators.toVariantMap());
    } else {
        redirect(urla("entry"));
    }
}
Пример #11
0
void CoreNetworkConfig::save()
{
    CoreSession *session = qobject_cast<CoreSession *>(parent());
    if (!session) {
        qWarning() << Q_FUNC_INFO << "No CoreSession set, cannot save network configuration!";
        return;
    }

    Core::setUserSetting(session->user(), objectName(), toVariantMap());
}
Пример #12
0
QVariantList CTransaction::getStatusData()
{
    QVariantList tmpList;
    for(int i = 0; i < statusDataBuf.count(); i++)
    {
        robotStatusData *deviceData = new robotStatusData(statusDataBuf[i]);
        QVariantMap deviceMap = toVariantMap(deviceData);
        QVariant deviceJson = toJsonVariant(deviceMap);
        tmpList.append(deviceJson);
        if(deviceData != NULL)
            delete deviceData;
        deviceData = NULL;
    }

    return tmpList;
}
Пример #13
0
VariantVector ConnectionSettings::getChildren(ConnectionSettings *parent)
{
    VariantVector vector;

    // Get children
    auto children = SmartObject::getChildren();

    for (auto it = children.begin(); it != children.end(); ++it) {

        auto child = static_cast<ConnectionSettings *>(*it);

        // Add to collection
        vector.push_back(child->toVariantMap());
    }

    return vector;
}
Пример #14
0
/**
 *
 * Saves connection settings given an array of settings. This also destroys
 * their pointers if destroy is true
 *
 * @param settings An array of connection settings
 * @param format The file format to use
 * @param filename The filename to save to
 * @return void
 */
void ConnectionSettings::save(
        std::vector<ConnectionSettings *> &settings, FileFormat format,
        std::string filename)
{
    VariantVector connections;
    FileStream *stream;

    for (auto it = settings.cbegin(); it != settings.cend(); ++it) {

        auto connection = (*it);

        if (connection->getParent() == nullptr) {

            // Add to collection
            connections.push_back(connection->toVariantMap());
        }
    }

    switch (format) {
        case FileFormat::BINARY:

            stream = new BinaryFileStream();
            break;
        case FileFormat::JSON:

            stream = new JsonFileStream();
    }

    // Open stream
    stream->open(filename, std::ios::out);

    // Save connections
    *stream << connections;

    // Close stream
    stream->close();

    // Free memory
    delete stream;
}
Пример #15
0
QVariantList CTransaction::structToJson()
{
    if(changing)
        return QVariantList();
    //changing = true;
    QList<ROBOT_DATA> tmpData = statusDataBuf;
    QVariantList list;
    for(int i = 0; i < tmpData.count(); i++){
        qDebug()<<"get data";
        robotStatusData * deviceData= new robotStatusData(tmpData.at(i));
        QVariantMap deviceMap = toVariantMap(deviceData);
        QVariant deviceJson = toJsonVariant(deviceMap);
        list.append(deviceJson);
        if(deviceData != NULL)
            delete deviceData;
        deviceData = NULL;
        qDebug()<<"get done";
    }
    tmpData.clear();
    //changing = false;
    return list;
}
Пример #16
0
bool CoreAccount::operator==(const CoreAccount &o) const
{
    return toVariantMap(true) == o.toVariantMap(true);
}
Пример #17
0
/**
 *
 * Loads all connection settings from a configuration file formatted as format
 *
 * @param format The format of the file
 * @param filename The filename to load
 * @return An array of connection settings pointers
 */
std::vector<ConnectionSettings *> ConnectionSettings::load(
        FileFormat format, std::string filename)
{
    std::vector<ConnectionSettings *> connectionList;
    ConnectionSettings *connectionSettings;
    FileStream *stream;
    Variant data;

    switch (format) {
    case BINARY:

        stream = new BinaryFileStream();
        break;
    case JSON:

        stream = new JsonFileStream();
        break;
    }

    // Open the file
    if (!stream->open(filename, std::ios::in)) {
        connectionSettings = createDefaultSettings();
        connectionList.push_back(connectionSettings);

        // Failed to open file
        return connectionList;
    }

    // Load stream
    *stream >> data;

    if (data.getType() == D_VARIANTVECTOR) {

        auto connections = data.toVariantVector();

        for (auto it = connections.begin(); it != connections.end(); ++it) {

            if (it->getType() == D_VARIANTMAP) {
                // Initialize settings
                connectionSettings = new ConnectionSettings();

                // Load from map
                *connectionSettings << it->toVariantMap();

                // Add to collection
                connectionList.push_back(connectionSettings);

                // Reparent the children and add to the connectionList
                // connection
                reparentChildren(connectionList, connectionSettings);
            }
        }
    }

    // Close stream
    stream->close();

    // Free memory
    delete stream;

    if (connectionList.size() == 0) {

        connectionSettings = createDefaultSettings();
        connectionList.push_back(connectionSettings);
    }

    return connectionList;
}
Пример #18
0
void CoreDccConfig::save()
{
    Core::setUserSetting(_coreSession->user(), settingsKey, toVariantMap());
}
Пример #19
0
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())));
}
Пример #20
0
QVariantMap Event::toVariantMap() const
{
    QVariantMap map;
    toVariantMap(map);
    return map;
}
void CoreHighlightRuleManager::save()
{
    Core::setUserSetting(_coreSession->user(), settingsKey, toVariantMap());
}