File indexing completed on 2024-06-23 05:48:48

0001 /*
0002     This file is part of the Okteta Kasten module, made within the KDE community.
0003 
0004     SPDX-FileCopyrightText: 2009 Friedrich W. H. Kossebau <kossebau@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007 */
0008 
0009 #include "modsumbytearraychecksumparametersetedit.hpp"
0010 
0011 // parameterset
0012 #include "modsumbytearraychecksumparameterset.hpp"
0013 // KF
0014 #include <KLocalizedString>
0015 #include <KComboBox>
0016 // Qt
0017 #include <QFormLayout>
0018 
0019 const char ModSumByteArrayChecksumParameterSetEdit::Id[] = "ModSum";
0020 
0021 ModSumByteArrayChecksumParameterSetEdit::ModSumByteArrayChecksumParameterSetEdit(QWidget* parent)
0022     : AbstractByteArrayChecksumParameterSetEdit(parent)
0023 {
0024     auto* baseLayout = new QFormLayout(this);
0025     baseLayout->setContentsMargins(0, 0, 0, 0);
0026 
0027     mByteOrderComboBox = new KComboBox(this);
0028     mByteOrderComboBox->addItem(i18nc("@item:inlistbox", "Big-endian"));     // add first for index
0029     mByteOrderComboBox->addItem(i18nc("@item:inlistbox", "Little-endian"));  // add second for index
0030     connect(mByteOrderComboBox, qOverload<int>(&KComboBox::activated),
0031             this, &ModSumByteArrayChecksumParameterSetEdit::valuesChanged);
0032 
0033     const QString byteOrderLabelText =
0034         i18nc("@label:listbox byte order to use for decoding the bytes into integer values",
0035               "Byte Order:");
0036     const QString groupSizeToolTip =
0037         i18nc("@info:tooltip",
0038               "The byte order to use for decoding the bytes into integer values.");
0039     mByteOrderComboBox->setToolTip(groupSizeToolTip);
0040 
0041     baseLayout->addRow(byteOrderLabelText, mByteOrderComboBox);
0042 }
0043 
0044 ModSumByteArrayChecksumParameterSetEdit::~ModSumByteArrayChecksumParameterSetEdit() = default;
0045 
0046 bool ModSumByteArrayChecksumParameterSetEdit::isValid() const { return true; }
0047 
0048 void ModSumByteArrayChecksumParameterSetEdit::setParameterSet(const AbstractByteArrayChecksumParameterSet* parameterSet)
0049 {
0050     const auto* modSumParameterSet =
0051         static_cast<const ModSumByteArrayChecksumParameterSet*>(parameterSet);
0052 
0053     mByteOrderComboBox->setCurrentIndex(modSumParameterSet->endianness());
0054 }
0055 
0056 void ModSumByteArrayChecksumParameterSetEdit::getParameterSet(AbstractByteArrayChecksumParameterSet* parameterSet) const
0057 {
0058     auto* modSumParameterSet =
0059         static_cast<ModSumByteArrayChecksumParameterSet*>(parameterSet);
0060 
0061     modSumParameterSet->setEndianness(static_cast<QSysInfo::Endian>(mByteOrderComboBox->currentIndex()));
0062 }
0063 
0064 #include "moc_modsumbytearraychecksumparametersetedit.cpp"