diff options
author | Kai Koehne <kai.koehne@qt.io> | 2018-11-27 12:09:13 +0100 |
---|---|---|
committer | Kai Koehne <kai.koehne@qt.io> | 2018-11-28 11:50:47 +0000 |
commit | e1cb690912a6d7bb1a8a3a32afa8a08472d52aa8 (patch) | |
tree | af2ea0132d58f56a9245a07cef476e42eb5b99cd | |
parent | f34661999aaf09920b46e5789a578cb81ebb0c6d (diff) | |
download | qttools-e1cb690912a6d7bb1a8a3a32afa8a08472d52aa8.tar.gz |
distancefieldgenerator: Add command line interface
Fixes: QTBUG-72052
Change-Id: I52aa7081334b2515e670373c7975a9ec2bb7c00b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-rw-r--r-- | src/distancefieldgenerator/main.cpp | 17 | ||||
-rw-r--r-- | src/distancefieldgenerator/mainwindow.cpp | 32 | ||||
-rw-r--r-- | src/distancefieldgenerator/mainwindow.h | 2 |
3 files changed, 33 insertions, 18 deletions
diff --git a/src/distancefieldgenerator/main.cpp b/src/distancefieldgenerator/main.cpp index c7b5cab13..6a39e8cc3 100644 --- a/src/distancefieldgenerator/main.cpp +++ b/src/distancefieldgenerator/main.cpp @@ -30,9 +30,6 @@ #include <QApplication> #include <QCommandLineParser> -#include <QFile> -#include <QFileInfo> -#include <QRawFont> QT_USE_NAMESPACE @@ -44,9 +41,21 @@ int main(int argc, char **argv) app.setApplicationName(QStringLiteral("Qt Distance Field Generator")); app.setApplicationVersion(QStringLiteral(QT_VERSION_STR)); + QCommandLineParser parser; + parser.setApplicationDescription( + QCoreApplication::translate("main", + "Allows to prepare a font cache for Qt applications.")); + parser.addHelpOption(); + parser.addVersionOption(); + parser.addPositionalArgument(QLatin1String("file"), + QCoreApplication::translate("main", + "Font file (*.ttf, *.otf)")); + parser.process(app); + MainWindow mainWindow; + if (!parser.positionalArguments().isEmpty()) + mainWindow.open(parser.positionalArguments().constFirst()); mainWindow.showMaximized(); return app.exec(); } - diff --git a/src/distancefieldgenerator/mainwindow.cpp b/src/distancefieldgenerator/mainwindow.cpp index 98efe9572..d41840484 100644 --- a/src/distancefieldgenerator/mainwindow.cpp +++ b/src/distancefieldgenerator/mainwindow.cpp @@ -84,6 +84,22 @@ MainWindow::~MainWindow() delete ui; } +void MainWindow::open(const QString &path) +{ + m_fileName.clear(); + m_fontFile = path; + m_fontDir = QFileInfo(path).absolutePath(); + m_settings.setValue(QStringLiteral("fontDirectory"), m_fontDir); + + ui->lwUnicodeRanges->clear(); + ui->lwUnicodeRanges->setDisabled(true); + ui->action_Save->setDisabled(true); + ui->action_Save_as->setDisabled(true); + ui->tbSave->setDisabled(true); + ui->action_Open->setDisabled(true); + m_model->setFont(path); +} + void MainWindow::setupConnections() { connect(ui->action_Open, &QAction::triggered, this, &MainWindow::openFont); @@ -567,20 +583,8 @@ void MainWindow::openFont() tr("Open font file"), m_fontDir, tr("Fonts (*.ttf *.otf);;All files (*)")); - if (!fileName.isEmpty()) { - m_fileName.clear(); - m_fontFile = fileName; - m_fontDir = QFileInfo(fileName).absolutePath(); - m_settings.setValue(QStringLiteral("fontDirectory"), m_fontDir); - - ui->lwUnicodeRanges->clear(); - ui->lwUnicodeRanges->setDisabled(true); - ui->action_Save->setDisabled(true); - ui->action_Save_as->setDisabled(true); - ui->tbSave->setDisabled(true); - ui->action_Open->setDisabled(true); - m_model->setFont(fileName); - } + if (!fileName.isEmpty()) + open(fileName); } void MainWindow::updateProgressBar() diff --git a/src/distancefieldgenerator/mainwindow.h b/src/distancefieldgenerator/mainwindow.h index 09b4db588..dfb346a95 100644 --- a/src/distancefieldgenerator/mainwindow.h +++ b/src/distancefieldgenerator/mainwindow.h @@ -49,6 +49,8 @@ public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); + void open(const QString &path); + private slots: void openFont(); void startProgressBar(quint16 glyphCount); |