Example #1
0
void MainWindow::saveData()
{
    QFile file(data_file_name_);
    if (file.open(QIODevice::WriteOnly))
    {
        QTextStream stream(&file);
        stream << password_ << endl;

        stream << ui_->EventsTable->rowCount() << endl;
        for (int i = 0; i < ui_->EventsTable->rowCount(); ++i)
        {
            QTableWidgetItem* name = ui_->EventsTable->item(i, 0);
            QTableWidgetItem* descr = ui_->EventsTable->item(i, 1);
            QDateEdit* date = dynamic_cast<QDateEdit*>(ui_->EventsTable->cellWidget(i, 2));
            QComboBox* level = dynamic_cast<QComboBox*>(ui_->EventsTable->cellWidget(i, 3));
            stream << name->text() << '\n' << descr->text() << '\n'
                   << date->text() << '\n' << level->currentIndex() << endl;
        }

        stream << ui_->FriendsTable->rowCount() << endl;
        for (int i = 0; i < ui_->FriendsTable->rowCount(); ++i)
        {
            QTableWidgetItem* name = ui_->FriendsTable->item(i, 0);
            QComboBox* level = dynamic_cast<QComboBox*>(ui_->FriendsTable->cellWidget(i, 1));
            QTableWidgetItem* descr = ui_->FriendsTable->item(i, 2);
            QDateEdit* date = dynamic_cast<QDateEdit*>(ui_->FriendsTable->cellWidget(i, 3));
            stream << name->text() << '\n' << level->currentIndex() << '\n'
                   << descr->text() << '\n' << date->text() << endl;
        }

        stream << money_.getCurRubNalValue() << ' '
               << money_.getCurEurNalValue() << ' '
               << money_.getCurUsdNalValue() << ' '
               << money_.getCurRubElecValue() << ' '
               << money_.getCurEurElecValue() << ' '
               << money_.getCurUsdElecValue() << ' '
               << money_.getOldRubNalValue() << ' '
               << money_.getOldEurNalValue() << ' '
               << money_.getOldUsdNalValue() << ' '
               << money_.getOldRubElecValue() << ' '
               << money_.getOldEurElecValue() << ' '
               << money_.getOldUsdElecValue() << endl;

        stream << ui_->NotesTextField->toPlainText();
    }
    file.close();
}
QString ExprParamElement::toString()
{
    QString str = "";
    if (isStringSearchExpression())
    {
        str = QString("\"") + getStrSearchValue() + QString("\""); 
        // we don't bother with case if hash search
	if (searchType != HashSearch) {
	    str += (ignoreCase() ? QString(" (ignore case)") 
                            : QString(" (case sensitive)")); 
	}
    } else 
    {
        if (searchType ==  DateSearch) {
            QDateEdit * dateEdit =  qFindChild<QDateEdit *> (internalframe, "param1");
            str = dateEdit->text();
            if (inRangedConfig)
            {
                str += QString(" ") + tr("to") + QString(" ");
                dateEdit = qFindChild<QDateEdit *> (internalframe, "param2");
                str += dateEdit->text();
            }
        } else if (searchType == SizeSearch) 
        {
            QLineEdit * lineEditSize =  qFindChild<QLineEdit*>(internalframe, "param1");
            str = ("" == lineEditSize->text()) ? "0"
                                               : lineEditSize->text();
            QComboBox * cb = qFindChild<QComboBox*> (internalframe, "unitsCb1");
            str += QString(" ") + cb->itemText(cb->currentIndex());
            if (inRangedConfig)
            {
                str += QString(" ") + tr("to") + QString(" ");
                lineEditSize =  qFindChild<QLineEdit*>(internalframe, "param2");
                str += ("" == lineEditSize->text()) ? "0"
                                                    : lineEditSize->text();
                cb = qFindChild<QComboBox*> (internalframe, "unitsCb2");
                str += QString(" ") + cb->itemText(cb->currentIndex());
            }
        }
    }
    return str;
}
/**
  @copydoc Configurable::configFromWidget
*/
void Configurable::configFromNextWidget(QObject* cur,ConfigParamList& paramList){

    //parametres de configuration
    const QObjectList& list = cur->children();
    for(int i=0;i<list.size();i++)
    {
        QObject* child = list.at(i);
        if(!child->objectName().isEmpty() && child->isWidgetType())
        {
            QString value;

            // QLineEdit ?
            QLineEdit *lineEdit = qobject_cast<QLineEdit *>(child);
            if(lineEdit)
               value = lineEdit->text();

            // QComboBox ?
            QComboBox *comboBox = qobject_cast<QComboBox *>(child);
            if(comboBox)
                value = comboBox->currentText();

            // QSpinBox ?
            QSpinBox *spinBox = qobject_cast<QSpinBox *>(child);
            if(spinBox)
                value = spinBox->text();

            // QDoubleSpinBox ?
            QDoubleSpinBox *doubleSpinBox = qobject_cast<QDoubleSpinBox *>(child);
            if(doubleSpinBox)
                value = doubleSpinBox->text();

            // QTextEdit ?
            QTextEdit *textEdit = qobject_cast<QTextEdit *>(child);
            if(textEdit)
                value = textEdit->toPlainText();

            // QPlainTextEdit ?
            QPlainTextEdit *plainTextEdit = qobject_cast<QPlainTextEdit *>(child);
            if(plainTextEdit)
                value = plainTextEdit->toPlainText();

            // QTimeEdit ?
            QTimeEdit *timeEdit = qobject_cast<QTimeEdit *>(child);
            if(timeEdit)
                value = timeEdit->text();

            // QDateTimeEdit ?
            QDateTimeEdit *dateTimeEdit = qobject_cast<QDateTimeEdit *>(child);
            if(dateTimeEdit)
                value = timeEdit->text();

            // QDateEdit ?
            QDateEdit *dateEdit = qobject_cast<QDateEdit *>(child);
            if(dateEdit)
                value = dateEdit->text();

            // QDial ?
            QDial *dial = qobject_cast<QDial *>(child);
            if(dial)
                value = QString::number(dial->value());

            // QSlider ?
            QSlider *slider = qobject_cast<QSlider *>(child);
            if(slider)
                value = QString::number(slider->value());

            //sauvegarde la valeur
            if(!value.isNull()){
/*#ifdef _DEBUG
                QPRINT("loadConfig >> "+child->objectName()+"="+value);
#endif*/
                if(paramList.find(child->objectName()) != paramList.end())
                    paramList[child->objectName()]->setValue(value);
                else
                    paramList[child->objectName()] = new ConfigParam(value,"");
            }
        }
        Configurable::configFromNextWidget(child,paramList);
    }
}