File indexing completed on 2024-04-14 04:31:21

0001 /* This file is part of KDevelop
0002  * Copyright 2011 Mathieu Lornac <mathieu.lornac@gmail.com>
0003  * Copyright 2011 Damien Coppel <damien.coppel@gmail.com>
0004  * Copyright 2011 Lionel Duc <lionel.data@gmail.com>
0005  * Copyright 2017 Anton Anikin <anton@anikin.xyz>
0006 
0007    This program is free software; you can redistribute it and/or
0008    modify it under the terms of the GNU General Public
0009    License as published by the Free Software Foundation; either
0010    version 2 of the License, or (at your option) any later version.
0011 
0012    This program is distributed in the hope that it will be useful,
0013    but WITHOUT ANY WARRANTY; without even the implied warranty of
0014    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0015     General Public License for more details.
0016 
0017    You should have received a copy of the GNU General Public License
0018    along with this program; see the file COPYING.  If not, write to
0019    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0020    Boston, MA 02110-1301, USA.
0021 */
0022 
0023 #include "memcheck_configpage.h"
0024 #include "ui_memcheck_configpage.h"
0025 
0026 #include "debug.h"
0027 #include "memcheck_config.h"
0028 #include "memcheck_tool.h"
0029 
0030 #include <QMenu>
0031 
0032 #include <KLocalizedString>
0033 
0034 namespace Valgrind
0035 {
0036 
0037 MemcheckConfigPage::MemcheckConfigPage(QWidget* parent)
0038     : ConfigPage(MemcheckTool::self()->name(), parent)
0039 {
0040     Ui::MemcheckConfigPage ui;
0041     ui.setupUi(this);
0042 
0043     ui.kcfg_showLeakKinds->addAction(i18n("definite"), QStringLiteral("definite"));
0044     ui.kcfg_showLeakKinds->addAction(i18n("possible"), QStringLiteral("possible"));
0045     ui.kcfg_showLeakKinds->addAction(i18n("indirect"), QStringLiteral("indirect"));
0046     ui.kcfg_showLeakKinds->addAction(i18n("reachable"), QStringLiteral("reachable"));
0047     connect(ui.kcfg_showLeakKinds, &MenuButton::valueChanged, this, &MemcheckConfigPage::changed);
0048 
0049     // FIXME fix i18n text ?
0050     ui.kcfg_leakCheckHeuristics->addAction(i18n("stdstring"), QStringLiteral("stdstring"));
0051     ui.kcfg_leakCheckHeuristics->addAction(i18n("length64"), QStringLiteral("length64"));
0052     ui.kcfg_leakCheckHeuristics->addAction(i18n("newarray"), QStringLiteral("newarray"));
0053     ui.kcfg_leakCheckHeuristics->addAction(i18n("multipleinheritance"), QStringLiteral("multipleinheritance"));
0054     connect(ui.kcfg_leakCheckHeuristics, &MenuButton::valueChanged, this, &MemcheckConfigPage::changed);
0055 
0056     ui.kcfg_leakResolution->addItem(i18n("high"), QStringLiteral("high"));
0057     ui.kcfg_leakResolution->addItem(i18n("medium"), QStringLiteral("med"));
0058     ui.kcfg_leakResolution->addItem(i18n("low"), QStringLiteral("low"));
0059 
0060     ui.kcfg_keepStacktraces->addItem(i18n("alloc"), QStringLiteral("alloc"));
0061     ui.kcfg_keepStacktraces->addItem(i18n("free"), QStringLiteral("free"));
0062     ui.kcfg_keepStacktraces->addItem(i18n("alloc-and-free"), QStringLiteral("alloc-and-free"));
0063     ui.kcfg_keepStacktraces->addItem(i18n("alloc-then-free"), QStringLiteral("alloc-then-free"));
0064     ui.kcfg_keepStacktraces->addItem(i18n("none"), QStringLiteral("none"));
0065 
0066     init(new MemcheckConfig);
0067 }
0068 
0069 }