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: 2019 Lars Maier <lars.maier@tefax.net>
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 "crc64bytearraychecksumparameterset.hpp"
0013 #include "crc64bytearraychecksumparametersetedit.hpp"
0014 // Okteta Kasten gui
0015 #include <Kasten/Okteta/ByteArrayComboBox>
0016 // KF
0017 #include <KLocalizedString>
0018 #include <KComboBox>
0019 // Qt
0020 #include <QFormLayout>
0021 
0022 const char Crc64ByteArrayChecksumParameterSetEdit::Id[] = "Crc64";
0023 
0024 Crc64ByteArrayChecksumParameterSetEdit::Crc64ByteArrayChecksumParameterSetEdit(QWidget* parent)
0025     : AbstractByteArrayChecksumParameterSetEdit(parent)
0026 {
0027     auto* baseLayout = new QFormLayout(this);
0028     baseLayout->setContentsMargins(0, 0, 0, 0);
0029 
0030     mVariantComboBox = new KComboBox(this);
0031     mVariantComboBox->addItem(i18nc("@item:inlistbox", "ECMA-182"));
0032     mVariantComboBox->addItem(i18nc("@item:inlistbox", "ISO 3309"));
0033     connect(mVariantComboBox, qOverload<int>(&KComboBox::activated),
0034             this, &Crc64ByteArrayChecksumParameterSetEdit::valuesChanged);
0035 
0036     const QString byteOrderLabelText =
0037         i18nc("@label:listbox variant used to select the CRC-64 variant",
0038               "CRC-64 variant:");
0039     const QString groupSizeToolTip =
0040         i18nc("@info:tooltip",
0041               "CRC-64 variant used by calculation.");
0042     mVariantComboBox->setToolTip(groupSizeToolTip);
0043 
0044     baseLayout->addRow(byteOrderLabelText, mVariantComboBox);
0045 }
0046 
0047 Crc64ByteArrayChecksumParameterSetEdit::~Crc64ByteArrayChecksumParameterSetEdit() = default;
0048 
0049 bool Crc64ByteArrayChecksumParameterSetEdit::isValid() const { return true; }
0050 
0051 void Crc64ByteArrayChecksumParameterSetEdit::setParameterSet(const AbstractByteArrayChecksumParameterSet* parameterSet)
0052 {
0053     const auto* crc64ParameterSet =
0054         static_cast<const Crc64ByteArrayChecksumParameterSet*>(parameterSet);
0055 
0056     mVariantComboBox->setCurrentIndex(static_cast<int>(crc64ParameterSet->crc64Variant()));
0057 }
0058 
0059 void Crc64ByteArrayChecksumParameterSetEdit::getParameterSet(AbstractByteArrayChecksumParameterSet* parameterSet) const
0060 {
0061     auto* crc64ParameterSet =
0062         static_cast<Crc64ByteArrayChecksumParameterSet*>(parameterSet);
0063 
0064     crc64ParameterSet->setCrc64Variant(static_cast<Crc64Variant>(mVariantComboBox->currentIndex()));
0065 }
0066 
0067 #include "moc_crc64bytearraychecksumparametersetedit.cpp"