File indexing completed on 2024-06-09 04:52:59
0001 /* 0002 SPDX-FileCopyrightText: 2023 Mladen Milinkovic <max@smoothware.net> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef SUBTITLECOMPOSER_SUBTITLECLASSDIALOG_H 0007 #define SUBTITLECOMPOSER_SUBTITLECLASSDIALOG_H 0008 0009 #include <QDialog> 0010 0011 namespace Ui { 0012 class SubtitleClassDialog; 0013 } 0014 0015 namespace SubtitleComposer { 0016 0017 class SubtitleClassDialog : public QDialog 0018 { 0019 Q_OBJECT 0020 0021 Q_PROPERTY(QString currentClass READ currentClass WRITE setCurrentClass 0022 NOTIFY currentClassChanged) 0023 0024 public: 0025 SubtitleClassDialog(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags()); 0026 SubtitleClassDialog(const QString &initial, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags()); 0027 virtual ~SubtitleClassDialog(); 0028 0029 static QString getClass(const QStringList &classes, 0030 const QString &initial = QString(), 0031 QWidget *parent = nullptr, 0032 const QString &title = QString()); 0033 0034 void setCurrentClass(const QString &cssClass); 0035 QString currentClass() const; 0036 0037 inline QString selectedClass() const { return currentClass(); } 0038 0039 signals: 0040 void currentClassChanged(const QString &cssClass); 0041 void classSelected(const QString &cssClass); 0042 0043 private: 0044 Ui::SubtitleClassDialog *ui; 0045 }; 0046 } // namespace SubtitleComposer 0047 0048 #endif // SUBTITLECOMPOSER_SUBTITLECLASSDIALOG_H