File indexing completed on 2024-05-12 09:46:21
0001 /* 0002 SPDX-FileCopyrightText: 2011 Vishesh Yadav <vishesh3y@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "generalconfig.h" 0008 0009 #include <QGridLayout> 0010 #include <QLabel> 0011 #include <QString> 0012 #include <QCheckBox> 0013 #include <QLineEdit> 0014 #include <KLocalizedString> 0015 0016 HgGeneralConfigWidget::HgGeneralConfigWidget(HgConfig::ConfigType type, QWidget *parent): 0017 QWidget(parent), 0018 m_configType(type) 0019 { 0020 setupUI(); 0021 loadConfig(); 0022 } 0023 0024 void HgGeneralConfigWidget::setupUI() 0025 { 0026 m_userEdit = new QLineEdit; 0027 m_editorEdit = new QLineEdit; 0028 m_mergeEdit = new QLineEdit; 0029 m_verboseCheck = new QCheckBox(xi18nc("@label:checkbox", "Verbose Output")); 0030 0031 QLabel *userLabel = new QLabel(xi18nc("@label", "Username")); 0032 QLabel *editorLabel = new QLabel(xi18nc("@label", "Default Editor")); 0033 QLabel *mergeLabel = new QLabel(xi18nc("@label", "Default Merge Tool")); 0034 0035 QGridLayout *mainLayout = new QGridLayout; 0036 mainLayout->addWidget(userLabel, 0, 0); 0037 mainLayout->addWidget(m_userEdit, 0, 1); 0038 mainLayout->addWidget(editorLabel, 1, 0); 0039 mainLayout->addWidget(m_editorEdit, 1, 1); 0040 mainLayout->addWidget(mergeLabel, 2, 0); 0041 mainLayout->addWidget(m_mergeEdit, 2, 1); 0042 mainLayout->addWidget(m_verboseCheck, 3, 0, 2, 0); 0043 mainLayout->setRowStretch(mainLayout->rowCount(), 1); 0044 0045 setLayout(mainLayout); 0046 } 0047 0048 void HgGeneralConfigWidget::loadConfig() 0049 { 0050 HgConfig hgc(m_configType); 0051 0052 m_userEdit->setText(hgc.username()); 0053 m_editorEdit->setText(hgc.editor()); 0054 m_mergeEdit->setText(hgc.merge()); 0055 0056 QString verbose = hgc.property(QLatin1String("ui"), QLatin1String("verbose")); 0057 if (verbose.isEmpty() || verbose == QStringLiteral("False")) { 0058 m_verboseCheck->setChecked(false); 0059 } 0060 else if (verbose == QLatin1String("True")) { 0061 m_verboseCheck->setChecked(true); 0062 } 0063 } 0064 0065 void HgGeneralConfigWidget::saveConfig() 0066 { 0067 HgConfig hgc(m_configType); 0068 hgc.setUsername(m_userEdit->text()); 0069 hgc.setEditor(m_editorEdit->text()); 0070 hgc.setMerge(m_mergeEdit->text()); 0071 0072 if (m_verboseCheck->checkState() == Qt::Checked) { 0073 hgc.setProperty(QLatin1String("ui"), QLatin1String("verbose"), 0074 QLatin1String("True")); 0075 } 0076 else { 0077 hgc.setProperty(QLatin1String("ui"), QLatin1String("verbose"), 0078 QLatin1String("False")); 0079 } 0080 } 0081 0082 0083 0084 #include "moc_generalconfig.cpp"