File indexing completed on 2024-06-23 05:49:08

0001 /*
0002     This file is part of the Okteta Kasten module, made within the KDE community.
0003 
0004     SPDX-FileCopyrightText: 2010, 2012 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 #ifndef KASTEN_VIEWPROFILEEDIT_HPP
0010 #define KASTEN_VIEWPROFILEEDIT_HPP
0011 
0012 // Qt
0013 #include <QWidget>
0014 
0015 // KF
0016 class KComboBox;
0017 // Qt
0018 class QCheckBox;
0019 class QSpinBox;
0020 class QLineEdit;
0021 
0022 namespace Kasten {
0023 class ByteArrayViewProfile;
0024 
0025 class ViewProfileEdit : public QWidget
0026 {
0027     Q_OBJECT
0028 
0029 public:
0030     explicit ViewProfileEdit(QWidget* parent = nullptr);
0031 
0032     ~ViewProfileEdit() override;
0033 
0034 public:
0035     ByteArrayViewProfile viewProfile() const;
0036 
0037 public:
0038     void setViewProfile(const ByteArrayViewProfile& viewProfile);
0039 
0040 Q_SIGNALS:
0041     void profileTitleChanged(const QString& title);
0042 
0043 private Q_SLOTS:
0044     void onLineBreakIndexChanged(int lineBreakIndex);
0045 
0046 private: // title
0047     QLineEdit* mTitleEdit;
0048 
0049 private: // display
0050     QCheckBox* mLineOffsetShownCheckBox;
0051     KComboBox* mOffsetCodingComboBox;
0052     KComboBox* mValuesCharsShownComboBox;
0053     KComboBox* mDisplayModeComboBox;
0054 
0055 private: // layout
0056     KComboBox* mLineBreakComboBox;
0057     QSpinBox* mGroupedBytesCountEdit;
0058     QSpinBox* mBytesPerLineEdit;
0059 
0060 private: // value
0061     KComboBox* mValueCodingComboBox;
0062 
0063 private: // char
0064     KComboBox* mCharCodingComboBox;
0065     QCheckBox* mNonPrintableShownCheckBox;
0066     QLineEdit* mUndefinedCharEdit;
0067     QLineEdit* mNonPrintableCharEdit;
0068 };
0069 
0070 }
0071 
0072 #endif