File indexing completed on 2025-02-02 04:11:27
0001 /* 0002 * SPDX-FileCopyrightText: 2019-2023 Mattia Basaglia <dev@dragon.best> 0003 * 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 */ 0006 0007 #ifndef EXTERNALFONTWIDGET_H 0008 #define EXTERNALFONTWIDGET_H 0009 0010 #include <memory> 0011 #include <QWidget> 0012 0013 #include "model/custom_font.hpp" 0014 0015 namespace glaxnimate::gui::font { 0016 0017 class ExternalFontWidget : public QWidget 0018 { 0019 Q_OBJECT 0020 0021 public: 0022 ExternalFontWidget(QWidget* parent = nullptr); 0023 ~ExternalFontWidget(); 0024 0025 void set_font_size(double size); 0026 0027 model::CustomFont custom_font() const; 0028 const QFont& selected_font() const; 0029 0030 protected: 0031 void changeEvent ( QEvent* e ) override; 0032 void showEvent(QShowEvent * event) override; 0033 0034 private Q_SLOTS: 0035 void url_from_file(); 0036 void load_url(); 0037 void url_changed(const QString& url); 0038 0039 Q_SIGNALS: 0040 void font_changed(const QFont& font); 0041 0042 private: 0043 class Private; 0044 std::unique_ptr<Private> d; 0045 }; 0046 0047 0048 } // namespace glaxnimate::gui::font 0049 0050 #endif // EXTERNALFONTWIDGET_H