File indexing completed on 2024-06-09 04:58:55
0001 /* 0002 SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "logssettingswidget.h" 0008 #include "rocketchataccount.h" 0009 0010 #include <KLocalizedString> 0011 #include <QCheckBox> 0012 #include <QComboBox> 0013 #include <QFormLayout> 0014 #include <QLineEdit> 0015 #include <QSpinBox> 0016 0017 LogsSettingsWidget::LogsSettingsWidget(RocketChatAccount *account, QWidget *parent) 0018 : SettingsWidgetBase(account, parent) 0019 , mLogExceptionsChannel(new QLineEdit(this)) 0020 , mLogViewLimit(new QSpinBox(this)) 0021 , mLogLevel(new QComboBox(this)) 0022 , mTraceMethodCalls(new QCheckBox(i18n("Trace method calls"), this)) 0023 , mTraceMethodFilter(new QLineEdit(this)) 0024 , mTraceSubscriptionCalls(new QCheckBox(i18n("Trace subscription calls"), this)) 0025 , mTraceSubscriptionFilter(new QLineEdit(this)) 0026 { 0027 mLogExceptionsChannel->setObjectName(QStringLiteral("mLogExceptionsChannel")); 0028 mLogExceptionsChannel->setToolTip(i18n("A channel that will receive all captured exceptions. Leave empty to ignore exceptions.")); 0029 addLineEdit(i18n("Log Exceptions to Channel"), mLogExceptionsChannel, QStringLiteral("Log_Exceptions_to_Channel")); 0030 0031 mLogLevel->setObjectName(QStringLiteral("mLogLevel")); 0032 const QMap<QString, QString> maps = { 0033 {QStringLiteral("0"), i18n("Errors Only")}, 0034 {QStringLiteral("1"), i18n("Errors and Information")}, 0035 {QStringLiteral("2"), i18n("Errors, Information and Debug")}, 0036 }; 0037 addComboBox(i18n("Log Level"), maps, mLogLevel, QStringLiteral("Log_Level")); 0038 0039 mLogViewLimit->setObjectName(QStringLiteral("mLogViewLimit")); 0040 mLogViewLimit->setMaximum(999999); 0041 addSpinbox(i18n("Log View Limit"), mLogViewLimit, QStringLiteral("Log_View_Limit")); 0042 0043 mTraceMethodCalls->setObjectName(QStringLiteral("mTraceMethodCalls")); 0044 mMainLayout->addWidget(mTraceMethodCalls); 0045 connectCheckBox(mTraceMethodCalls, QStringLiteral("Log_Trace_Methods")); 0046 0047 mTraceMethodFilter->setObjectName(QStringLiteral("mTraceMethodFilter")); 0048 mTraceMethodFilter->setToolTip(i18n("The text here will be evaluated as RegExp (new RegExp('text')). Keep it empty to show trace of every call.")); 0049 addLineEdit(i18n("Trace method filter"), mTraceMethodFilter, QStringLiteral("Log_Trace_Methods_Filter")); 0050 0051 mTraceSubscriptionCalls->setObjectName(QStringLiteral("mTraceSubscriptionCalls")); 0052 mMainLayout->addWidget(mTraceSubscriptionCalls); 0053 connectCheckBox(mTraceSubscriptionCalls, QStringLiteral("Log_Trace_Subscriptions")); 0054 0055 mTraceSubscriptionFilter->setObjectName(QStringLiteral("mTraceSubscriptionFilter")); 0056 mTraceSubscriptionFilter->setToolTip(i18n("The text here will be evaluated as RegExp (new RegExp('text')). Keep it empty to show trace of every call.")); 0057 addLineEdit(i18n("Trace method filter"), mTraceSubscriptionFilter, QStringLiteral("Log_Trace_Subscriptions_Filter")); 0058 } 0059 0060 LogsSettingsWidget::~LogsSettingsWidget() = default; 0061 0062 void LogsSettingsWidget::initialize(const QMap<QString, QVariant> &mapSettings) 0063 { 0064 initializeWidget(mLogExceptionsChannel, mapSettings, {}); 0065 initializeWidget(mLogViewLimit, mapSettings, 1000); 0066 initializeWidget(mLogLevel, mapSettings, QStringLiteral("0")); 0067 initializeWidget(mTraceMethodCalls, mapSettings, false); 0068 initializeWidget(mTraceSubscriptionCalls, mapSettings, false); 0069 initializeWidget(mTraceMethodFilter, mapSettings, {}); 0070 initializeWidget(mTraceSubscriptionFilter, mapSettings, {}); 0071 } 0072 0073 #include "moc_logssettingswidget.cpp"