1 /*
2     This file is part of the Kasten Framework, made within the KDE community.
3 
4     SPDX-FileCopyrightText: 2010 Friedrich W. H. Kossebau <kossebau@kde.org>
5 
6     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
7 */
8 
9 #include "bytearrayxxencodingstreamencoderconfigeditor.hpp"
10 
11 // lib
12 #include "bytearraytextstreamencoderpreview.hpp"
13 // KF
14 #include <KLocalizedString>
15 // Qt
16 #include <QFormLayout>
17 #include <QLabel>
18 #include <QLineEdit>
19 
20 namespace Kasten {
21 
ByteArrayXxencodingStreamEncoderConfigEditor(ByteArrayXxencodingStreamEncoder * encoder,QWidget * parent)22 ByteArrayXxencodingStreamEncoderConfigEditor::ByteArrayXxencodingStreamEncoderConfigEditor(ByteArrayXxencodingStreamEncoder* encoder, QWidget* parent)
23     : AbstractModelStreamEncoderConfigEditor(parent)
24     , mEncoder(encoder)
25 {
26     mSettings = mEncoder->settings();
27 
28     auto* pageLayout = new QFormLayout(this);
29     pageLayout->setContentsMargins(0, 0, 0, 0);
30 
31     // internal file name
32     const QString fileNameLabel =
33         i18nc("@label:textbox file name internally given to the encoded data",
34               "Internal name of file:");
35 
36     mFileNameEdit = new QLineEdit(this);
37     mFileNameEdit->setClearButtonEnabled(true);
38     mFileNameEdit->setText(mSettings.fileName);
39     connect(mFileNameEdit, &QLineEdit::textChanged, this, &ByteArrayXxencodingStreamEncoderConfigEditor::onSettingsChanged);
40     pageLayout->addRow(fileNameLabel, mFileNameEdit);
41 }
42 
43 ByteArrayXxencodingStreamEncoderConfigEditor::~ByteArrayXxencodingStreamEncoderConfigEditor() = default;
44 
createPreviewView() const45 AbstractSelectionView* ByteArrayXxencodingStreamEncoderConfigEditor::createPreviewView() const
46 {
47     return new ByteArrayTextStreamEncoderPreview(mEncoder);
48 }
49 
onSettingsChanged()50 void ByteArrayXxencodingStreamEncoderConfigEditor::onSettingsChanged()
51 {
52     mSettings.fileName = mFileNameEdit->text();
53 
54     mEncoder->setSettings(mSettings);
55 }
56 
57 }
58