File indexing completed on 2024-04-28 05:40:47

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"