File indexing completed on 2024-04-28 09:37:01

0001 /*
0002     This file is part of KCachegrind.
0003 
0004     SPDX-FileCopyrightText: 2009-2016 Josef Weidendorfer <Josef.Weidendorfer@gmx.de>
0005 
0006     SPDX-License-Identifier: GPL-2.0-only
0007 */
0008 
0009 /*
0010  * General settings config page
0011  */
0012 
0013 #include "generalsettings.h"
0014 #include "globalconfig.h"
0015 
0016 //
0017 // GeneralSettings
0018 //
0019 
0020 GeneralSettings::GeneralSettings(QWidget* parent)
0021     : ConfigPage(parent,
0022                  QObject::tr("General"), QObject::tr("General Settings"))
0023 {
0024     ui.setupUi(this);
0025 
0026     GlobalConfig* c = GlobalConfig::config();
0027     ui.maxListEdit->setText(QString::number(c->maxListCount()));
0028     ui.symbolCount->setText(QString::number(c->maxSymbolCount()));
0029     ui.symbolLength->setText(QString::number(c->maxSymbolLength()));
0030     ui.precisionEdit->setText(QString::number(c->percentPrecision()));
0031     ui.contextEdit->setText(QString::number(c->context()));
0032 
0033     _names.insert(QStringLiteral("maxListEdit"), ui.maxListEdit);
0034     _names.insert(QStringLiteral("symbolCount"), ui.symbolCount);
0035     _names.insert(QStringLiteral("symbolLength"), ui.symbolLength);
0036     _names.insert(QStringLiteral("precisionEdit"), ui.precisionEdit);
0037     _names.insert(QStringLiteral("contextEdit"), ui.contextEdit);
0038 }
0039 
0040 
0041 bool GeneralSettings::check(QString& errorMsg, QString& errorItem)
0042 {
0043     int v;
0044     v = ui.maxListEdit->text().toUInt();
0045     if ((v <1) || (v >500)) {
0046         errorMsg = inRangeError(1, 500);
0047         errorItem = QStringLiteral("maxListEdit");
0048         return false;
0049     }
0050 
0051     v = ui.symbolCount->text().toInt();
0052     if ((v <1) || (v >50)) {
0053         errorMsg = inRangeError(1, 50);
0054         errorItem = QStringLiteral("symbolCount");
0055         return false;
0056     }
0057 
0058     v = ui.symbolLength->text().toInt();
0059     if ((v <1) || (v >1000)) {
0060         errorMsg = inRangeError(1, 1000);
0061         errorItem = QStringLiteral("symbolLength");
0062         return false;
0063     }
0064 
0065     v = ui.precisionEdit->text().toInt();
0066     if ((v <1) || (v >5)) {
0067         errorMsg = inRangeError(1, 5);
0068         errorItem = QStringLiteral("precisionEdit");
0069         return false;
0070     }
0071 
0072     v = ui.contextEdit->text().toInt();
0073     if ((v <1) || (v >500)) {
0074         errorMsg = inRangeError(1, 500);
0075         errorItem = QStringLiteral("contextEdit");
0076         return false;
0077     }
0078 
0079     return true;
0080 }
0081 
0082 void GeneralSettings::accept()
0083 {
0084     GlobalConfig* c = GlobalConfig::config();
0085 
0086     c->setMaxListCount(ui.maxListEdit->text().toUInt());
0087     c->setMaxSymbolCount(ui.symbolCount->text().toInt());
0088     c->setMaxSymbolLength(ui.symbolLength->text().toInt());
0089     c->setPercentPrecision(ui.precisionEdit->text().toInt());
0090     c->setContext(ui.contextEdit->text().toInt());
0091 }
0092 
0093 #include "moc_generalsettings.cpp"