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