1// Copyright (C) 2018 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef MAINWINDOW_H
5#define MAINWINDOW_H
6
7#include <QMainWindow>
8#include <QSettings>
9
10QT_BEGIN_NAMESPACE
11
12namespace Ui {
13class MainWindow;
14}
15
16class QLabel;
17class QProgressBar;
18class DistanceFieldModel;
19class QListWidgetItem;
20class MainWindow : public QMainWindow
21{
22 Q_OBJECT
23public:
24 explicit MainWindow(QWidget *parent = 0);
25 ~MainWindow();
26
27 void open(const QString &path);
28
29protected:
30 void closeEvent(QCloseEvent *event) override;
31
32private slots:
33 void openFont();
34 void startProgressBar(quint16 glyphCount);
35 void stopProgressBar();
36 void updateProgressBar();
37 void selectAll();
38 void updateSelection();
39 void updateUnicodeRanges();
40 void populateUnicodeRanges();
41 void save();
42 void saveAs();
43 void displayError(const QString &errorString);
44 void selectString();
45 void about();
46
47private:
48 void setupConnections();
49 void writeFile();
50 QByteArray createSfntTable();
51
52 Ui::MainWindow *ui;
53 QString m_fontDir;
54 QString m_fontFile;
55 QSettings m_settings;
56 DistanceFieldModel *m_model;
57 QLabel *m_statusBarLabel;
58 QProgressBar *m_statusBarProgressBar;
59 QString m_fileName;
60};
61
62QT_END_NAMESPACE
63
64#endif // MAINWINDOW_H
65

source code of qttools/src/distancefieldgenerator/mainwindow.h